Aus Das deutschsprachige Scratch-Wiki

< Scratch-Wiki:Scratch Buch‎ | Entwurf 1

Ein absoluter Klassiker unter den Spielen mit Scratch sind PingPong-Projekte. Hierbei steuert der Spieler einen Balken über dem unteren Rand. Er kann diesen nach links bzw. rechts steuertn. Außerdem existiert ein Ball, der vom Rand und vom Balken abprallt. Der Benutzer muss versuchen zu verhindern, dass der Ball den unteren Rand berührt.

Um das Projekt zu erstellen musst Du zuerst zwei Objekte erstellen. Du brauchst einen Balken und einen Ball. Zuerst programmieren wir den Balken. Der Benutzer kann diesen mit Hilfe der Pfeiltasten steuern. Der Skript, der diesen Ablauf steuert sieht wie folgt aus:

Pong.png

Der Balken "überprüft" quasi die ganze Zeit, ob entweder die Pfeiltaste nach links, oder die Pfeiltaste nach rechts gedrückt wird. Falls dies der Fall ist ändert er die X-Position um 10 bzw. -10. Mit Hilfe des "pralle vom Rand ab"-Blocks kann man verhindern, dass sich der Balken in den Rand bewegt. Nun machen wir uns an das Erstellen des Balles. Dieser muss:
a.) vom Rand abprallen
b.) vom Balken abprallen
c.) sich bewegen
d.) das Spiel beenden, sobald der Boden berührt wurde

So könnte das Skript für den Ball aussehen:
Pong-game-bild2.png
Wenn das Programm gestartet wird, geht der Ball zu x:0|y:0, also zur Mitte. Das ist notwendig, damit man das Spiel erneut spielen kann, nachdem man es zuvor verloren hat. sonst würde der Ball immer im roten Bereich bleiben, wenn er diesen einmal erreicht hat.
Der nächste Block sorgt dafür, dass der Ball beim Starten nach oben fliegt, also damit der Spieler etwas Zeit hat, bevor er den Balken bewegen muss. Nun beginnt die "wiederhole fortlaufend"-Schleife. Diese sorgt dafür, dass allen innen stehenden Skripte unendlich oft ausgeführt werden. Den ersten Block kennen wir bereits vom Balken. Er sorgt dafür, dass der Ball nicht in Wände "reingehen" kann. Der nächste Block sorgt dafür, dass sich der Ball fortbewegen kann.
Nun beginnt ein etwas komplizierterer Teil. Die if-Schleife "falls Farbe 'rot' wird berührt" braucht man um zu überprüfen, ob man den untreren Rand berührt. Falls dies der Fall sein sollte sagt er zuerst "Game over!" für 2 Sekunden, bevor er dann das Programm mit "stoppe alles" beendet.
Die letzte if-Schleife sorgt schließlich dafür, dass der Ball vom Balken abprallt. Überprüft wird zuerst, ob das Objekt "Sprite 1" berührt wird. Dies ist der Objekt-Name des Balkens. Falls dies geschieht muss sich dieser wegdrehen. Es ist eine Kunst für sich, dass sich der Ball realistisch dreht. Eine Möglichkeit ist hier oben gezeigt. IM BILD KANN DAS ()*(1) AUCH WEGGELASSEN WERDEN!. Der nächste Block in dieser Schleife lässt den Ball 10 Schritte nach oben gehen. Sonst würde dieser den roten Balken immer noch berühren, obwohl er sichbereits gedreht hat.

AUFGABEN:
-Versuche die Geschwindigkeit des Balles zu beeinflussen.
-Kannst Du eine Art Punktesystem einbauen. Um so mehr Punkte man hätte, desto schneller würde sich der Ball bewegen...
---Kannst du auch ein globales Highscore-System entwickeln?


Link zum Projekt: [1]

Cookies helfen uns bei der Bereitstellung von Das deutschsprachige Scratch-Wiki. Durch die Nutzung von Das deutschsprachige Scratch-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.