Einzelnen Beitrag anzeigen

Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Game Of Life - ich könnte etwas Hilfe gebrauchen, bitte

  Alt 9. Feb 2008, 16:41
Zitat von marabu:
Delphi-Quellcode:
const
  LifeSymbol: array [Boolean] of Char = (' ', '0'); // 0 = Leben, Leerzeichen = kein Leben

procedure TForm1.Button3Click(Sender: TObject);
var
  i, j, k, l, counter: Integer; // hier und nicht anderswo
begin
  for i := 1 to 8 do
    for j:= 1 to 8 do
    begin // block beginnen
      counter := 0; // initialisieren
      Inc(counter, Ord(OL[i - 1, j - 1]));
      Inc(counter, Ord(OL[i + 1, j + 1]));
      Inc(counter, Ord(OL[i + 1, j - 1]));
      Inc(counter, Ord(OL[i - 1, j + 1]));
      Inc(counter, Ord(OL[i, j - 1]));
      Inc(counter, Ord(OL[i, j + 1]));
      Inc(counter, Ord(OL[i - 1, j]));
      Inc(counter, Ord(OL[i + 1, j]));
      NL[i,j] := counter in [2, 3];
      StringGrid1.Cells[i, j] := LifeSymbol[NL[i, j]];
    end; // block beenden
end;
Geht auch kürzer:
Delphi-Quellcode:
const
  LifeSymbol: array [Boolean] of Char = (' ', '0'); // 0 = Leben, Leerzeichen = kein Leben

procedure TForm1.Button3Click(Sender: TObject);
var
  i, j, counter: Integer; // hier und nicht anderswo
begin
  for i := 1 to 8 do
    for j:= 1 to 8 do
    begin // block beginnen
      counter := 0; // initialisieren
      for k := -1 to 1 do
        for l := -1 to 1 do
          Inc(counter, Ord(OL[i+k, j+l]));
      NL[i,j] := counter in [2, 3];
      StringGrid1.Cells[i, j] := LifeSymbol[NL[i, j]];
    end; // block beenden
end;
(Ungetestet)
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat