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 25.

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.


Retour au menu.