OOP Mein erstes Textadventure...

MartinK84

Mitglied
Hallo,

um OOP zu üben schreibe ich ein kleines Textadventure, siehe Anhang, bislang habe ich folgende Fragen:
-Ich habe einen Gesundheitstrank instanziert und wenn man einen trinkt, sollen die Vitalpunkte von Mensch um 25 erhöht werden. Eclipse meckert, dass heilung auf static setzen soll, aber warum? Ich habe den Trank doch instanziert?
-Ich habe einen Menschen instanziert und die Variablen Name=Martin, Vitalpunkte=100,Goldtaler=200 und AnzahlTrank=0 instanziert, aber irgendwie meckert der Konstruktor bei this.goldtaler und this.anzahlTrank. Somit funktioniert die Methode "kaufeTrank" auch nicht.

Vielen Dank im Voraus!
Viele Grüße
Martin
 

Anhänge

Ich habe den Trank doch instanziert?
Du hast den Trank in main instantiiert, davon weiß Dein Martin aber nichts. Damit Martin mit der Instanz etwas anfangen kann, musst Du sie an Martin übergeben.

Nachtrag: das ist ungefähr so, als ob der Wirt ein Bier einschenkt, das Glas hinter dem Tresen versteckt und zu Dir sagt: trink das Bier!

irgendwie meckert der Konstruktor bei this.goldtaler und this.anzahlTrank.
Ja, weder Deine Klasse Mensch noch die Basisklasse Lebewesen haben entsprechende Instanzvariablen deklariert. Lebewesen kennt vitalpunkte, name, opfer, Mensch fügt keine weiteren hinzu.
 
Ach alles klar, es hat bei mir klick gemacht.
In der Klasse Mensch muss ich ergänzen:
public int goldtaler;
public int anzahlTrank;
public Gesundheitstrank trank;
Und damit läuft das auch!
Danke!
 

Neue Themen


Zurück
Oben