This commit is contained in:
Ninja-Jambon 2024-02-20 20:19:03 +01:00
parent 56e0195600
commit 4f59633394
4 changed files with 74 additions and 0 deletions

20
algo.txt Normal file
View file

@ -0,0 +1,20 @@
Setup:
- Taille de la grille
- Obstacles
- Départ du rayon (avec l'orientation)
- Point d'arrivée
Déplacement:
- A chaque position on teste à gauche, à droite et en face
- Si en face, ne pas mettre de miroir et continuer
- Si a gauche ou à droite, mettre un miroir
- Si aucune solution, retour en arrirère (backtrack)
- Exceptions:
- Impossible de mettre un miroir sur un rayon déjà existant
- Impossible de viser la base du laser
- Impossible de finir dans un cul de sac (sauf si fin)
- /!\ attention aux cases vides non accessibles
Condition de fin:
- Si la pile est vide cela veut dire que toute les possibilités ont été testés et donc on renvoie la meilleure
- La meilleur solution est celle qui remplie le plus de cases vides avec le moins de miroirs