class GameOfLife
{
public int feld [][];
public int tempFeld[][];
public int tempAnzahl;
public int feldHoehe=20;
public int feldBreite=20;
public char choise='j';
void ersteGenerationSetzen(){
feld[1][2]=1;
feld[2][3]=1;
feld[3][1]=1;
feld[3][2]=1;
feld[3][3]=1;
}
void pruefe(){
for(int i=1;i<=feldHoehe;i++){
for (int j=1;j<=feldBreite;j++){
tempAnzahl=feld[i-1][j-1]+feld[i][j-1]+feld[i+1][j-1]+feld[i-1][j]+feld[i+1][j]+feld[i-1][j+1]+feld[i][j+1]+feld[i+1][j+1];
//IO.print("s"+tempAnzahl);
if(feld[i][j]==1&&(tempAnzahl==2||tempAnzahl==3)){
tempFeld[i][j]=1;
}
if(tempAnzahl!=2&&tempAnzahl!=3&&feld[i][j]==1){
tempFeld[i][j]=0;
}
if(tempAnzahl==3&&feld[i][j]==0){
tempFeld[i][j]=1;
}
}
}
for(int i=1;i<=feldHoehe;i++){
for (int j=1;j<=feldBreite;j++){
feld[i][j]=tempFeld[i][j];
}
}
IO.println("");
}
void zeichne()
{
for(int i=1;i<=feldHoehe;i++){
for (int j=1;j<=feldBreite;j++){
IO.print(""+feld[i][j]);
}
IO.println("");
}
IO.println("");
}
public static void main (String[] args)
{
GameOfLife GoL=new GameOfLife();
IO.println("Geben Sie die hoehe des Feldes ein: ");
GoL.feldHoehe=IO.readInt();
IO.println("Geben Sie die breite des Feldes ein: ");
GoL.feldBreite=IO.readInt();
GoL.feld=new int [GoL.feldHoehe+2][GoL.feldBreite+2];
GoL.tempFeld=new int [GoL.feldHoehe+2][GoL.feldBreite+2];
GoL.ersteGenerationSetzen();
GoL.zeichne();
while(GoL.choise=='j'){
GoL.pruefe();
GoL.zeichne();
IO.println("Wollen Sie noch ein Zyklus durchlaufen? (j/n): ");
GoL.choise=IO.readChar();
}
}
}
Comments