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;
}
}
}
}