Einzelnen Beitrag anzeigen

fabiO

Registriert seit: 5. Dez 2004
Ort: Jena
41 Beiträge
 
Delphi 6 Personal
 
#6

Re: Schwierigkeiten mit Game of Life Algorithmus

  Alt 12. Dez 2005, 00:13
Mhh dein Code, mit der überlebenden Zelle, leuchtet nich so ganz ein!

Delphi-Quellcode:
if (alt [i,k] = 0) AND (nachbarn(i,k) = 2)
        then alt[i,k] := 1;
Dass würde ja beudeten, dass ein Feld, das vorher tot war und 2 lebende Nachbarn besitzt, nun lebendig ist, und das wäre ja gegen die Spielregeln.

Das mit den überlebenden habe ich mal so eingearbeitet:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var i,k : Integer;
begin
  for i := 1 to high(alt) do
    for k := 1 to length(alt) do
    begin
      if (alt[i,k] = 1) AND (nachbarn(i,k) = (2 or 3))
        then neu[i,k] := 1
        else neu[i,k] := 0;

      if (alt [i,k] = 0) AND (nachbarn(i,k) = 3)
        then neu[i,k] := 1;
    end;

  einlesen;
  ausgeben;
end;
Also falls eine Zelle lebt (=1) und sie 2 ODER 3 lebende Nachbarn hat, lebt sie weiter (:=1).
Andernfalls stirbt sie (:=0).

Falls eine Zelle tot ist und genau 3 lebende Nachbarn hat, wird sie belebt (:=1).

Aber trotzdem erhalte ich dieses Bild:

[o][o][x][o][o]
[o][o][o][o][o]
[o][o][x][o][o]

d.h. es wird immernoch nicht richtig umgesetzt...?!?
  Mit Zitat antworten Zitat