Class Life


  • public class Life
    extends java.lang.Object
    Life représente le Conways's Game of Life. Le jeu de la vie est un automate cellulaire imaginé par John Horton Conway en 1970. Le jeu se joue sans joueur et est représenté sur un tableau de cellule. Chaque cellule peut être vivante ou morte. Le jeu se joue en des génération successive ou les cellule peuvent changé d'état selon ses cellules adjcentes et selon les règles suivantes :
    • Une cellule morte possédant exactement trois voisines vivantes devient vivante (elle naît).
    • Une cellule vivante possédant deux ou trois voisines vivantes le reste, sinon elle meurt.
    Le tableau de cellule est considéré "sans-limite"; si l'on atteind un côté, on continue sur l'opposé du côté.
    See Also:
    Cell, CellState, Neighborhood
    • Constructor Summary

      Constructors 
      Constructor Description
      Life()
      Construit le jeu avec un tableau de 10x10.
      Life​(int row, int column)
      Construit le tableau avec un nombre fixe de ligne et de colonne.
    • Method Summary

      Modifier and Type Method Description
      void addBlinker​(int row, int col)
      Ajoute une forme de Blinker à un endroit précis.
      void addBlock​(int row, int col)
      Ajoute une forme de Block à un endroit précis.
      void addRPentomino​(int row, int col)
      Ajoute une forme de R-pentomino à un endroit précis.
      CellState[][] getGrid()
      Retourne l'état de chaque cellule du jeu.
      void nextGeneration()
      Avance le jeu à la nouvelle génération.
      • Methods inherited from class java.lang.Object

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

      • Life

        public Life()
        Construit le jeu avec un tableau de 10x10.
      • Life

        public Life​(int row,
                    int column)
        Construit le tableau avec un nombre fixe de ligne et de colonne.
        Parameters:
        row - Le nombre de colonne du tableau.
        column - Le nombre de ligne du tableau.
    • Method Detail

      • nextGeneration

        public void nextGeneration()
        Avance le jeu à la nouvelle génération. Vérifie les voisins adjecents de chaque cellule et ajuste l'état de la cellule en conséquence.
        See Also:
        Neighborhood
      • getGrid

        public CellState[][] getGrid()
        Retourne l'état de chaque cellule du jeu.
        Returns:
        Retourne les états des cellule du tableau.
      • addBlock

        public void addBlock​(int row,
                             int col)
        Ajoute une forme de Block à un endroit précis. Écrase les case environnantes pour placer la forme suivante :
         
         ....
         .**.
         .**.
         ....
         
         
        Les * sont des cellules vivantes.
        Parameters:
        row - Indice de ligne de la case supérieure gauche où insérer le Block dans le tableau.
        col - Indice de colonne de la case supérieure gauche où insérer le Block dans le tableau.
      • addBlinker

        public void addBlinker​(int row,
                               int col)
        Ajoute une forme de Blinker à un endroit précis. Écrase les case environnantes pour placer la forme suivante :
         
         .....
         .....
         .***.
         .....
         .....
         
         
        Les * sont des cellules vivantes.
        Parameters:
        row - Indice de ligne de la case supérieure gauche où insérer le Blinker dans le tableau.
        col - Indice de colonne de la case supérieure gauche où insérer le Blinker dans le tableau.
      • addRPentomino

        public void addRPentomino​(int row,
                                  int col)
        Ajoute une forme de R-pentomino à un endroit précis. Écrase les case environnantes pour placer la forme suivante :
         
         .....
         ..**.
         .**..
         ..*..
         .....
         
         
        Les * sont des cellules vivantes.
        Parameters:
        row - Indice de ligne de la case supérieure gauche où insérer le R-pentomino dans le tableau.
        col - Indice de colonne de la case supérieure gauche où insérer le R-pentomino dans le tableau.