Eigentlich sollten die alle immer zum nahegelegensten Nahrungs"kästchen" pilgern.
"DoubleBuffered := true;"
müsste im Source stehen.
Zu den Units...an denen habe ich garnichts geändert...ich hatte halt irgendwann mit Delphi 2005
PE ne Form mit Code die ausführbar und hab erstmal alles so gelassen. Bin mit der 05er nicht ganz so vertraut.
Den Link werde ich mir auch noch genauer anschauen.
EDIT:
Die Teile kennen nur 8 Bewegungsrichtungen. Aber warum die Gruppen bilden ist mir schleierhaft...
Da war noch ein Fehler in der Richtungs bestimmung:
Delphi-Quellcode:
if round(food[tp3, 0]) < partikel[index, 1] then begin
partikel[index, 1] := (partikel[index, 1] - 1);
end
else if round(food[tp3, 0]) > partikel[index, 1] then begin
partikel[index, 1] := (partikel[index, 1] + 1);
end;
if round(food[tp3, 1]) < partikel[index, 0] then begin
partikel[index, 0] := (partikel[index, 0] - 1);
end
else if round(food[tp3, 1]) > partikel[index, 0] then begin
partikel[index, 0] := (partikel[index, 0] + 1);
end;
Vorher waren da keine Else-If Anweisungen, sondern ein einfaches if.