hi...
ich hab mich doch nochma rangesetzt, und mir is ne ziemlich einfache lösung für das Problem des umlaufenden Feldes eingefallen, die ich jetzt einfach ma poste:
Delphi-Quellcode:
function nachbarn(x,y : Integer):Integer;
var a,a1,b,b1,c : Integer;
begin
c := 0;
for a:=x-1 to x+1 do
for b:=y-1 to y+1 do
begin
a1 := a;
b1 := b;
if a1 = 0 then a1:=50;
if a1 = 51 then a1:=1;
if b1 = 0 then b1:=50;
if b1 = 51 then b1:=1;
if ((a1<>x) or (b1<>y)) and (alt[a1,b1] = 1) then inc(c);
end;
nachbarn := c;
end;
die werte für a1 und b1 kann man einfach durch die jeweiligen Feldgrenzen (+/- 1) ersetzen...
gruß fabiO
ps. der button war nur zu beginn von nutzen, um zu sehn, ob die function nachbarn funktioniert

das mit den verschiedenen Formationen bau ich bald ma ein, danke für die idee