Rush Hour & A*

Visualiseur de l'algorithme A* sur deux environnements : une grille à relief aléatoire, et le puzzle Rush Hour (sortir la voiture rouge de l'embouteillage). Portage web d'un sketch Processing.

Grille (mode par défaut)

Placer la souris sur une case, puis :

  • 1 — poser le départ (vert)
  • 2 — poser l'arrivée (rouge)
  • 3 / 4 — creuser / élever le relief sous la souris (maintenir la touche pour sculpter en continu)
  • 5 — aplanir la grille
  • Espace — lancer A*

Le coût d'un déplacement est la différence de hauteur entre deux cases : le chemin contourne les pentes. Bleu = cases vues, cyan clair = explorées, cyan vif = chemin retenu.

Rush Hour

  • 6 — basculer entre la grille et Rush Hour
  • 1 / 2 — niveau précédent / suivant (8 niveaux)
  • Espace — résoudre le niveau

Chaque état du plateau est un nœud du graphe ; A* cherche la plus courte suite de déplacements amenant la voiture rouge à la sortie (à droite de la troisième ligne), puis rejoue la solution pas à pas.

Code source

Le sketch Processing d'origine : Path_Finding.pde, AStar.pde, PathfindingEnv.pde, GridEnv.pde, RushHourEnv.pde. La version qui tourne sur cette page est un portage JavaScript : pathfinding.js (logique) et sketch.js (affichage p5.js).