In dieser Abschlussaufgabe des Levels 1 programmierst du das Spiel Pong (1972) nach und ergänzt es am Schluss mit eigenen Ideen.
Vorlage: https://scratch.mit.edu/projects/349466899/
Teste das Spiel mit einem Klick auf die grüne Falgge:
Steuerung:
Spieler 1: Q, A
Spieler 2: Pfeil-nach-oben, Pfeil-nach-unten
Didaktische und methodische Hinweise:
Vormachen - Nachmachen: Bei dieser Art von Anleitung sind die Lösungen bereits vorgegeben. Gerade beim Anfang des Programmierens ist das besonders hilfreich, um eine Palette an Programmierwerkzeugen von Scratch kennenzulernen. Später soll vermieden werden, zu viel nach Rezept zu arbeiten.
Modifizieren und Weiterentwickeln: Sobald die Grundstruktur des Spiels Pong steht, kann dieses modifiziert (abgeändert) und weiterentwickelt werden. Dies ermöglicht den Programmierer*innen, eigene Ideen umzusetzen.
1. Den Ball programmieren
Zuallererst brauchen wir eine Kugel, die sich bewegt und an den Wänden abprallt.
Lösche zuerst die Katze (1). Die brauchen wir nicht für diese Aufgabe. Wähle nun eine neue Figur aus (2). Geeignet wäre für unser Projekt zum Beispiel der orange Ball.
Nun soll sich der Ball bei einem Klick auf die grüne Flagge (3) in einer zufälligen Richtung (4) bewegen (5) und vom Rand abprallen (6). Der Code hierfür sieht folgendermassen aus:
Tipp: Hast du Mühe bestimmte Blöcke zu finden? Schau dir die Farbe der gesuchten Blöcke genau an. Diese findest du auch in der linken Spalte bei den Kategorien der verschiedenen Programmierblöcke.
Tipp: Teste dein Programm immer wieder (Klick auf die grüne Flagge (3)). Funktioniert bisher alles wie erwartet?
Verständnisfrage: Weisst du, warum der Block nach dem Klick auf die grüne Flagge eingefügt wurde? Versuche dein Programm ohne diesen auszuführen.
Schritt 2: Die «Schläger» gestalten und programmieren.
Nun programmieren wir Figuren, die von den Spielern gesteuert werden können. Erstelle eine neue Figur mit einem Klick auf «Figur wählen», dann «Malen» (7). Hier kannst du deine Schläger selber zeichnen (8). Achte darauf, dass du sie in der Mitte der Zeichenfläche platzierst.
Mit einem Klick auf «Skripte» (9) gelangst du zurück in die Programmierumgebung. Mit folgendem Programm lässt sich Figur1 (der rechte Schläger) nach oben und unten bewegen:
Schritt 3: Der Ball prallt an den Schlägern ab
Sobald du den ersten Schläger gezeichnet hast, kannst du einen zweiten darauf kopieren. Führe dafür einen Rechtsklick auf Figur1 aus (10) und wähle dann «Duplizieren» aus. Passe nun das Programm der neuen Figur2 an:
· Wähle eine geeignete Startposition für die Figur2 aus.
· Wähle neue Tasten zur Steuerung der Figur2 aus.
Nun soll der Ball an beiden Schlägern abprallen. Das erreichst du mit folgender Ergänzung (11) bei der Ball-Figur (Wichtig: Vor dem Programmieren den Ball auswählen):
Abprallen
Hier findest du einen Erklärungsversuch der Formel, mit der der Ball im richtigen Winkel an den Schlägern abprallt.
Schritt 4: Punkte anzeigen
Als letzten Schritt fügen wir einen Punkte-Zähler hinzu. Diesen programmierst du bei der Ball-Figur als neues Skript. Erstelle zuerst zwei neue Variablen: «Punkte links» und «Punkte rechts».
Du kannst die beiden neuen Variable anzeigen lassen (12), indem du sie mit einem Häkchen aktivierst (13).
Schritt 5: Modifizieren
Das Grundgerüst des Spiels steht nun. Jetzt können wir uns auf das Testen, Optimieren und Weiterentwickeln des Spiels fokussieren. Versuche einige der hier aufgeführten Weiterentwicklungen ohne Musterlösung durchzuführen.
Stelle die Geschwindigkeit der Kugel schneller ein (Spiel wird schwieriger)
Füge Töne ein.
Füge neue Grafiken und Bühnenbilder ein.
Die Kugel soll nach jeder Berührung mit einem Schläger schneller werden. Hierfür benötigst du eine neue Variable. Nach einem Punkt soll die Geschwindigkeit wieder bei 5 beginnen.
Der Ball soll am Anfang und nach einer Punktevergabe sich nicht zu steil nach oben oder nach unten bewegen.
Schritt 6: Weiterentwickeln
In den vorherigen Schritten hast du Programme abgeschrieben, dann modifiziert. Jetzt kannst du versuchen, völlig neue Ideen in das Programm einzufügen. Welche Funktionalitäten vermisst du? Versuche sie einzubauen. Als mögliche Inspiration kann dir «Discrimination Pong» (http://discriminationpong.and-or.ch/) dienen.