Adventuregame Folge 2

Der Held

Übung Adventure 2.1 (3 Punkte)

Schreiben Sie nun eine völlig neue Klasse Held, welche folgende Attribute hat:

String name;

double leben;

Gegenstand waffe, schild, ruestung;

Der Konstruktor des Helden soll so aussehen:

public Held(String name)
{
   this.name = name;
   leben = 100;
   waffe = null;
   schild = null;
   ruestung = null
}

Dem Konstruktor wird also der Name des Helden übergeben, die Lebenspunkte werden auf 100 gesetzt, und die Attribute für die drei wichtigen Gegenstände bleiben zunächst einmal leer; sie werden auf den Wert null gesetzt. Dabei ist null nicht die Zahl Null, sondern ein Zeiger, der ins Leere zeigt.

Variante A - drei Methoden zum Anlegen von Gegenständen

Schreiben Sie drei Methoden

public void neueWaffeAnlegen(Gegenstand neu)

public void neuenSchildAnlegen(Gegenstand neu)

public void neueRuestungAnlegen(Gegenstand neu)

welche dafür sorgen, dass der Held den neuen Gegenstand als Waffe, Schild oder Rüstung anlegt. Selbstverständlich darf ein Schild nicht als Waffe oder ein Schwert nicht als Rüstung angelegt werden; bauen Sie entsprechende Kontrollmechanismen in die drei Methoden ein.

Variante B - nur eine Methode zum Anlegen von Gegenständen

Alternativ zur Variante A können Sie auch eine Methode

public void anlegen(Gegenstand neu)

schreiben. Der Gegenstand neu soll als Waffe, Schild oder Rüstung angelegt werden. Auch hier muss vor dem Anlegen überprüft werden, ob es sich um eine Waffe, einen Schild oder eine Rüstung handelt.

Zum Testen der Methoden benötigen Sie eine anzeigen()-Methode für die Klasse Held, das heißt, Sie müssen erst Übung 2.2 lösen.

Hinweise zur Lösung der Übung 2.1 finden Sie hier.

Übung 2.2 (2 Punkte)

Schreiben Sie eine möglichst kurze (!) anzeigen(Graphics g)-Methode für den Helden, die alle Attribute des Helden korrekt in dem Applet anzeigt. Ohne diese Methode können Sie nicht ergründen, ob Sie bei Übung 2.1 Erfolg hatten!

Übung 2.3 (2 Punkte)

Schreiben Sie eine Methode ablegen() mit folgendem Funktionskopf:

public Gegenstand ablegen(int typ)

welche einen Gegenstand - sofern überhaupt angelegt - wieder entfernt und gleichzeitig als Parameter zurückgibt. Mal angenommen, zwei Helden heini und kurt treffen sich im Spiel und kurt will heini sein Schwert geben, so könnte man dann im Test-Applet schreiben:

heini.anlegen(kurt.ablegen(1));

oder übersichtlicher:

Gegenstand schwert = kurt.ablegen(1);
heini.anlegen(schwert);

Dumm, wenn kurt gar keine Waffe hatte. Dann wird nämlich der Wert null als Parameter zurückgegeben und heini legt dann quasi ein "leeres Schwert", nämlich den Wert null, an. Es sei denn, man formuliert bei der längeren Variante die Übergabe so:

if (schwert != null) heini.anlegen(schwert);

Weiter mit der Folge 3 des Spiels:
Anzeigen von Graphiken

ODER

Weiter mit der Folge 5 des regulären Kurses:
Arrays

Diese HTML-Seite wurde erstellt von Ulrich Helmich am 20. Februar 2005 und stark verändert am 15. Febraur 2006.





IMPRESSUM