Package org.hololink.labyrinth.solve
Class RecursiveWalker
- java.lang.Object
-
- org.hololink.labyrinth.solve.Walker
-
- org.hololink.labyrinth.solve.RecursiveWalker
-
public class RecursiveWalker extends Walker
Un marcheur récursif. Le marcheur récursif permet de se promener dans un labyrinthe en laissant derrière lui des morceaux qui indiquent où il a déjà passé. Quand le marcheur arrive dans un cul-de-sac, il rebrousse chemin jusqu'à ce qu'il retrouve une nouvelle piste non visitées.Voici un algorithme qui ressemble à celui du RecursiveMaze:
- À partir de la case courante du marcheur.
- On trouve les voisins de la case qui ne sont pas déjà visités et qui n'ont pas de mur entre le voisin et la case courante.
- Si il y a des voisins valides.
- On choisit une des directions des voisins valides aléatoirement.
- Push sur une pile du chemin courant la direction du marcheur.
- Sinon, si aucun voisin n'est valide.
- Pop la pile du chemin courant une direction.
- Inverse la direction.
- Avance dans la direction choisie.
-
-
Constructor Summary
Constructors Constructor Description RecursiveWalker(Maze maze, MazeDisplay md)
-
-
-
Constructor Detail
-
RecursiveWalker
public RecursiveWalker(Maze maze, MazeDisplay md)
-
-