Hallot Leute, ich muss euch ein zweites mal belästigen ^^ Um mir die Basics und das logische Verständniss für das Programmieren anzueignen, bastel ich derzeit einen Textadventure zusammen. Ich arbeite mit mehreren Klassen, Methode etc. Mein Problem ist wie folgt: Ich habe meine Klasse Dialoge, wo ich eben alle Dialoge die im Verlauf des Spiels geschehen sollen als Methode schreibe, um diese dann in der Main dann nur als Methode aufrufen zu müssen. Der Spieler soll eine Gabe der Feenkönigin erhalten, jedoch kann der Spieler dieses event auch skippen. Nun möchte ich einen boolean am ende des Dialogs einbauen welcher dann, da die Gabe Angriffsboni hat, in der Kampf klasse per if abfrage eben bei wahr mit und bei false eben nicht mit eingerechnet wird.
Ich habe nun seit 3 Stunden herum gelesen und in den meisten fällen ist die Lösung getter und setter, wie ich gelesen habe. Jedoch kann ich nun keine Methode in einer Methode einbauen, oder?
Ich bin nun erstmal traurig schlafen xD und ich danke schonmal für jede Hilfe von euch!
Hier mal der Code von der Dialog und Kampf Klasse:
[CODE lang="java" title="Der Dialog"]if(choice == 1) {
System.out.println("Held: Das würdet ihr für mich tun, "+fairy.fairyname+"? Ich werde eure Gabe nicht verschwenden!");
scanner.nextLine();
System.out.println("Fee: Kniet euch hin werter Held der Menschen. Ich werde euch nun die Gabe der Königin der Feen verleihen. Auf dass ihr sie weise nutzt.");
scanner.nextLine();
System.out.println("Die Fee fängt an auf einer Sprache zu singen welche ihr nicht versteht. Die Luft ist vor Magie nur so am knistern, man kann es richtig spüren.");
scanner.nextLine();
System.out.println("Ihr spürt wie die vorher noch in der Luft merkbare Magie nun in euren Körper strömt. Es fühlt sich unglaublich an!");
scanner.nextLine();
System.out.println("Fee: "+spieler.name+", das Ritual ist beendet. Erhebt euer Haupt, Held, ihr seid nun ein Verbündeter der Feen. Auf eine gute Zusammenarbeit.");
scanner.nextLine();
System.out.println("Ihr erhaltet: "+gabe.gabe+" Euer Schaden wird erhöht und der erlittene Schaden wird verringert.");
scanner.nextLine();
System.out.println("Fee: Diese Gabe wird euch bei eurem Kampf gegen den Drachen sehr unterstützen. Nun geht, "+spieler.name+", ihr müsst eure Aufgabe erfüllen. Viel Glück!");
scanner.nextLine();
System.out.println("Nachdem "+fairy.fairyname+" dich mit einem Lächeln und einer Winkenden Hand verabschiedete, verschwand sie im Garten");
}[/CODE]
[CODE lang="java" title="Methode fürs ausrechnen vom Schaden"]public void Kampf() { //Bei den Parametern in den If Anweisungen nichts bei denken, war nur am herumexperimentieren ^^
if(amuletErhalten(true) && gabeErhalten(true)) {
spieler.schaden = spieler.schaden + items.amuletdamage + items.angriffGabe;
spieler.absorb = spieler.absorb + schild.schildAbsorb + gabe.angriffGabe + items.amuletdefence;
}
else if(amuletErhalten(true) && gabeErhalten(false)) {
spieler.schaden = spieler.schaden + items.amuletdamage;
spieler.absorb = spieler.absorb + schild.schildAbsorb + items.amuletdefence;
}
else if(amuletErhalten(false) && gabeErhalten(true)) {
spieler.schaden = spieler.schaden + items.angriffGabe;
spieler.absorb = spieler.absorb + schild.schildAbsorb + gabe.angriffGabe;
}
else {
spieler.schaden = spieler.schaden + items.schwertDamage;
spieler.absorb = spieler.absorb + items.schildAbsorb;
}
}[/CODE]
Ich habe nun seit 3 Stunden herum gelesen und in den meisten fällen ist die Lösung getter und setter, wie ich gelesen habe. Jedoch kann ich nun keine Methode in einer Methode einbauen, oder?
Ich bin nun erstmal traurig schlafen xD und ich danke schonmal für jede Hilfe von euch!
Hier mal der Code von der Dialog und Kampf Klasse:
[CODE lang="java" title="Der Dialog"]if(choice == 1) {
System.out.println("Held: Das würdet ihr für mich tun, "+fairy.fairyname+"? Ich werde eure Gabe nicht verschwenden!");
scanner.nextLine();
System.out.println("Fee: Kniet euch hin werter Held der Menschen. Ich werde euch nun die Gabe der Königin der Feen verleihen. Auf dass ihr sie weise nutzt.");
scanner.nextLine();
System.out.println("Die Fee fängt an auf einer Sprache zu singen welche ihr nicht versteht. Die Luft ist vor Magie nur so am knistern, man kann es richtig spüren.");
scanner.nextLine();
System.out.println("Ihr spürt wie die vorher noch in der Luft merkbare Magie nun in euren Körper strömt. Es fühlt sich unglaublich an!");
scanner.nextLine();
System.out.println("Fee: "+spieler.name+", das Ritual ist beendet. Erhebt euer Haupt, Held, ihr seid nun ein Verbündeter der Feen. Auf eine gute Zusammenarbeit.");
scanner.nextLine();
System.out.println("Ihr erhaltet: "+gabe.gabe+" Euer Schaden wird erhöht und der erlittene Schaden wird verringert.");
scanner.nextLine();
System.out.println("Fee: Diese Gabe wird euch bei eurem Kampf gegen den Drachen sehr unterstützen. Nun geht, "+spieler.name+", ihr müsst eure Aufgabe erfüllen. Viel Glück!");
scanner.nextLine();
System.out.println("Nachdem "+fairy.fairyname+" dich mit einem Lächeln und einer Winkenden Hand verabschiedete, verschwand sie im Garten");
}[/CODE]
[CODE lang="java" title="Methode fürs ausrechnen vom Schaden"]public void Kampf() { //Bei den Parametern in den If Anweisungen nichts bei denken, war nur am herumexperimentieren ^^
if(amuletErhalten(true) && gabeErhalten(true)) {
spieler.schaden = spieler.schaden + items.amuletdamage + items.angriffGabe;
spieler.absorb = spieler.absorb + schild.schildAbsorb + gabe.angriffGabe + items.amuletdefence;
}
else if(amuletErhalten(true) && gabeErhalten(false)) {
spieler.schaden = spieler.schaden + items.amuletdamage;
spieler.absorb = spieler.absorb + schild.schildAbsorb + items.amuletdefence;
}
else if(amuletErhalten(false) && gabeErhalten(true)) {
spieler.schaden = spieler.schaden + items.angriffGabe;
spieler.absorb = spieler.absorb + schild.schildAbsorb + gabe.angriffGabe;
}
else {
spieler.schaden = spieler.schaden + items.schwertDamage;
spieler.absorb = spieler.absorb + items.schildAbsorb;
}
}[/CODE]