Skip to content
Snippets Groups Projects
Select Git revision
  • adb13dc861839c3dd5b4f6e8de40cc123d008c74
  • master default protected
2 results

Cell.java

Blame
  • Forked from DAS Shantanu / Prog2Aix-tp3
    Up to date with the upstream repository.
    user avatar
    Alexis Nasr authored
    adb13dc8
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Cell.java 1.53 KiB
    /**
     * {@link Cell} instances represent the cells of <i>The Game of Life</i>.
     */
    
    public class Cell {
        private boolean isAlive;
    
        public Cell(){
    	this.isAlive = false;
        }
        
        /**
         * Determines whether this {@link Cell} is alive or not.
         *
         * @return {@code true} if this {@link Cell} is alive and {@code false} otherwise
         */
    
        public boolean isAlive() {
            return this.isAlive;
        }
    
        /**
         * Determines whether this {@link Cell} is dead or not.
         *
         * @return {@code true} if this {@link Cell} is dead and {@code false} otherwise
         */
    
        public boolean isDead() {
            return !this.isAlive;
        }
    
        /**
         * Sets the state of this {@link Cell} to alive.
         *
         * @param cellState the new state of this {@link Cell}
         */
    
        public void setAlive() {
    	this.isAlive = true;
        }
    
        /**
         * Sets the state of this {@link Cell} to dead.
         *
         * @param cellState the new state of this {@link Cell}
         */
    
        public void setDead() {
    	this.isAlive = false;
        }
    
    
        /**
         * Change the state of this {@link Cell} from ALIVE to DEAD or from DEAD to ALIVE.
         */
    
        public void toggleState() {
    	if(this.isAlive)
    	    this.isAlive = false;
    	else
    	    this.isAlive = true;
        }
    
        public boolean isAliveInNextState(int numberOfAliveNeighbours) {
    	if(isAlive()){
    	    if (numberOfAliveNeighbours == 2 ||  numberOfAliveNeighbours == 3)
    		return true;
    	    else
    		return false;
    	}
    	else{
    	    if (numberOfAliveNeighbours == 3)
    		return true;
    	    else
    		return false;
    	}
        }
    }