/media/sda-magnetic/david/Dok-15-2023-11-27/fernuni-hagen/cs-i-ii/old-cs-2-01/java-fernuni-hagen-2021-10-28/GameOfLife.java


public class GameOfLife {
    boolean[][] feld = {
            { false, false, false, false, false },
            { false, false, true, false, false },
            { false, false, true, false, false },
            { false, false, true, false, false },
            { false, false, false, false, false } 
        };
    public static void main(String[] args) {
        GameOfLife myGame = new GameOfLife();
        for (int i = 0; i < 10; i++) {
            myGame.nextGeneration();
            myGame.print();
            System.out.println();
        }
    }
    void print() {
        for (int i = 0; i < feld.length; i++) {
            for (int j = 0; j < feld[i].length; j++) {
                if (feld[i][j] == true)
                    System.out.print("o ");
                else
                    System.out.print(". ");
            }
            System.out.println();
        }
    }
    void nextGeneration() {
        int i;
        int j;
        int count = 0;
        
        for (i = 1;  i < feld.length-1;  i++) {
            for (j = 1, count = 0;  j < feld[i].length-1;  j++) {
                if (feld [i-1][j-1])
                    count++;
                if (feld [i-1][j+0])
                    count++;
                if (feld [i-1][j+1])
                    count++;

                if (feld [i-0][j-1])
                    count++;
                if (feld [i-0][j+1])
                    count++;

                    
                if (feld [i+1][j-1])
                    count++;
                if (feld [i+1][j+0])
                    count++;
                if (feld [i+1][j+1])
                    count++;
                    
                if (feld [i][j] && ((count == 3) || (count == 2)));
                else if (feld [i][j] && (count < 2))
                    feld [i][j] = false;
                else if (feld [i][j] && (count > 3))
                    feld [i][j] = false;
                else if (!feld [i][j] && (count == 3))
                    feld [i][j] = true;
            }
        }
    }
}