Schlangen-Spiel


In diesem Spiel versuchst Du mit der Schlange, die zufällig auftauchenden Kugeln zu fressen. Wenn Du eine Kugel isst wächst Du. Du darfst aber nicht in Deinen eigenen Köper oder in den Bildschirmrand fahren, sonst ist das Spiel vorbei.

Dieses Prgramm ist recht anspruchsvoll und nur für Dich geeignet, wenn Du schon etwas Erfahrung mit Scratch hast.

Die Schlange


Lege einen neue Figur (einen Ball) als Kopf der Schlange an. Die Programmteile für die verschiedenen Richtungstasten sind nicht komplett abgebildet. Ergänze das Programm entsprechend.

Die Bewegung der Schlange wird äber zwei Variablen (Bewegung_x und Bewegung_y) gesteuert, die Du anlegen musst. Wenn das Prgramm fertig ist, hast Du schon eine Schlange, die Du komplett steuern kannst, die eine Spur hinter sich her zieht und die erkennt wenn sie in sich selbst oder in den Rand fährt.



Liste anlegen und befüllen


Für den weiteren Ablauf brauchst Du eine Liste. Das ist ein Behälter in dem viele Werte abgelegt werden können. Es ist ähnlich wie eine Variable nur, dass in einer Variable ja nur ein Wert abgelegt werden kann. Die Liste kannst Du im Bereich Daten (also dort wo Du auch Veriablen anlegt) erzeugen. Klicke dazu auf "Neue Liste" und gib der neuen Liste den Namen "Wendepunkte".
Passe nun das Programm der Schlange an, um die Liste "Wendepunkte" zu befüllen. Immer wenn die Schlange die Richtung ändert, soll die Position an der diese Richtungsänderung stattfand in der Liste abgelegt (gespeichert) werden. Dazu änderst Du das Hauptprogramm der Schlange so:

Das dient nur dazu die Liste zum Programmstart zu leeren. Ansonsten würden die Werte von vorheringen Spiel enthalten.
Für das eignetliche Beüllen werden alle Tastenabfragen der Schlange entsprechend erweitert. Hier ist das Beispiel für eine Taste abgebildet. Vergiss nicht, auch die anderen Tastenabfragen anzupassen.




Das Ende der Schlange


Lege als Schlangenende nun einen weiteren Ball an und schreibe das Programm des Schlangenendes:

Du siehst hier schon die Variable "ende_muss_warten", die noch keine Rolle spielt. Lege sie aber schon mal an. Dann wird ein Stift angelegt. Die Idee ist nümlich, dass das Ende der Schlange jetzt den gleichen Weg wie der Kopf der Schlange nimmt und das Ende der Schlange dabei löscht. Das Löschen erreichst Du indem Du einfach mit weißer Fahrbe darüber zeichnest. Darum wird die Stiftfarbe hier auch auf Weiß gesetzt. Dannach kommt der Warte-Befehl. Der ist ganz wichtig, weil sonst der Kopf und das Ende der Schlange gleichzeitig los laufen würden und die Schlange ja dann keinen Körper hätte. Wie lange man hier wartet entscheidet übrigends darüber wie lange die Schlange am Anfang ist. Probier das mal aus.
Die untere Schleife dient dazu das Schlangenende zu dem nächsten Punkt in der Liste zu bewegen. Am Ende der Schleife wird noch überprüft, ob die Position in der List vom Schlangenende erreicht wurde. Ist das der Fall so wird der Punkt aus der Liste gelöscht, dis x- und y-Position die danach in die Liste gelegt wurden, wandern dadurch nun auch die erste Position in der Liste und das Schlangenende bewegt sich ab dann auf diese neue Position zu.
Das Spiel ist jetzt durchaus schon spielbar - probier es mal aus.



Essen für die Schlange


Damit die Schlange auch eine Aufgabe in dem Spiel hat, legst Du einen weiteren Ball an. Dieser wird das Essen sein, das die Schlange essen kann, wodurch sie dann wächst.

Eigentlich passiert hier nur eine Sache: Wenn das Essen gegessen wurde erscheint es erneut an einer zufälligen Stelle. Leider kann es dabei passieren, dass das neue Essen genau auf Deiner Schlange entsteht. Das würde nicht gut aussehen und desshalb wird dann geprüft ob das Essen auf der Schlange entstanden ist und falls das so ist, wird das Essen an eine neue Stelle gesetzt ... so lange bis das Essen an einer Stelle entsteht, wo die Schlange nicht ist.
Jetzt musst Du nur noch den Kopf und das Ende anpassen, damit auch diese richtig mit dem Essen zusammenarbeiten.
Erst mal der Kopf. Der muss ja nichts weiter machen, als das Essen eben zu essen. Dazu muss Du erst testen ob der Kopf das Essen berührt, und dann die entsprechende Nachricht versenden. Dazu passt Du das Ende der Schleife im Programm des Kopfes an:

Das Ende der Schlange lässt Du einfach etwas warten, wenn etwas gegessen wurde. Dadurch wird die Schlange länger. Über die Zeit die Du wartest entscheidest Du, um wieviel die Schlange länger wird. Passe das Program für das Schlangenende dafür so an:



Gratulation! Du hast das Spiel fertig gestellt! ... und jetzt?


Probier mal:
Wie gewinnt man das Spiel? Vielleicht, wenn die Schalnge eine gewisse Länge erreicht hat, oder wenn man eine gewisse Zeit überstanden hat?
Wie wäes mit weiteren Hindernissen im Spiel? Vielleicht sogar bewegliche?
Ist es möglich aus dem Spiel eine Spiel fär zwei Spieler zu machen?
Wie wäre es mit Spezial-Essen? Manches Essen könnte die Schlange kürzer, schneller, langsamer oder sogar dicker machen.