Skip to content

Latest commit

 

History

History
19 lines (9 loc) · 1.75 KB

File metadata and controls

19 lines (9 loc) · 1.75 KB

Pour la notation d'une position, j'utilise une chaine de caractère qui est composée de blocks de 5. Le premier est : TN/// avec T la taille du plateau et N le nombre de voiture (N avait tendance à depasser 9 donc j'ai utilisé des lettres à la place avec sa place dans l'alphabet qui donne sa valeur). Ensuite toutes les voitures sont données par : /ITAO avec I l'index de la voiture (aussi une lettre), T la taille et A et O l'abscisse et l'odonnée du point la plus en haut à gauche de la voitre. Il manque l'orientation c'est normal, au milieu de la chaine de caractère il y a un block V////. Toutes les voitures avant sont horizontales toutes celles après verticales. Finalement la chaine de caractère se termine par E////. Les indices de voitures sont toujours rangés par ordre alphabétique (avec l'indice A pour la voiture rouge qui doit sortir).

Pour les mouvements c'est aussi une chaine de caractère mais de seulement 3 caractère : IdN avec I l'index de la voiture concernée, d la direction (u=up, d=down, r=right, l=left) et N le nombre de cases que fait le déplacement. C'est la notation pour tous les mouvements sauf le mouement de sortie de la voiture rouge qui est ArE.

Pour l'affichage, ce n'est pas modulable donc ça fonctionne seulement pour des grilles de 6x6 avec la voiture rouge sur la 3ème ligne ce qui représente tous les fichiers test données par le prof.

Voila un lien avec quelques grilles en 9x9 et une en 12x12 si on veut test avec : https://github.com/KaKariki02/rushHour/blob/master/README.md. Et un autre lien avec des 6x6 : https://www.reddit.com/r/puzzles/comments/17j3cpj/hardest_rush_hour_puzzle_for_every_possible/ Et voila un lien assez complet qui regroupe un peu tout : https://www.michaelfogleman.com/rush/#Top23