Package org.hololink.labyrinth.generate
Class Maze
- java.lang.Object
-
- org.hololink.labyrinth.generate.Maze
-
- Direct Known Subclasses:
ArbitraryMaze,EmptyMaze,PrimMaze,RecursiveMaze
public abstract class Maze extends java.lang.ObjectLeMazeest la représentation d'un Labyrinthe. Cette classe abstraire offrent les services essentieles pour construire des labyrinthes. La création se fait à partir d'un nombre de ligne et colonne initiale dans le constructeur suivit d'un appel à la méthode abstraitegeneratequi doit contenir le code pour générer leMaze. Pour la génération du labyrinthe, la méthodecarveWallpermet de creuser des trous à partir d'uneLocationdonné dans unDirectionprécise. Pour la détection d'emplacement, les méthodesisWalletisWithinBoundssont présentes. La première permet de savoir si d'uneLocationdonné dans unDirectionon retrouve un mur. La deuxième permet de tester si uneLocationse trouve à l'intérieur des bornes du labyrinthe.
-
-
Constructor Summary
Constructors Constructor Description Maze(int nRow, int nCol)Crée unMazed'une taille donné.
-
Method Summary
Modifier and Type Method Description protected voidcarveWall(Location l, Direction d)Creuse un mur à partir d'uneLocationdonné dans unDirectionprécise.abstract voidgenerate()Méthode de génération duMazequi devra être implémenté.intgetnCol()intgetnRow()Locationgoal()La position de sortie duMaze.booleanisWall(Location l, Direction d)Détermine si un mur est présent à partir d'uneLocationdonné dans unDirectionprécise.booleanisWithinBounds(Location l)Détermine si uneLocationest à l'intérieur des bornes du labyrinthe.WalkerStatestart()Donne l'état initiale duWalkerStatequi peut se promener dans leMaze.
-
-
-
Method Detail
-
getnCol
public int getnCol()
-
getnRow
public int getnRow()
-
generate
public abstract void generate()
Méthode de génération duMazequi devra être implémenté.
-
start
public WalkerState start()
Donne l'état initiale duWalkerStatequi peut se promener dans leMaze. On part toujours de laLocation0,0 en pointant le sud.- Returns:
- L'état initiale.
-
goal
public Location goal()
La position de sortie duMaze. Est toujours la postition en base à droite.- Returns:
- La position de la sortie du labyrinthe.
-
isWall
public boolean isWall(Location l, Direction d)
Détermine si un mur est présent à partir d'uneLocationdonné dans unDirectionprécise.- Parameters:
l- LaLocationd'où on regarde.d- LaDirectiondans laquelle on regarde.- Returns:
- Si il y a un mur à l'endroit donné.
-
carveWall
protected void carveWall(Location l, Direction d)
Creuse un mur à partir d'uneLocationdonné dans unDirectionprécise.- Parameters:
l- LaLocationd'où on regarde.d- LaDirectiondans laquelle on regarde.
-
isWithinBounds
public boolean isWithinBounds(Location l)
Détermine si uneLocationest à l'intérieur des bornes du labyrinthe.- Parameters:
l- LaLocationà étudier.- Returns:
- Si la
Locationest à l'intérieur des bornes du labyrinthe.
-
-