Class Maze

  • Direct Known Subclasses:
    ArbitraryMaze, EmptyMaze, PrimMaze, RecursiveMaze

    public abstract class Maze
    extends java.lang.Object
    Le Maze est 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 abstraite generate qui doit contenir le code pour générer le Maze. Pour la génération du labyrinthe, la méthode carveWall permet de creuser des trous à partir d'une Location donné dans un Direction précise. Pour la détection d'emplacement, les méthodes isWall et isWithinBounds sont présentes. La première permet de savoir si d'une Location donné dans un Direction on retrouve un mur. La deuxième permet de tester si une Location se trouve à l'intérieur des bornes du labyrinthe.
    • Constructor Summary

      Constructors 
      Constructor Description
      Maze​(int nRow, int nCol)
      Crée un Maze d'une taille donné.
    • Method Summary

      Modifier and Type Method Description
      protected void carveWall​(Location l, Direction d)
      Creuse un mur à partir d'une Location donné dans un Direction précise.
      abstract void generate()
      Méthode de génération du Maze qui devra être implémenté.
      int getnCol()  
      int getnRow()  
      Location goal()
      La position de sortie du Maze.
      boolean isWall​(Location l, Direction d)
      Détermine si un mur est présent à partir d'une Location donné dans un Direction précise.
      boolean isWithinBounds​(Location l)
      Détermine si une Location est à l'intérieur des bornes du labyrinthe.
      WalkerState start()
      Donne l'état initiale du WalkerState qui peut se promener dans le Maze.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Maze

        public Maze​(int nRow,
                    int nCol)
        Crée un Maze d'une taille donné.
        Parameters:
        nRow - Le nombre de ligne.
        nCol - Le nombre de colonne.
    • Method Detail

      • getnCol

        public int getnCol()
      • getnRow

        public int getnRow()
      • generate

        public abstract void generate()
        Méthode de génération du Maze qui devra être implémenté.
      • start

        public WalkerState start()
        Donne l'état initiale du WalkerState qui peut se promener dans le Maze. On part toujours de la Location 0,0 en pointant le sud.
        Returns:
        L'état initiale.
      • goal

        public Location goal()
        La position de sortie du Maze. 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'une Location donné dans un Direction précise.
        Parameters:
        l - La Location d'où on regarde.
        d - La Direction dans 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'une Location donné dans un Direction précise.
        Parameters:
        l - La Location d'où on regarde.
        d - La Direction dans laquelle on regarde.
      • isWithinBounds

        public boolean isWithinBounds​(Location l)
        Détermine si une Location est à l'intérieur des bornes du labyrinthe.
        Parameters:
        l - La Location à étudier.
        Returns:
        Si la Location est à l'intérieur des bornes du labyrinthe.