Hallo zusammen,
ich bin neu hier im Forum
.
Ich muss für den Informatik Unterricht bis nächste Woche das altbekannte "Game Of Life" programmieren. Das Problem ist, dass ich nicht wirklich viel Ahnung von Programmieren habe, und demnach mit dieser eigentlich wohl leichten Schülerübung so meine Probleme habe. Ich hänge daran die nächste Generation ausgeben zu lassen...
Hier mal mein Code:
Delphi-Quellcode:
var
Form1: TForm1;
Leben: Boolean;
OL, NL: Array [1..10,1..10] of Boolean;
i, j: Integer;
counter: integer;
implementation
{$R *.DFM}
procedure TForm1.Button2Click(Sender: TObject);
begin
Randomize;
for i := 1 to 8 do
for j:= 1 to 8 do
if Random(10) >1 then
OL[i,j] := true
else
OL[i,j] := false;
Anzeige;
end;
procedure TForm1.Anzeige;
begin
for i := 1 to 8 do
for j:= 1 to 8 do
if OL[i,j] then StringGrid1.Cells[i,j] := '0'
else StringGrid1.Cells[i,j] := '';
end;
procedure TForm1.AnzeigeN;
begin
for i := 1 to 8 do
for j:= 1 to 8 do
if NL[i,j] then StringGrid1.Cells[i,j] := '0';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Button4.Caption := 'Weiter';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
for i := 1 to 8 do
for j:= 1 to 8 do
if OL[i-1,j-1] then counter := counter +1;
if OL[i+1,j+1] then counter := counter +1;
if OL[i+1,j-1] then counter := counter +1;
if OL[i-1,j+1] then counter := counter +1;
if OL[i,j-1] then counter := counter +1;
if OL[i,j+1] then counter := counter +1;
if OL[i-1,j] then counter := counter +1;
if OL[i+1,j] then counter := counter +1;
if (counter = 2) or (counter = 3) then NL[i,j] := true
else NL[i,j] := false;
if NL[i,j] then StringGrid1.Cells[i,j] := '0';
end;
end.
Ich wäre euch für jede Hilfe überaus dankbar. Ich glaube es dauert noch ein wenig bis ich mir das logische Denken angewöhnt habe dass für's Programmieren erforderlich zu sein scheint...
Vielen Dank im Vorraus!