Class 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:

    1. À partir de la case courante du marcheur.
    2. 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.
    3. Si il y a des voisins valides.
      1. On choisit une des directions des voisins valides aléatoirement.
      2. Push sur une pile du chemin courant la direction du marcheur.
    4. Sinon, si aucun voisin n'est valide.
      1. Pop la pile du chemin courant une direction.
      2. Inverse la direction.
    5. Avance dans la direction choisie.
    • Field Summary

    • Method Summary

      Modifier and Type Method Description
      static void main​(java.lang.String[] args)  
      void nextStep()
      Fait bouger le marcheur vers sa prochaine étape.
      • Methods inherited from class org.hololink.labyrinth.solve.Walker

        walk
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • nextStep

        public void nextStep()
        Description copied from class: Walker
        Fait bouger le marcheur vers sa prochaine étape.
        Specified by:
        nextStep in class Walker
      • main

        public static void main​(java.lang.String[] args)