Bonjour,
Je viens de mettre en ligne un nouvel exemple qui permet de générer des labyrinthes aléatoires. Cela peut servir en 2D ou en 3D.
J'ai implémenté dans l'unité uLabyrinthe.pas la génération via la fusion aléatoire (pour plus de détails, consultez la page Wikipedia : https://fr.wikipedia.org/wiki/Mod%C3..._de_labyrinthe).
Cela permet de générer des labyrinthes dits parfaits (un chemin unique). J'ai ajouté une notion de complexité avec un niveau d'ouverture. Cela permet, après avoir généré un labyrinthe parfait, de casser des murs afin d'avoir des salles. Le niveau d'ouverture permet de produire des salles plus ou moins grandes.
Dans mon code, le labyrinthe est fermé (clôturé par des murs) car il s'agissait de borner l'aire de jeu. Ce code peut être utilisé conjointement avec le code de pathfinding (que j'avais publié ici) pour gérer des ennemis et ainsi créer, par exemple, des jeux de type pacman en 2D ou 3D facilement.
Le projet est disponible sur mon repo GitHub : https://github.com/gbegreg/RandomMaze
J'ai mis en ligne une vidéo d'exemple :
Partager