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