Wenn dein erstes Scratch Fangspiel läuft, dann ist es Zeit für den nächsten Schritt: Scratch Spiel erweitern mit spannenden Features! Punkte sammeln, neue Level freischalten und Highscores knacken – das macht aus einem einfachen Spiel ein echtes Erlebnis.
Warum dein Scratch Spiel erweitern sinnvoll ist
Mehr Spielspaß durch Herausforderungen
Ein Grundspiel ohne Ziele wird schnell langweilig. Punkte geben dem Spieler ein klares Erfolgserlebnis, während verschiedene Level für stetig neue Herausforderungen sorgen. Highscores motivieren zusätzlich, das Spiel immer wieder zu spielen und sich zu verbessern.
Diese Erweiterungen verwandeln dein einfaches Fangspiel in ein vielschichtiges Spielerlebnis. Jeder gefangene Gegner bringt Punkte, jedes neue Level erhöht die Schwierigkeit und jeder neue Rekord spornt zum Weiterspielen an.
Programmierkonzepte spielerisch verstehen
Beim Erweitern deines Scratch Spiels lernst du wichtige Programmierkonzepte kennen. Variablen speichern Werte wie Punkte und Level, während Bedingungen entscheiden, wann ein Level aufsteigt. Listen helfen dabei, mehrere Highscores gleichzeitig zu verwalten.
Voraussetzungen für die Spielerweiterung
Dein bestehendes Fangspiel aus Teil 1
Du benötigst ein funktionierendes Fangspiel als Grundlage. Dieses sollte bereits eine steuerbare Spielfigur und bewegliche Gegner enthalten, die bei Berührung erkannt werden. Falls du noch kein Fangspiel hast, schaue dir zuerst unseren vorherigen Artikel über die Grundlagen an.
Die Bewegungssteuerung und Kollisionserkennung müssen bereits funktionieren. Wir konzentrieren uns jetzt ausschließlich auf die neuen Features für Punkte, Levels und Highscores. Die Grundmechanik bleibt unverändert.
Benötigte Scratch-Kenntnisse
Du solltest bereits mit Scratch-Blöcken vertraut sein und wissen, wie man Figuren bewegt und Ereignisse auslöst. Grundkenntnisse über Variablen sind hilfreich, werden aber nochmals erklärt. Scratch für Kinder sind die wichtigsten Werkzeuge für unsere Erweiterungen.
Punktesystem in Scratch erstellen
Punkte-Variable anlegen
Wähle "Variablen" aus der Blockpalette und klicke auf "Neue Variable". Benenne sie "Punkte" und achte darauf, dass sie für alle Figuren sichtbar ist. Diese Variable speichert die aktuelle Punktzahl des Spielers während des gesamten Spielverlaufs.
Setze die Punkte-Variable zu Spielbeginn auf null zurück. Das verhindert, dass alte Punktestände von vorherigen Spielrunden übernommen werden. Der Block "setze Punkte auf 0" gehört an den Anfang deines Hauptskripts.
// Punkte-Variable zu Spielbeginn zurücksetzen
wenn grüne Fahne angeklickt
setze Punkte auf 0
// Hier folgt der Rest deines Spielstarts
Punkte beim Fangen erhöhen
Erweitere deine Kollisionserkennung um den Punktezuwachs. Wenn deine Spielfigur einen Gegner berührt, soll nicht nur das Fangereignis ausgelöst werden, sondern auch die Punktzahl steigen. Der Block "ändere Punkte um 1" fügt bei jeder Berührung einen Punkt hinzu.
Du kannst verschiedene Gegner unterschiedlich bewerten. Schnelle oder seltene Gegner könnten mehr Punkte geben als einfache. Experimentiere mit verschiedenen Punktwerten und finde heraus, was am besten zu deinem Spieldesign passt.
// Im Kollisions-Erkennungs-Skript
falls wird Spielfigur berührt?
ändere Punkte um 1
// Hier können weitere Aktionen folgen
verstecke dich
warte 2 Sekunden
zeige dich
Punktestand auf der Bühne anzeigen
Die Punkte-Variable wird automatisch als Anzeigefeld auf der Bühne sichtbar. Du kannst diese Anzeige verschieben, indem du sie mit der Maus an die gewünschte Position ziehst. Die obere rechte Ecke eignet sich gut für Spielinformationen.
Das Anzeigefeld aktualisiert sich automatisch, sobald sich der Variablenwert ändert. Du musst also nichts Zusätzliches programmieren – Scratch übernimmt die Anzeige für dich. Das ist einer der großen Vorteile von Scratch-Variablen.
Level-System programmieren
Level-Variable einrichten
Erstelle eine zweite Variable namens "Level" genau wie die Punkte-Variable. Diese startet bei 1, da das erste Level das Startlevel ist. Jedes Level wird später andere Spielbedingungen haben, etwa schnellere Gegner oder mehr gleichzeitige Figuren.
Die Level-Anzeige positionierst du am besten neben der Punkteanzeige. So behält der Spieler beide wichtigen Informationen im Blick. Das Level steigt nur unter bestimmten Bedingungen, die wir gleich programmieren.
Automatischen Levelaufstieg programmieren
Ein neues Level wird erreicht, wenn genügend Punkte gesammelt wurden. Eine einfache Regel: Alle 10 Punkte steigt das Level um 1. Dafür benötigst du eine Bedingung, die regelmäßig die Punktzahl überprüft und das Level entsprechend anpasst.
// Kontinuierliche Level-Überprüfung
wiederhole fortlaufend
falls Punkte = (Level * 10)
ändere Level um 1
sage "Level " und Level für 2 Sekunden
end
warte 0.1 Sekunden
end
Diese Schleife läuft permanent im Hintergrund und überprüft den Levelaufstieg. Die Wartezeit von 0.1 Sekunden verhindert, dass der Computer überlastet wird. Die Meldung informiert den Spieler über den Erfolg.
Schwierigkeit pro Level anpassen
Jedes Level sollte herausfordernder werden. Das erreichst du durch verschiedene Parameter: Gegner bewegen sich schneller, neue Gegner spawnen häufiger oder es gibt mehr gleichzeitige Gegner. Diese Anpassungen machst du in den Bewegungsskripten der Gegner.
// In den Gegner-Skripten
wiederhole fortlaufend
gehe Level Schritte
// Je höher das Level, desto schneller die Bewegung
pralle vom Rand ab
end
Diese elegante Lösung nutzt die Level-Variable direkt als Geschwindigkeitswert. Level 1 bedeutet 1 Schritt pro Durchgang, Level 5 bedeutet 5 Schritte. So wird das Spiel automatisch schwieriger, ohne komplizierte Berechnungen.
Highscore-Funktion hinzufügen
Highscore-Variable erstellen
Die dritte wichtige Variable heißt "Highscore" und speichert den bisher höchsten erreichten Punktestand. Diese Variable startet bei 0 und wird nur überschrieben, wenn ein neuer Rekord aufgestellt wird. Der Highscore bleibt auch nach Spielende erhalten.
Im Gegensatz zu Punkte und Level, die bei jedem Spielstart zurückgesetzt werden, behält der Highscore seinen Wert. Das motiviert Spieler, ihre eigenen Rekorde zu brechen und immer wieder zu spielen.
Neuen Rekord erkennen und speichern
Die Highscore-Überprüfung erfolgt, wenn das Spiel endet. Falls die aktuellen Punkte höher sind als der gespeicherte Highscore, wird der neue Wert übernommen. Eine besondere Nachricht gratuliert zum neuen Rekord.
// Bei Spielende
falls Punkte > Highscore
setze Highscore auf Punkte
sage "Neuer Rekord: " und Punkte für 3 Sekunden
sonst
sage "Spiel beendet! Rekord: " und Highscore für 3 Sekunden
end
Diese Bedingung unterscheidet zwischen normalem Spielende und neuem Rekord. Der Spieler erhält sofort eine Rückmeldung über seine Leistung und weiß, welchen Wert er beim nächsten Mal übertreffen muss.
Highscore-Anzeige gestalten
Die Highscore-Anzeige positionierst du unterhalb der aktuellen Punkte. So kann der Spieler jederzeit vergleichen, wie nah er seinem Rekord kommt. Das erhöht die Spannung und Motivation während des Spiels.
Manche Programmierer blenden den Highscore nur am Spielanfang und -ende ein. Andere zeigen ihn permanent an. Probiere beide Varianten aus und entscheide, was besser zu deinem Spielstil passt.
Spiellogik mit Listen erweitern
Listen für mehrere Highscores
Listen ermöglichen die Speicherung mehrerer Highscores statt nur einem einzigen Rekord. Erstelle eine neue Liste namens "Bestenliste" über die Variablen-Kategorie. Diese Liste kann bis zu zehn der besten Ergebnisse speichern.
Bei jedem neuen Highscore wird dieser zur Liste hinzugefügt und die Liste nach Punktzahl sortiert. Die schwächste Leistung fällt heraus, falls die Liste bereits voll ist. So entsteht eine echte Bestenliste wie in professionellen Spielen.
// Neuen Score zur Bestenliste hinzufügen
füge Punkte zu Bestenliste hinzu
sortiere Bestenliste absteigend
falls Länge von Bestenliste > 10
lösche Eintrag 11 aus Bestenliste
end
Spielerdaten verwalten
Fortgeschrittene Spieler können Namen zu ihren Scores hinzufügen. Dafür benötigst du zwei parallele Listen: "Bestenliste" für die Punkte und "Namen" für die Spielernamen. Beide Listen müssen synchron gehalten werden.
Das Eingeben von Namen erfolgt über den "frage nach"-Block. Der eingegebene Name wird zusammen mit der Punktzahl gespeichert. Bei der Anzeige werden Name und Punktzahl kombiniert dargestellt.
Visuelle Verbesserungen für dein erweitertes Spiel
Anzeigen schön positionieren
Drei oder mehr Variablenanzeigen benötigen eine durchdachte Anordnung. Die aktuellen Spielwerte (Punkte, Level) gehören prominent sichtbar in eine Ecke. Der Highscore kann dezenter platziert werden, da er weniger häufig wechselt.
Experimentiere mit verschiedenen Positionen und teste sie beim Spielen. Wichtige Informationen dürfen das Spielgeschehen nicht verdecken, müssen aber gut lesbar bleiben. Die rechte obere Ecke hat sich als Standard etabliert.
Level-Übergänge gestalten
Ein neues Level verdient eine besondere Präsentation. Lasse das Spiel kurz pausieren, zeige eine Level-Ankündigung und gib dem Spieler einen Moment zum Verschnaufen. Das erhöht die Wertschätzung für den erreichten Fortschritt.
Einfache Animationen wie ein kurzes Blinken oder eine Farbänderung der Bühne verstärken das Erfolgsgefühl. Übertreibe es aber nicht – nach wenigen Sekunden sollte das Spiel normal weiterlaufen.
Erfolgsmeldungen einbauen
Verschiedene Erfolge verdienen verschiedene Meldungen. Ein neues Level wird anders gefeiert als ein neuer Highscore. Unterschiedliche Texte und Anzeigedauern machen das Spielerlebnis abwechslungsreicher und belohnender.
Kurze, prägnante Texte funktionieren am besten. "Level 3 erreicht!", "Neuer Rekord!" oder "Gut gemacht!" sind effektiver als lange Erklärungen. Der Spieler will schnell zurück ins Spielgeschehen.
Häufige Probleme beim Scratch Spiel erweitern
Punkte werden nicht richtig gezählt
Das häufigste Problem sind doppelt gezählte Kollisionen. Wenn ein Gegner mehrere Frames lang die Spielfigur berührt, werden mehrfach Punkte vergeben. Die Lösung: Nach jeder Punktevergabe den Gegner kurz verschwinden lassen oder eine Wartezeit einbauen.
Ein anderer Fehler ist das Vergessen der Punkte-Initialisierung. Ohne "setze Punkte auf 0" zu Spielbeginn addieren sich die Werte über mehrere Spielrunden hinweg. Das führt zu unrealistisch hohen Punktzahlen.
Level springt zu schnell
Wenn das Level bei jedem kleinen Punktezuwachs steigt, stimmt die Level-Berechnung nicht. Überprüfe die Bedingung für den Levelaufstieg. Oft liegt es an einer zu einfachen Formel oder einer zu häufigen Überprüfung ohne entsprechende Limits.
Eine Hilfsvariable kann helfen: Speichere das letzte Level, bei dem eine Erhöhung stattfand. So verhinderst du mehrfache Levelaufstiege bei derselben Punktzahl.
Highscore wird nicht gespeichert
Scratch speichert Variablenwerte nur während der aktuellen Sitzung. Nach dem Schließen und Neustarten des Projekts sind alle Werte zurückgesetzt. Das ist normal und nicht zu ändern – echte Persistenz benötigt fortgeschrittene Techniken.
Für Testzwecke kannst du den Highscore manuell auf einen realistischen Wert setzen. So musst du nicht jedes Mal von vorne anfangen, um die Highscore-Funktion zu testen.
Dein erweitertes Spiel testen und verbessern
Alle Funktionen durchspielen
Teste systematisch jeden neuen Feature. Lasse das Spiel mehrere Level laufen und überprüfe, ob die Schwierigkeit angemessen steigt. Erstelle absichtlich einen neuen Highscore und kontrolliere die entsprechenden Meldungen.
Bitte auch andere Personen um Tests. Frische Augen entdecken oft Probleme, die dir als Entwickler entgehen. Kinder haben andere Spielgewohnheiten als Erwachsene und können wertvolles Feedback geben.
Balance zwischen Schwierigkeit und Spaß finden
Das perfekte Spiel ist herausfordernd, aber nicht frustrierend. Wenn die Level zu schnell steigen oder zu schwer werden, verlieren Spieler die Motivation. Wenn es zu einfach bleibt, wird es langweilig. Die richtige Balance findest du nur durch Ausprobieren und Anpassen.
Notiere dir, bei welchen Punktzahlen und Leveln Testspieler aufhören oder frustriert werden. Diese Stellen benötigen Feintuning. Manchmal hilft schon eine kleine Anpassung der Level-Formel oder Punktevergabe.
Fazit und nächste Schritte
Mit Punkten, Leveln und Highscores wird aus deinem einfachen Fangspiel ein motivierendes Spielerlebnis. Du hast gelernt, wie Variablen Spielzustände speichern und wie Listen mehrere Werte verwalten. Diese Konzepte sind Grundbausteine für alle zukünftigen Programmierprojekte.
Dein erweitertes Spiel zeigt bereits wichtige Programmierkonzepte wie Datentypen, Bedingungen und Schleifen in Aktion. Mit jeder Erweiterung verstehst du besser, wie Software funktioniert und wie kreative Ideen in Code umgesetzt werden. Weitere Projektideen findest du im Scratch für Kinder Bereich. Experimentiere weiter und entwickle deine eigenen Spielideen!
Jetzt fehlt noch der Sound! Lerne alles über Scratch Sound Effekte und Musik!