Ich teste nicht auf <> 0 sondern addiere die Werte aller Nachbarfelder auf.
Und die Situation, ob das Feld ein Randfeld ist wird ja mit den if-Abfragen berücksichtigt.
Die Deklaration sieht so aus:
Delphi-Quellcode:
type
TMicrobe = array[0..Fields-1, 0..Fields-1] of Byte;
Und gefüllt wird so:
Delphi-Quellcode:
procedure FillMicrobeArray;
var
x, y: Integer;
begin
// for y := 0 to Fields - 1 do
// for x := 0 to Fields - 1 do
// MicrobeArray[x, y] := 0;
//
// for y := 0 to Fields - 1 do
// begin
// for x := 0 to Fields - 1 do
// begin
// if Random(5) = 1 then
// MicrobeArray[x, y] := 1
// else
// MicrobeArray[x, y] := 0;
// end;
// end
MicrobeArray[1, 1] := 1;
MicrobeArray[2, 1] := 1;
MicrobeArray[3, 1] := 1;
end;
Das zufällige Füllen habe ich mal auskommentiert.