Zitat von
neolithos:
Nach der Bewegung:
Code:
iHead = 3
iLen = 3
((1, 2), (1, 3), (2, 3), (3, 3), (?, ?), ...)
Das Element mit dem Index 3 (iHead) stellt den Kopf der Schlange da, richtig? Nun hat die Schlange eine Länge von 3 (iLen), also werden die Elemente 3 bis 1 genutzt um die Schlange darzustellen, etc. Das würde bedeuten, dass das Element 0 ungenutzt ist, oder? Wenn ja, dann würde beim nächsten Schritt zusätzlich noch das Element 1 ungenutzt sein, sofern sich die Länge nicht ändert, da der Kopf ja nun den Index 4 hat. Doch dann wäre nach einiger Zeit kein Element mehr vorhanden, um den Kopf zu setzen. Oder?
[Edit]Schon gut, habe die Zeile
if iHead > ciMaxBuffer then iHead := 0; in deinem Code übersehen
[/edit]