Mir ging es eigentlich um den Record sondern, die Art und weise wie ich die Schlange im Speicher halte.
Bei die ist Spielfeld und Schlange eins. Bei mir ist dies klar getrennt.
Übrigens das weiterrücken der Schlange ist bei mir einfach zu lösen.
Delphi-Quellcode:
with Snake do
begin
Inc(iHead);
if iHead > ciMaxBuffer then
iHead := 0;
aBody[iHead] := Point();
end;
Achtung: Die Schlange sollte nie länger werden als ciMaxBuffer.