/** * {@link Cell} instances represent the cells of <i>The Game of Life</i>. */ public class Cell { private boolean isAlive; private boolean isRed; public Cell(){ this.isAlive = false; } public void setisRed(boolean bool){ this.isRed = bool; } public boolean isRed(){ return this.isRed; } /** * 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. * */ public void setAlive() { this.isAlive = true; } /** * Sets the state of this {@link Cell} to dead. * */ 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; } } }