|
|
# L'option Tuto
|
|
|
|
|
|
Nous avons décidé d'ajouter une option tuto à poqb.py afin d'avoir un tutoriel pour résoudre le cube plus facilement.
|
|
|
Nous avons décidé d'ajouter une option tuto à poqb.py afin d'avoir un tutoriel pour résoudre le cube plus facilement. En plus de la suite de mouvements à effectuer pour résoudre le cube,
|
|
|
on afficher l'état du cube à chaque mouvement.
|
|
|
|
|
|
![Capture_d_écran_2016-01-13_à_21.27.38](https://gitlab.univ-nantes.fr/E132397K/Ragnulf/uploads/02eeb77c2c34ebb70b55e2c13b73ee1c/Capture_d_écran_2016-01-13_à_21.27.38.png)
|
|
|
|
|
|
# L'animation ASCII (complément du tuto)
|
|
|
|
... | ... | @@ -17,6 +20,17 @@ La vitesse par défaut du tuto en mode auto pour l'utilisateur est de 0.5 mouvem |
|
|
|
|
|
# Heuristique
|
|
|
|
|
|
Chaque fonction cherche une suite de mouvements à effectuer afin de résoudre son étape pour obtenir à la fin un cube fini. Ainsi à chaque étape on concatène les nouveaux mouvements aux anciens pour arriver à la liste de mouvements finaux. Cependant nous nous sommes dit que cette concaténation pouvait entraîner la création de mouvements inutiles ! En effet si les mouvements issus de la première fonction se termine par un mouvement U et que les mouvements issues de la deuxième fonction commencent par un mouvement U' par exemple, il se trouve que le mouvement résultant est le mouvement nul, nous avons donc eu pour idée de créer un script qui chasserait les raccourcis à travers la chaîne de mouvements finale ! Vous pouvez voir les détails dans ce fichier [heuristique](https://gitlab.univ-nantes.fr/E132397K/Ragnulf/tree/master/heuristique#quelques-stats).
|
|
|
Chaque fonction de l'algorithme CFOP cherche une suite de mouvements à effectuer afin de résoudre son étape pour obtenir à la fin un cube fini. On concatène ainsi à chaque étape les nouveaux mouvements aux anciens pour arriver à la liste de mouvements finaux.
|
|
|
|
|
|
Cependant nous nous sommes dit que cette concaténation pouvait entraîner la création de mouvements inutiles ! En effet si les mouvements issus de la première fonction se terminent par un mouvement U et que les mouvements issues de la deuxième fonction commencent par un mouvement U', par exemple, on crée deux mouvements inutiles (U U'). nous avons donc eu pour idée de créer un script qui chasserait les raccourcis à travers la chaîne de mouvements finale ! Vous pouvez voir les détails dans ce fichier [heuristique](https://gitlab.univ-nantes.fr/E132397K/Ragnulf/tree/master/heuristique#quelques-stats).
|
|
|
|
|
|
# Tests unitaires
|
|
|
|
|
|
Quelques tests unitaires ont été créés. Plus d'infos [ici](https://gitlab.univ-nantes.fr/E132397K/Ragnulf/blob/master/tests/README.md).
|
|
|
|
|
|
![Capture_d_écran_2016-01-13_à_18.21.01](https://gitlab.univ-nantes.fr/E132397K/Ragnulf/uploads/e6a54c3276aa026821ad780f39e93715/Capture_d_écran_2016-01-13_à_18.21.01.png)
|
|
|
|
|
|
|
|
|
![Capture_d_écran_2016-01-13_à_18.21.18](https://gitlab.univ-nantes.fr/E132397K/Ragnulf/uploads/64fb62f5232a672e0a6e262c35a55f60/Capture_d_écran_2016-01-13_à_18.21.18.png)
|
|
|
|
|
|
*Résultat du tests (en particulier `algo_cfop()` testé avec 1 million de cubes)* |
|
|
\ No newline at end of file |