Récréation
Pour construire un labyrinthe de forme aléatoire, on peut utiliser l'algorithme suivant:
1)
Définir un réseau de N cellules carrées
(N = hauteur*largeur) et les initialiser
comme non visitées (cellules closes avec 4 murs).
2) Choisir une cellule origine (position arbitraire).
3)
Tester les 4 cellules voisines (nord, est, sud, ouest) pour déterminer celles
qui ont déjà été visitées.
4) Si les 4 voisines ont déjà été visitées, ajuster
les pointeurs de cellule jusqu'à trouver une cellule déjà visitée limitrophe
d'au moins une cellule non visitée.
5) Choisir aléatoirement une cellule
parmi les cellules non visitées limitrophes.
6) Y aller et créer une ouverture
entre cette cellule et celle que l'on quitte.
7) Boucler vers 3 tant que
toutes les N cellules non pas été visitées.
8) Créer une entrée et une sortie
à la périphérie du labyrinthe. Comme toutes les cellules sont connectées, les
positions des entrée et sortie peuvent être quelconques.
Dans le programme, largeur et hauteur doivent être comprises entre 5 et 24.
La programmation de la création d'un labyrinthe présente beaucoup d'analogies avec la simulation des problèmes de percolation dans des milieux à deux dimensions.