Scratch – Spiel auf Zeit programmieren
In diesem Blogbeitrag zeige ich dir, wie du in Scratch ein Spiel auf Zeit programmieren kannst. Schau dir an, wie du dafür mit der Stoppuhr-Funktion einen Timer anzeigen kannst. Außerdem erfährst du, wie du mit Hilfe von Nachrichten einen Startbildschirm zu Beginn deines Spieles einbaust.
Ich gehe in diesem Blogbeitrag davon aus, dass du bereits einige Kenntnisse im Umgang mit Scratch hast und werde einige Punkte weniger ausführlich erklären. Falls du noch keine Scratch-Kenntnisse hast oder deine Kenntnisse erst etwas auffrischen möchtest, empfehle ich dir zunächst meinen Scratch-Einstiegskurs zu bearbeiten.
Ausprobieren
Bevor du mit dem Programmieren deines eigenen Spiels startest, schau dir doch zunächst das von mir entwickelte Spiel an. Das Spiel kann über eine Schaltfläche „Starten“ begonnen werden. Es zeigt sich ein kleiner hungriger Pinguin, der von dir gefüttert werden möchte. Anschließend erscheint an einer zufälligen Stelle auf der Spielfläche ein Fisch. Dieser muss mit der Maus auf den Pinguin gezogen werden, um gegessen zu werden. Wurde der Fisch aufgegessen, erscheint ein neuer Fisch an anderer Stelle. Füttere den Pinguin innerhalb von 60 Sekunden mit so vielen Fischen wie möglich.
Im Detail
Wenn du nun Lust bekommen hast, ein eigenes Spiel auf Zeit zu programmieren, dann schau dir mein Spiel etwas genauer an. Damit du das Programm ohne Schwierigkeiten nachprogrammieren kannst, solltest du schon etwas Erfahrung in der Programmierung mit Scratch haben. Für dieses Spiel wirst du die folgenden Blöcke nutzen:
- Blöcke zur Gestaltung des Aussehens,
- Klangblöcke,
- Bewegungsblöcke,
- Variablen und Operatoren,
- Nachrichten,
- eigene Blöcke,
- die Stoppuhr-Funktion und
- Blöcke zum Klonen („Kopieren“) deiner Figur.
Falls du diese Blöcke noch nicht alle kennst, empfehle ich dir zuerst meinen Scratch-Einstiegskurs bzw. meine Scratch-Tutorials für Fortgeschrittene anzuschauen.
Projektaufbau
Schau dir nun mein Spiel auf Zeit etwas genauer an, indem du es in Scratch in der Programmieransicht öffnest. Du kannst dafür den folgenden Link verwenden: https://scratch.mit.edu/projects/632596547/editor/.
Wie du in meinem Programm siehst, benötigst du für dein Spiel die folgenden Komponenten:
- Ein passendes Hintergrundbild.
- Eine Figur für die Schaltfläche zum Starten des Spiels.
- Eine Figur, die gefüttert werden soll. Bei mir ist das der Pinguin.
- Eine Figur, die als Speise zum Füttern genutzt wird. Bei mir ist das der Fisch.
In den nächsten Abschnitten stelle ich dir die einzelnen Figuren und den Programmcode, den diese verwenden, etwas genauer vor. Darauf basierend kannst du dann dein eigenes Spiel entwickeln. Du kannst dafür jeden beliebigen Hintergrund und beliebige Figuren verwenden. Lass‘ deiner Fantasie freien Lauf und überlege dir eine eigene kleine Geschichte, die dein Spiel erzählen soll. Wenn du soweit bist, kannst du über den folgenden Link ein neues Scratch-Projekt öffnen:
Hintergrund
Für mein Spiel habe ich es mir einfach gemacht. Ich habe mir einen passenden Hintergrund aus der Liste, der in Scratch verfügbaren Bilder ausgewählt.

Zusätzlich habe ich ein klein wenig Programmcode im Hintergrund ergänzt. Dieser sorgt dafür, dass die laufende Spielzeit von 60 Sekunden heruntergezählt wird. Die berechnete Restzeit wird in der Variablen „Timer“ gespeichert und im Spiel angezeigt. Nutze für die Darstellung der Variablen im Spiel die Anzeige-Option „Großanzeige“. (Rechtsklick auf die Variable)


Schaltfläche zum Starten
Für die Schaltfläche zum Starten des Spiels habe ich eine eigene Figur gezeichnet. Dafür habe ich in der Kostümansicht auf der Malfläche mit dem Textwerkzeug den Text „Starten“ geschrieben und das ganze noch mit einer rechteckigen Fläche unterlegt.

Der nachfolgende Programmcode der Schaltfläche ist sehr überschaubar. Die Schaltfläche wird vor Beginn des Spieles eingeblendet. Sobald die Schaltfläche angeklickt wird, schickt diese die Nachricht „Start“ an alle anderen Figuren, sodass diese mit der Ausführung des Programmcodes für das Spiel beginnen können. Mit Start des Spiels wird die Schaltfläche dann ausgeblendet. Am Ende des Spiels wird die Schaltfläche wieder eingeblendet. So ist es möglich, dass das Spiel erneut gestartet wird.

Pinguin
Der Pinguin ist der Protagonist meines Spieles. Er ist hungrig und soll gefüttert werden. Die passende Figur habe ich mir aus den in Scratch verfügbaren Figuren ausgewählt.

Der Programmcode für den Pinguin ist ziemlich umfangreich. Er unterteilt sich in vier Sequenzen, die jeweils durch unterschiedliche Ereignisse ausgelöst werden.

Beim Start des Programmes über die grüne Flagge, wird der Pinguin zunächst in der Mitte der Bühne platziert und so modifiziert, dass er nicht mit der Maus bewegt werden kann. Wenn (über die Start-Schaltfläche) die Nachricht „Start“ verschickt wird, dann werden dadurch gleichzeitig zwei Code-Sequenzen des Pinguins gestartet. Die große Sequenz links im Bild sorgt dafür, dass der Pinguin eingeblendet wird und zunächst ein paar einleitende Worte zu dem oder der Spielerin sagt. Anschließend wird fortlaufend überprüft, ob die zweite Figur – der Fisch zum Füttern – den Pinguin berührt. Berührt der Fisch den Pinguin, so isst der Pinguin den Fisch auf. Das wird durch eine kleine Animation und einen passenden Klang dargestellt. Die zweite Sequenz (rechts im Bild), die beim Empfangen der „Start“-Nachricht ausgelöst wird, überprüft ebenfalls laufend, ob die Spielzeit abgelaufen ist. Wenn dies der Fall ist, sagt der Pinguin ein paar abschließende Worte und die Nachricht „Stop“, die das Ende des Spiels verkündet, wird an alle Figuren versendet.
Mit dem Ende des Spiels versteckt sich der Pinguin wieder.
Fisch
Der Fisch ist das Futter mit dem der Pinguin gefüttert wird. Die Figur habe ich mir einfach aus den in Scratch verfügbaren Figuren ausgesucht. Die Scratch-Figur „fish“ hat dabei mehrere Kostüme. Ich habe mich für meinen Fisch für das Kostüm „fish-b“ entschieden.

Zusätzlich zum vorhandenen Kostüm habe ich dann ein zweites Kostüm gezeichnet. Dieses nutze ich für eine Animation, wenn der Fisch gegessen wird. Dafür habe ich einfach das vorhandene Kostüm dupliziert (Rechtsklick in der Kostümübersicht) und am rechten Rand des Fisches mit dem Radiergummi-Werkzeug eine „Biss-Spur“ erstellt, sodass der Fisch halb gegessen aussieht.

Der Programmcode für den Fisch ist ebenso umfangreich wie der Code des Pinguins. Auch der Fisch reagiert auf verschiedene Ereignisse. Beim Start des Scratch-Spiels über die grüne Flagge wird der Fisch zunächst versteckt. Wenn er die „Start“-Nachricht empfängt, wartet er zunächst 4 Sekunden. Das ist die Zeit, die der Pinguin benötigt, um seine einleitenden Worte zusagen. Anschließend beginnt die Ausführung des Hauptprogrammcodes des Fisches. Dieser ist in den eigenen Block „Fisch“ ausgelagert. Dadurch kann der gleiche Code mehrfach im Programm verwendet werden. Im Hauptprogrammcode wird der Fisch an einer zufälligen Position platziert und angezeigt. Der oder die Spielerin kann den Fisch dann mit der Maus auf den Pinguin ziehen. Sobald sich Pinguin und Fisch berühren, wird eine kleine Animation gestartet, die das Aufessen des Fisches darstellt. Anschließend wird der Fisch als Klon – also als Kopie seiner selbst – an einer anderen zufälligen Stelle im Spiel wieder eingeblendet. Die Anzahl der verfütterten Fische wird dabei in der Variablen „Punkte“ gespeichert. Je mehr Punkte man erreicht, umso schwieriger wird das Spiel, denn der Fisch wird in Abhängigkeit zu den Punkten immer kleiner dargestellt.

Wenn die Spielzeit abgelaufen ist und der Pinguin die Nachricht zum Stoppen des Spiels verschickt hat, dann wird auch die Fischfigur wieder versteckt.
Herausforderungen
Du hast nun alle Figuren und die notwendigen Programmsequenzen kennengelernt, um ein eigenes Spiel auf Zeit zu programmieren. Wenn dir mein Pinguin-Spiel noch nicht spannend genug ist und du Lust hast dein eigenes Spiel zu erweitern, dann versuch‘ dich doch an den folgenden Herausforderungen:
- Programmiere das Spiel so, dass der angezeigte Fisch nach kurzer Zeit wieder verschwindet und an einer neuen Stelle auftaucht.
- Baue verschiedene Level in dein Spiel ein, in denen du unterschiedliche Sachen zum Füttern zur Verfügung stellst. Merke dir dabei die Höchstpunktzahl, die in den Leveln erreicht wird und gib‘ diese am Ende des Spiels aus.
- Erweitere den Startbildschirm so, dass zunächst nur ein schwarzer Hintergrund und die Schaltfläche zum Starten des Spiels angezeigt werden. Wenn die Schaltfläche dann angeklickt wird, blendest du langsam den schwarzen Hintergrund aus und dafür dein eigentliches Hintergrundbild ein.
- Lass deine Figur zum Ende des Spieles unterschiedliche Dinge sagen, je nach dem, wie oft die Figur gefüttert wurde.