Les points d'entrée et de sortie sont à chaque fois redéfinis.
Le parcours se fait de haut en bas (très arbitraire...).
Le labyrinthe est volontairement imparfait: plusieurs solutions sont possibles.
Le trajet de la tortue sera toujours le plus court possible.
Vous pouvez transformer la tortue en lièvre en changeant la variable "vitesse".
Vous pouvez aussi redéfinir la taille du labyrinthe ("large" et "haut").
S'il n'y a pas d'issue, un nouveau labyrinthe est reconstruit automatiquement.
A la première étape, on cherche les cases adjacentes disponibles à partir du départ.
On crée 1 parcours par case disponible.
On enregistre ces nouvelles cases.
Aux étapes suivantes, on cherche les cases adjacentes disponibles pour la dernière case de chaque parcours parmi celles qui n'ont pas été enregistrées.
Quand une nouvelle case a été utilisée pour un parcours, elle est enregistrée.
Elle ne peut donc pas servir pour prolonger d'autres parcours, qui sont donc effacés.
On efface les parcours dont le nombre de cases est inférieur à l'étape courante.
On a donc un nombre réduit de parcours à chaque étape qui correspondent toujours au nombre de déplacements optimal.