Hinweis: Der Kurs ist unvollständig und wird aktuell nicht gepflegt.
Werkzeuge für den Unterricht
Der Großteil der im Unterricht eingesetzten Werkzeuge ist kostenfrei und als Open Source oder Freeware deklariert. Neben einem Office-Paket (z. B. LibreOffice) werden ein aktueller Browser und ein Internet-Zugang benötigt.
Erkämpft euch eure persönliche "Hour of Code"-Urkunde. Zeigt mir, dass ihr einfache Programmierprobleme lösen könnt. Entdeckt dabei die Grundlagen der Spiele-Programmierung!
Meldet euch auf der Login-Seite mit den Daten an, die ihr von mir erhalten habt an. Hier geht es zur Login-Seite: https://studio.code.org/join.
Der Computerspielemarkt boomt. Die jüngste Gamescom hat es wieder gezeigt: 355.000 Besucher reisten aus 106 Ländern zum weltweit größten Event für Computer- und Videospiele nach Köln. Auch wenn der Spielemarkt hart umkämpft ist, wollen wir uns daran versuchen und einige Spiele entwickeln.
Auf geht's, damit das Geld nur so fließt!
Unser erstes Spiel habe ich schon mal vorgedacht. Es soll ein kleines Handy-Spiel werden, bei dem man eine Katze lenkt, um die wilde Maus zu fangen. Eigentlich nichts anspruchsvolles, aber irgendwie komme ich nicht weiter.
Bitte helft mir!
Benutzen
Beim Spiel "Katze & Maus" soll die Katze mit Hilfe der Cursortasten auf der Tastatur steuern werden können und dadurch die Maus fangen.
Öffne das Spiel „Katz_Maus Vorgabe.sb2“ in Scratch.
Starte das Spiel durch Anklicken der grüne Flagge und spiele es.
Was fällt dir alles dabei auf?
Analysieren
Behebe das Steuerungsproblem mit den Cursortasten.
Finde die Blöcke im Programm der Katze, die die funktionierende Tastenreaktion festlegen.
Vergleiche mit der fehlerhaft funktionierenden Tastenreaktion. Korrigiere.
Beschreibe und begründe deine Veränderungen.
Prüfe, ob damit alle Tastenreaktionen korrekt arbeiten. Korrigiere gegebenenfalls.
Gestalten
Prüfe das Gesamtspiel auf Korrektheit. Korrigiere gegebenenfalls.
Erweitere das Spiel um die Möglichkeit der Spielwiederholung. Betrachte dazu den Programmteil „Wenn ich Start empfange“ der Maus. Übertrage diese Information geeignet auf die Katze.
Verankern
Beschreibe, wie du das Problem lösen konntest.
Welche Bausteine spielten dabei eine besondere Rolle?
Erläutere die Funktion der jeweiligen Bausteine.
An welchen Stellen im Programm wird der Baustein ebenfalls verwendet? Was leistete er dort?
Ina hat die Ausfallstunde letzte Woche genutzt und sich eines der Scratch-Spiele aus dem Internet herunter geladen. Doch leider scheint es nicht so recht zu funktionieren. Mal sehen, ob ihr es mit Hilfe des Wissens vom letzten Mal fertig programmieren können.
Bevor wir weitere Spiele entwickeln, versuchen wir mal das Erlebte zu ordnen.
Für ein Computerspiel benötigen wir Objekte, z. B. die Maus, die Katze oder auch der Hintergrund, die auf ein Ereignis, z. B. den Programmstart, eine Berührung oder einen Tastendruck reagieren. Dieses Verhalten beschreiben wir für jedes Objekt durch ein Skript mithilfe von Blöcken. Jedes Skript beginnt mit einem Kopfblock und endet mit einem Abschlussblock. Dazwischen gibt es Stapelblöcke, die Wertblöcke oder Wahrheitsblöcke benötigen.
Die neue Blockartenübersicht sollte uns das Arbeiten mit Scratch erleichtern, sodass wir unsere Spiele schneller entwickeln können. Versuchen wir es doch gleich mal mit der Vervollständigung des Spiels Bootsfahrt.
Benutzen
Beim Spiel Bootsfahrt muss das Boot mithilfe der Maus zum Stand gesteuert werden. Natürlich darf man nur auf dem Wasser fahren.
Öffne das Spiel „Bootsfahrt.sb2“ in Scratch.
Starte das Spiel durch Klick auf die grüne Flagge und spiele es.
Was fällt dir auf?
Analysieren und Gestalten
Behebe das Steuerungsproblem der Maus.
Finde die Stelle im Programm, die die aktuelle Mausposition untersucht.
Beschreibe den Untersuchungsbefehl (Wahrheitsblock) und den Reaktionsbefehl (Stapelblock) genau. Entsprechen diese den Anforderungen an das Spiel?
Behebe das Problem und beschreibe die Lösung.
Behebe das Landfahr-Problem.
Beschreibe die Inhalte des Klammerblocks, bei dem die Bedingung fehlt.
Gib die Bedingung an, unter der der Klammerblock ausgeführt werden muss.
Überarbeite die Bedingung.
Erweitern
Prüfe das Spiel auf Korrektheit. Korrigiere gegebenenfalls.
Erweitere das Spiel so, dass sich das Objekt balken dauerhaft um die eigene Achse dreht.
Erweitere das Spiel um Stromschnellen. Diese sollen im Wasser durch weiße Elemente dargestellt werden. Fährt das Boot über eine solche Stromschnelle, muss es kurzzeitig schneller werden.
Analysieren und Erweitern
Ermittle, wie die Zeit gemessen wird.
Erweitere das Spiel so, dass ein Highscore gespeichert wird. Nutze das vorherige Spiel, um dich geeignet zu informieren.
Erweitere das Spiel so, dass das Boot in einen Hafen einlaufen muss.
Die Analyse des Bootsspiels führte uns in einen neuen Block - den Datenblock.
Im Computerspiel müssen für Countdowns, Uhren oder Punkte Informationen gespeichert werden. Dazu nutzt man Variablen, die im Block Daten zunächst angelegt und mit einem sinnvollen Bezeichner benannt werden müssen. Im Skript kann man mit den Blöcken "setze' Variable' auf" einen Wert zuweisen oder mit "ändere 'Variable' erhöhen/vermindern. Der Wert der Variablen kann angezeigt und ausgegeben werden.
Gegeben ist der Entwurf für das Pong-Spiel. Spiele, korrigiere und vervollständige es.
Plane selbst ein kleines Spiel (Termin: 10.04.2018). Nutze dabei mindestens zwei Objekte, die auf Ereignisse (Tastendruck, Mausbewegung, Berührung, ...) reagieren. Verwende mindestens eine Variable, um Werte für Zeiten oder Zähler zu speichern und zu verarbeiten. Erstelle in der Textverarbeitung eine Beschreibung deiner Spielidee und eine Spielanleitung. Dokumentiere deine Programmierüberlegungen mit Hilfe von Kommentaren für Blöcke, die du im Kontextmenü des Blockes findest.