g9:uebungen:spiele9
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Spieleprogrammierung in Jgst. 9
Der bayerische Lehrplan der Jahrgangsstufe 9 sieht noch keine Objektreferenzen in Attributen vor. Dies schränkt die Programmierung umfangreicherer Spiele deutlich ein, mit etwas Geschick kann man aber doch zu ansprechenden Ergebnissen kommen.
Strategien:
- Verwendung der Processing-API: Die Hauptklasse des Programms erbt von der Klasse
PAppplet
und überschreibt deren Methodensetup
(wird 1-mal zu Beginn aufgerufen) unddraw
(wird anschließend 30-mal pro Sekunde aufgerufen). Bei jedem Aufruf vondraw
wird der Zeichenbereich gelöscht und muss komplett neu gezeichnet werden. Es gibt keine Klassen für graphische Objekte, sondern nur Zeichen-Methoden der KlassePApplet
wiecircle
,rectangle
usw. Der Zustand des Programms kann daher komplett in Attributen mit primitiven Datentypen gespeichert werden. Beispiele dafür finden Sie im Klett-Buch, zudem hier eine Einführung in die Processin-Programierung mit der Online-IDE. - Verwendung der Graphics and Games-API des Cornelsen-Verlages: Zentraler Angelpunkt ist hier die Klasse
Figur
. Erbt man von ihr, so kann man durch Überschreiben der MethodenAktionAusführen
(wird 30-mal pro Sekunde aufgerufen) die Figur animieren und durch Überschreiben der MethodenTasteGedrückt
undMausGeklickt
auf Tastatur- und Mauseingaben reagieren. Die Interaktion mit anderen graphischen Objekten geschieht über die MethodenBerührt()
undBerührt(String farbe)
. Sie geben genau dann true zurück, wenn die Figur irgendein graphisches Objekt berührt bzw. eines mit der angegebenen Farbe. Hier eine Beschreibung, wie sich die Graphics and Games-API in der Online-IDE nutzen lässt. - Verwendung der Graphik-API der Online-IDE: Jede graphische Klasse erbt von der Klasse
Actor
. Sie besitzt eine überschreibbare Methodeact
, die 30-mal pro Sekunde aufgerufen wird sowie MethodenonKeyDown
,onMouseMove
, usw. zum Reagieren auf Tastatur- und Mausereignisse. Zudem lässt sich der Status der Tasten auch mitisKeyDown(String taste)
jederzeit abfragen. Die Interaktion mit anderen graphischen Objekten gelingt mit der MethodecollidesWithAnyShape()
, die genau dann true zurückgibt, wenn das graphische Objekt ein anderes berührt.
Verwendung der Grafikklassen der Online-IDE
Beispiel 1: Pong
Die Klassen Ball und Schläger stehen in keiner Beziehung zueinander: Der Ball erkennt mit der Methode collidesWithAnyShape
, ob er mit einem der beiden Schläger zusammenprallt, an der y-Koordinate, ob er den oberen/unteren Rand berührt und an der x-Koordinate, ob ein Tor geschossen wurde.
g9/uebungen/spiele9.1656601919.txt.gz · Zuletzt geändert: 2022/06/30 17:11 von Martin Pabst