Snake frisst Futter und wächst dabei um genau ein Segment.
Wir vergleichen die Position des Kopfes mit der Futterposition. Sind beide gleich, ist das Futter gefressen.
Jetzt soll Snake das Futter fressen können.
Wir verwenden weiterhin Python und Pygame Zero.
Wenn der Kopf dieselbe Position wie das Futter erreicht:
- Futter gilt als gefressen
- Snake wird um ein Segment länger
- neues Futter erscheint zufällig
Wenn kein Futter gefressen wird:
- Snake behält dieselbe Länge
Das neue Futter darf nicht auf Snake erscheinen.
Verändere nur den notwendigen Code.
Erkläre mir danach:
Warum entfernen wir bei einer normalen Bewegung das letzte Segment
der Schlange, beim Fressen aber nicht?
Friss ein Futter und zähle die Segmente. Wiederhole den Test mit einem zweiten Futter.
Warum entfernen wir bei einer normalen Bewegung das letzte Segment der Schlange, beim Fressen aber nicht?
Erkläre es zuerst selbst mit drei gezeichneten Quadraten. Zeige danach die beiden Fälle im Code.
Bei jedem Schritt kommt vorne ein neuer Kopf dazu. Entfernen wir hinten ein Segment, bleibt die Länge gleich. Beim Fressen bleibt das hinterste Segment erhalten: Die Liste hat jetzt einen Eintrag mehr.