Lernpfad:Hehomon/9
Zur Navigation springen
Zur Suche springen
Um die Arena anzuzeigen, müssen wir noch ein Fenster erstellen, dass die Wurzel des Spiels enthält, an die wir den Arena-Knoten anhängen können.
Die Spielsteuerung
Die Spielsteuerung, oder einfach „das Spiel“, ist die Hauptklasse, die für den Start zuständig ist. Hier nimmt uns die Engine-Alpha eine Menge Arbeit ab. Dazu muss unsere Spiel
Klasse von der Oberklasse Game
aus der Engine erben und einige Vorgaben erfüllen:
- Die Klassen der Engine-Alpha müssen importiert werden (
import ea.*;
). Spiel
muss Unterklasse vonGame
sein (class Spiel extends Game
).- Der Konstruktor von
Game
muss mitsuper
aufgerufen werden. Er erwartet die Breite und Höhe des Programmfensters, sowie einen String, der als Titel angezeigt wird (super(960, 642, "Hehomon");
). - Die Methode
tasteReagieren( int pTastencode )
muss überschrieben werden (@Override public void tasteReagieren( int pTastencode ) {}
). - Ein Objekt von
Arena
muss erstellt werden, und mitwurzel.add( Knoten pKnoten )
an die Wurzel des Spiels angehängt werden. Die Arena soll in einer Objektvariablenview
abgespeichert werden.
Lösungshilfe
Baut die Klasse zusammen, indem ihr die Quelltexte und Kommentare den passenden Zeilennummern zuordnet.
1 | import ea.*; | // Import der Engine-Alpha |
2 | public class Spiel extends Game { | // Klassenkopf mit Vererbung |
3 | private Arena view; | // Objektvariable |
4 | public Spiel() { | // Konstruktor von Spiel |
5 | super(960, 642, "Hehomon"); | // Konstruktor von Game aufrufen |
6 | view = new Arena(); | // Arena-Objekt erstellen |
7 | wurzel.add(view); | // Arena der Wurzel anhängen |
8 | } // Ende Konstruktor | |
9 | @Override | // Methode überschreiben |
10 | public void tasteReagieren( int pTastencode ) { | //Methodenkopf tasteReagieren |
11 | } // Ende tasteReagieren | |
12 | } // Ende Klasse Spiel |
Lösung
import ea.*;
public class Spiel extends Game {
private Arena view;
public Spiel() {
super(960, 642, "Hehomon");
view = new Arena();
wurzel.add(view);
}
@Override
public void tasteReagieren(int tastencode) {
}
}
Erstellt nun in BlueJ ein neues Objekt von Spiel
und beobachtet, was passiert.