Hallo ich versuche gerade das spiel des lebens mit bluej zu programmieren ,aber es funktioniert net
/**
* Trägt attribute Tod oder lebendig
*
* @Jens Heinrich
* @0.1
* */
public class Zelle
{
private int LiveOrDeath;
/**
* Gibt an ob sie Tod ist oder lebt
*/
public Zelle()
{
LiveOrDeath = 0;
}
public void kill()
{
LiveOrDeath=0;
}
public void revive()
{
LiveOrDeath=1;
}
public int AreUAlive()
{
return LiveOrDeath;
}
}
/**
* The real Game
*
* @Jens Heinrich
* @0.1
*/
public class Game
{
private Zelle[][] playing;
private Zelle[][] working;
public int höhe;
public int breite;
public Game(int Höhe,int Breite)
/*min grösse 3mal 3
*/
{
höhe = Höhe;
breite = Breite;
playing = new Zelle[höhe][breite];
working = new Zelle[höhe][breite];
FillWithDead();
}
public void FillWithDead()
{
for(int i=0;i<höhe;i++)
{
for(int j=0;j<breite;j++)
{
playing[j]=new Zelle();
working[j]=new Zelle();
}
};
}
public int CountLivingAround(int x,int y)
{
int z;
if((x==0)&&(y==0))
{
z=playing[x][y+1].AreUAlive();
z=z+playing[x+1][y].AreUAlive();
z=z+playing[x+1][y+1].AreUAlive();
z=z+playing[x][breite-1].AreUAlive();
z=z+playing[höhe-1][y].AreUAlive();
z=z+playing[höhe-1][breite-1].AreUAlive();
z=z+playing[höhe-1][y+1].AreUAlive();
z=z+playing[x+1][breite-1].AreUAlive();
}
/*
* links oben
*/
else if((x==0)&&(y==breite))
{
z=playing[x][y-1].AreUAlive();
z=z+playing[x+1][y].AreUAlive();
z=z+playing[x+1][y-1].AreUAlive();
z=z+playing[0][0].AreUAlive();
z=z+playing[1][0].AreUAlive();
z=z+playing[höhe-1][breite-1].AreUAlive();
z=z+playing[höhe-1][breite-2].AreUAlive();
z=z+playing[höhe-1][0].AreUAlive();
}
/*
* rechts oben
*/
else if(x==0)
{
z=playing[x][y+1].AreUAlive();
z=z+playing[x][y-1].AreUAlive();
z=z+playing[x+1][y+1].AreUAlive();
z=z+playing[x+1][y-1].AreUAlive();
z=z+playing[x+1][y].AreUAlive();
z=z+playing[höhe-1][y].AreUAlive();
z=z+playing[höhe-1][y+1].AreUAlive();
z=z+playing[höhe-1][y-1].AreUAlive();
}
/*
* mitte oben
*/
else if((x==höhe)&&(y==0))
{
z=playing[x][y+1].AreUAlive();
z=z+playing[x-1][y].AreUAlive();
z=z+playing[x-1][y+1].AreUAlive();
z=z+playing[x][breite-1].AreUAlive();
z=z+playing[0][y].AreUAlive();
z=z+playing[0][breite-1].AreUAlive();
z=z+playing[0][y+1].AreUAlive();
z=z+playing[x-1][breite-1].AreUAlive();
}
/*
* links unten
*/
else if((x==höhe)&&(y==breite))
{
z=playing[x][y-1].AreUAlive();
z=z+playing[x-1][y].AreUAlive();
z=z+playing[x-1][y-1].AreUAlive();
z=z+playing[0][0].AreUAlive();
z=z+playing[0][y].AreUAlive();
z=z+playing[0][y-1].AreUAlive();
z=z+playing[x][0].AreUAlive();
z=z+playing[x-1][0].AreUAlive();
}
/*
* rechts unten
*/
else if(x==höhe)
{
z=playing[x][y+1].AreUAlive();
z=z+playing[x][y-1].AreUAlive();
z=z+playing[x-1][y+1].AreUAlive();
z=z+playing[x-1][y-1].AreUAlive();
z=z+playing[x-1][y].AreUAlive();
z=z+playing[0][y].AreUAlive();
z=z+playing[0][y+1].AreUAlive();
z=z+playing[0][y-1].AreUAlive();
}
/*
* mitte unten
*/
else if(y==0)
{
z=playing[x][y+1].AreUAlive();
z=z+playing[x][breite].AreUAlive();
z=z+playing[x-1][y+1].AreUAlive();
z=z+playing[x-1][breite].AreUAlive();
z=z+playing[x-1][y].AreUAlive();
z=z+playing[x+1][y].AreUAlive();
z=z+playing[x+1][y+1].AreUAlive();
z=z+playing[x+1][breite].AreUAlive();
}
/*
* links mitte
*/
else if(y==breite)
{
z=playing[x][y-1].AreUAlive();
z=z+playing[x][0].AreUAlive();
z=z+playing[x-1][0].AreUAlive();
z=z+playing[x-1][y-1].AreUAlive();
z=z+playing[x-1][y].AreUAlive();
z=z+playing[x+1][y].AreUAlive();
z=z+playing[x+1][0].AreUAlive();
z=z+playing[x+1][y-1].AreUAlive();
}
/*
* rechts mitte
*/
else
{
z=playing[x][y-1].AreUAlive();
z=z+playing[x][y+1].AreUAlive();
z=z+playing[x-1][y+1].AreUAlive();
z=z+playing[x-1][y-1].AreUAlive();
z=z+playing[x-1][y].AreUAlive();
z=z+playing[x+1][y].AreUAlive();
z=z+playing[x+1][y+1].AreUAlive();
z=z+playing[x+1][y-1].AreUAlive();
}
/*
* mitte mitte
*/
return z;
}
public int WayOfLive(int z)
{
if((z==2)||(z==3))
{
return 1;
}
else
{
return 0;
}
}
public void nextGeneration()
{
for(int i=0;i<höhe;i++)
{
for(int j=0;j<breite;j++)
{
int C=CountLivingAround(i,j);
if (WayOfLive©==1)
{
working[j].revive();
}
else
{
working[j].kill();
}
}
}
for(int i=0;i<höhe;i++)
{
for(int j=0;j<breite;j++)
{
playing[j]=working[j];
}
};
}
public void Ausgabe()
{
for(int i=0;i<höhe;i++)
{
for(int j=0;j<breite;j++)
{
int q=playing[j].AreUAlive();
System.out.print(" "+q+" ");
}
System.out.println();
};
}
public void SetSomeCellsAlive(int x,int y)
{
playing[x][y].revive();
}
}
und wie kann ich das wieter in ein applet umsetzen