Select Git revision
ByteGrayColorTest.java
-
LABOUREL Arnaud authoredLABOUREL Arnaud authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
GameOfLifeState.java 1.02 KiB
package model.automata;
import javafx.scene.paint.Color;
import model.State;
import java.util.List;
/**
* {@link GameOfLifeState} instances represent the possible states of a {@link GameOfLifeState}.
*/
public enum GameOfLifeState implements State<GameOfLifeState> {
ALIVE, DEAD;
@Override
public Color getColor() {
switch(this) {
case ALIVE:
return Color.RED;
case DEAD:
return Color.WHITE;
}
return Color.BLACK;
}
@Override
public GameOfLifeState next() {
if (this == GameOfLifeState.ALIVE) {
return GameOfLifeState.DEAD;
}
else if (this == GameOfLifeState.DEAD) {
return GameOfLifeState.ALIVE;
}
}
@Override
public GameOfLifeState update(List<GameOfLifeState> neighbours) {
int count = State.count(ALIVE, neighbours);
if (count == 3) return ALIVE ;
if ((count == 2) && this.equals(ALIVE))return ALIVE ;
return DEAD ;
}
}