Lernpfad:Hehomon/9: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Arbeitsauftrag
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 16: | Zeile 16: | ||
{{Aufgabe:Start}} | {{Aufgabe:Start}} | ||
Erstellt die Klasse <code>Spiel</code> | Erstellt die Klasse <code>Spiel</code> nach den Vorgaben oben. | ||
{{Aufgabe:End}} | |||
{{Lösung:Start|Hinweise}} | |||
<zuordnung> | |||
Baue das korrekte Programm zusammen: | |||
::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(906, 438, "Hehomon");::// Konstruktor von Game aufrufen | |||
::6:: view = new Arena();::// Arena-Objekt erstellen | |||
::7:: wurzel.add(view);::// Arena der Wurzel anhängen | |||
::8:: } | |||
::9::} | |||
</zuordnung> | |||
{{Lösung:End}} | |||
{{Lösung:Start}} | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
import ea.*; | import ea.*; | ||
| Zeile 32: | Zeile 48: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{ | {{Lösung:End}} | ||
Erstellt nun in {{BlueJ}} ein neues Objekt von <code>Spiel</code> und beobachtet, was passiert. | Erstellt nun in {{BlueJ}} ein neues Objekt von <code>Spiel</code> und beobachtet, was passiert. | ||
Version vom 28. Februar 2020, 14:27 Uhr
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 eq.*;). Spielmuss Unterklasse vonGamesein (class Spiel extends Game).- Der Konstruktor von
Gamemuss mitsuperaufgerufen werden. Er erwartet die Breite und Höhe des Programmfensters, sowie einen String, der als Titel angezeigt wird (super(906, 438, "Hehomon");). - Die Methode
tasteGedrueckt( int pTastencode )muss überschrieben werden (@Override public void tasteGedrueckt( int pTastencode ) {}). - Ein Objekt von
Arenamuss erstellt werden, und mitwurzel.add( Knoten pKnoten )an die Wurzel des Spiels angehängt werden. Die Arena soll in einer Objektvariablenviewabgespeichert werden.
Erstellt die Klasse Spiel nach den Vorgaben oben.
Hinweise
Baue das korrekte Programm zusammen:
| 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(906, 438, "Hehomon"); | // Konstruktor von Game aufrufen |
| 6 | view = new Arena(); | // Arena-Objekt erstellen |
| 7 | wurzel.add(view); | // Arena der Wurzel anhängen |
| 8 | } | |
| 9 | } |
Lösung
import ea.*;
public class Spiel extends Game {
private Arena view;
public Spiel() {
super(906, 438, "Hehomon");
view = new Arena();
wurzel.add(view);
}
}
Erstellt nun in BlueJ ein neues Objekt von Spiel und beobachtet, was passiert.