Skip to content
Snippets Groups Projects
GameOfLifeAutomaton.java 850 B
Newer Older
  • Learn to ignore specific revisions
  • Guyslain's avatar
    Guyslain committed
    package model.automata;
    
    
    Guyslain's avatar
    Guyslain committed
    import model.CellularAutomaton;
    
    
    Guyslain's avatar
    Guyslain committed
    import java.util.Random;
    
    
    Guyslain's avatar
    Guyslain committed
    public class GameOfLifeAutomaton implements CellularAutomaton<GameOfLifeState> {
    
    SAHIN Melis damla's avatar
    TP  
    SAHIN Melis damla committed
        private final int numberOfColumns;
        private final int numberOfRows;
    
        public GameOfLifeAutomaton(int numberOfColumns, int numberOfRows) {
    
            this.numberOfColumns = numberOfColumns;
            this.numberOfRows = numberOfRows;
    
    Guyslain's avatar
    Guyslain committed
        }
    
        @Override
        public int numberOfColumns() {
    
            return numberOfColumns;
    
    Guyslain's avatar
    Guyslain committed
        }
    
        @Override
        public int numberOfRows() {
    
            return numberOfRows;
    
    Guyslain's avatar
    Guyslain committed
        }
    
        @Override
        public GameOfLifeState defaultState() {
    
            return GameOfLifeState.DEAD;
    
    Guyslain's avatar
    Guyslain committed
        }
    
        @Override
        public GameOfLifeState randomState(Random generator) {
    
            return generator.nextBoolean() ? GameOfLifeState.ALIVE : GameOfLifeState.DEAD;
    
    Guyslain's avatar
    Guyslain committed
        }
    
    SAHIN Melis damla's avatar
    TP  
    SAHIN Melis damla committed
    }