Package org.hololink.labyrinth.generate
Class PrimMaze
- java.lang.Object
-
- org.hololink.labyrinth.generate.Maze
-
- org.hololink.labyrinth.generate.PrimMaze
-
public class PrimMaze extends Maze
Génère un labyrinthe avec l'algorithme de Prim. L'algorithme de Prim est un algorithme utilisant un arbre couvrant de poids minimal.Voici un algorithme basé sur Wikipedia
- Sélectionnez une première case aléatoirement. Ajoutez-la à une liste de cases générées.
- Ajoutez les cases adjecentes à cette première case à une deuxième liste de cases de murs.
- While la liste de murs n'est pas vide:
- Sélectionnez une case aléatoirement de la liste des murs.
- Sélectionnez une case qui est adjacente à la case choisie de la liste des murs et qui est dans la liste des cases générées
- Creusez entre les deux cases sélectionnées.
- Ajoutez la première case sélectionnée à la liste des cases générées.
- Ajoutez les cases adjacentes de la première case sélectionnée à la liste des murs. N'ajoutez pas les cases dans la liste de cases générées.
- Enlevez la première case sélectionnée à la liste de murs.
-
-
Constructor Summary
Constructors Constructor Description PrimMaze(int nRow, int nCol)
-