
Zitat von
Stillmatic:
Sry hab vergessen zu erwähnen das wir ein springen eines Steines nicht Programmieren müssen!
Also die Steinchen springennicht vom Ende zum Anfang!
Wikipedia (
http://de.wikipedia.org/wiki/Game_of_life#Das_Spielfeld ) sagt:

Zitat von
Wikipedia:
Da ein reales Spielfeld immer einen Rand hat, muss das Verhalten dort festgelegt werden. Man kann sich den Rand z. B. durch tote Zellen belegt denken, so dass manche Gleiter ihre Bewegungsrichtung dort ändern. Eine andere Möglichkeit ist ein Torus-förmiges Spielfeld, bei dem alles, was das Spielfeld nach unten verlässt, oben wieder herauskommt und umgekehrt, und alles, was das Spielfeld nach links verlässt, rechts wieder herauskommt und umgekehrt.
Ich habe oben gezeigt, wie man ein Torus-förimiges Spielfeld baut.
Möchte man dies nicht, dann muss man doch nur in der Function FnkNachbarn prüfen, ob X und Y noch auf dem Spielfeld sind:
Delphi-Quellcode:
Function FnkNachbarn(i,j:integer):integer;
function IstBelegt(x,y:integer):boolean;
begin
result := (x>=MIN_X) and (x<=MAX_X) and (y>=MIN_Y) and (y<=MAX_Y) and curGen[x,y];
end;
var
Nachbarn :integer;
Begin
Nachbarn:= 0;
if IstBelegt(i,j+1) then //unten
Nachbarn:= Nachbarn + 1;
...