Benutzer-Werkzeuge

Webseiten-Werkzeuge


g9:uebungen:spiele9

Dies ist eine alte Version des Dokuments!


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 Methoden setup (wird 1-mal zu Beginn aufgerufen) und draw (wird anschließend 30-mal pro Sekunde aufgerufen). Bei jedem Aufruf von draw wird der Zeichenbereich gelöscht und muss komplett neu gezeichnet werden. Es gibt keine Klassen für graphische Objekte, sondern nur Zeichen-Methoden der Klasse PApplet wie circle, 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 Methoden AktionAusführen (wird 30-mal pro Sekunde aufgerufen) die Figur animieren und durch Überschreiben der Methoden TasteGedrückt und MausGeklickt auf Tastatur- und Mauseingaben reagieren. Die Interaktion mit anderen graphischen Objekten geschieht über die Methoden Berührt() und Berü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 Methode act, die 30-mal pro Sekunde aufgerufen wird sowie Methoden onKeyDown, onMouseMove, usw. zum Reagieren auf Tastatur- und Mausereignisse. Zudem lässt sich der Status der Tasten auch mit isKeyDown(String taste) jederzeit abfragen. Die Interaktion mit anderen graphischen Objekten gelingt mit der Methode collidesWithAnyShape(), 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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki