Keine Ausgabe in meinem Helden Programm

deathdragon

Mitglied
Hallo!
Bin beim OOP auf ein Tutorial auf youtube gestossen und habe fürs Verständnis mitprogrammiert.
Am Ende sollte er den Kampf ausgeben, macht er aber nicht. Ich kann den Fehler nicht finden!

Bitte um Hilfe.


Java:
package HeldenApp;



public class HeldenApp {

    public static void main(String[] args) {

        Held rudi= new Held("Rudi", 100, 100, 100, true);
        System.out.println(rudi.vorstellen());
        System.out.println("Name: " + rudi.getName());
        System.out.println("Kraft: " + rudi.getKraft());
        System.out.println("Geschick: " + rudi.getgeschicklichkeit());
        System.out.println("Lebenspunkte: " + rudi.getLebenspunkte());
        System.out.println("");
        
        
        Held hamlet= new Held("Hamlet", 100, 100, 100, false);
       System.out.println(hamlet.vorstellen());
        System.out.println("Name: " + hamlet.getName());
        System.out.println("Kraft: " + hamlet.getKraft());
        System.out.println("Geschick: " + hamlet.getgeschicklichkeit());
        System.out.println("Lebenspunkte: " + hamlet.getLebenspunkte());
        
        
        System.out.println(HeldenApp.kampf(hamlet, rudi));
    }
    
    
    public static String kampf(Held angreifer, Held verteidiger){
        //Name der Helden nochmals abspeichern (so man muss nicht immer die get-Methode aufrufen)
        String nameAngreifer = angreifer.getName();
        String nameVerteidiger = verteidiger.getName();
        
        String kampfgeschehen = nameAngreifer +" attackiert " + nameVerteidiger+"\n\n";
        
        //begrüssung
        kampfgeschehen+=angreifer.vorstellen() +"\n"+ verteidiger.vorstellen()+"\n\n";
        
        //Kampf
        while(angreifer.getLebenspunkte() > 0 && verteidiger.getLebenspunkte() > 0){
            //Angriff auf den Verteidiger
            kampfgeschehen += nameAngreifer +" schlägt "+ nameVerteidiger + "\n"
                                + nameVerteidiger + " erleidet Schaden von " + angreifer.schlagen(verteidiger) +
                                        " und hat noch " + verteidiger.getLebenspunkte()+"Lebenspunkte.\n\n";
            //Verteidiger antwortet
            kampfgeschehen += nameVerteidiger +" schlägt "+ nameAngreifer + "\n"
                                + nameAngreifer + " erleidet Schaden von " + verteidiger.schlagen(angreifer) +
                                        " und hat noch " + angreifer.getLebenspunkte()+"Lebenspunkte.\n\n";            
        }
        
        if(angreifer.getLebenspunkte() > 0){
            kampfgeschehen+=verteidiger.sterben();
        } else {
            kampfgeschehen+=angreifer.sterben();
        }
        
        return kampfgeschehen;
        
        
    }

}


Meine Helden-Klasse:

Java:
package HeldenApp;

public class Held {

    //Attribute
    private String name;
    private int lebenspunkte;
    private int kraft;              //nicht höher als 100!
    private int geschicklichkeit;   //nicht höher als 100!
    private boolean boese;

    public Held(String name, int lebenspunkte, int kraft, int geschicklichkeit, boolean boese) {

        this.name = name;
        this.boese = boese;

        if (lebenspunkte > 0) {
            this.lebenspunkte = lebenspunkte;
        }
        if (kraft > 0) {
            this.kraft = kraft;
        }
        if (geschicklichkeit > 0) {
            this.geschicklichkeit = geschicklichkeit;
        }

    }

    //getter und setter
    public void boese(boolean boese) {
        this.boese = boese;
    }

    public boolean isBoese() {
        return boese;
    }

    public String getName() {
        return name;
    }

    public int getKraft() {
        return kraft;
    }

    public boolean setKraft(int kraft) {
        if (kraft > 0) {
            this.kraft = kraft;
            return true;
        }
        return false;
    }

    public int getgeschicklichkeit() {
        return geschicklichkeit;
    }

    public boolean setgeschicklichkeit(int geschicklichkeit) {
        if (geschicklichkeit > 0) {
            this.geschicklichkeit = geschicklichkeit;
            return true;
        }
        return false;
    }

    public int getLebenspunkte() {
        return lebenspunkte;
    }

    public boolean setLebenspunkte(int lebenspunkte) {
        if (lebenspunkte > 0) {
            this.lebenspunkte = lebenspunkte;
            return true;
        }
        return false;
    }

    //Objektmethode zur Begrüssung
    public String vorstellen() {
        if (boese) {
            return "HARHAR - mein Name ist " + name + ", der dunkle Herrscher!";
        } else {
            return "Ich bin " + name + ",ein Krieger des Lichts!";
        }
    }

    //Held erleidet Schaden
    public void reduziereLebenspunkte(int schaden) {
        if (schaden >= lebenspunkte) {
            lebenspunkte = 0;
        } else {
            lebenspunkte -= schaden;
        }

    }

    //Methode zum angreifen
    public int schlagen(Held andererHeld) {

        int schaden = 0;

        //Schaden kann nur gemacht werden wenn der Gegner noch lebt
        if (lebenspunkte > 0) {
            schaden = (int) (kraft * (1 - andererHeld.geschicklichkeit / 100) * Math.random()); //je höher geschick des anderen, umso höher der schaden!
            andererHeld.reduziereLebenspunkte(schaden);
        } 
        return schaden;
    }

    //Methode zum sterben
    public String sterben() {
        if (boese) {
            return name + ": ARRRRGGGGG - das Böse wird sich rächen!";
        } else {
            return name + ": Das Licht wird über dich fallen!";

        }
    }

}
 

Flown

Administrator
Mitarbeiter
Die Schadensberechnung in der Methode schlagen in der Heldklasse ist Fehlerhaft. Wenn dein Held 100 Geschicklichkeit erhält, dann wird der Wert 0 und somit erleiden beide Opponenten keinen Schaden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
Khorgoroth Erste Schritte Keine Ausgabe Java Basics - Anfänger-Themen 2
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
Henri keine Ausgabe Java Basics - Anfänger-Themen 5
M Keine Ausgabe Java Basics - Anfänger-Themen 4
E Keine Ausgabe der Konsole Java Basics - Anfänger-Themen 4
M Keine Ausgabe nach erfolgreichem Kompilieren (javac, ubuntu) Java Basics - Anfänger-Themen 10
S Keine Ausgabe, beim einlesen Java Basics - Anfänger-Themen 4
M Objekt Array - keine ausgabe! Java Basics - Anfänger-Themen 8
H Warum gibt die Konsole keine Ausgabe? Java Basics - Anfänger-Themen 18
J bekomme keine ausgabe! Java Basics - Anfänger-Themen 40
S Bekomme Keine Ausgabe Java Basics - Anfänger-Themen 9
V ganz kurzes kskb mit Problem - keine Ausgabe Java Basics - Anfänger-Themen 2
W Problem mit iReport: Keine Ausgabe Java Basics - Anfänger-Themen 9
T keine Ausgabe von toString obwohl keine Fehlermeldung Java Basics - Anfänger-Themen 5
K Keine Ausgabe mit passthru in PHP (kein PHP Fehler!) Java Basics - Anfänger-Themen 3
E JOptionPane macht keine Ausgabe Java Basics - Anfänger-Themen 11
krgewb Keine richtige Doku Java Basics - Anfänger-Themen 5
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
G Endlosschleife keine Rückgabe Java Basics - Anfänger-Themen 36
Nooobi Regex und .matches() geben keine Ausnahme Java Basics - Anfänger-Themen 10
berserkerdq2 Warum ist das keine Referenzkopie mehr? Java Basics - Anfänger-Themen 26
O Java 17 keine Pflicht um Exceptiones zu behandeln? Java Basics - Anfänger-Themen 2
nbergmann Installation unter jdk.java.net: Keine ZIP-Datei zum entpacken Java Basics - Anfänger-Themen 2
M Eclipse kennt keine String Klasse mehr Java Basics - Anfänger-Themen 1
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
M Keine Ausführung von System.out.println() Java Basics - Anfänger-Themen 3
H Warum kann man keine Parameter in die main-Methode packen? Java Basics - Anfänger-Themen 4
B Nach eingefügtem Code erkennt Compiler keine Instanzvar und meldet SyntaxError Java Basics - Anfänger-Themen 2
A keine Ergebnisse - String nummer in array nummer converting Java Basics - Anfänger-Themen 1
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
B Ich kann keine Hühner töten Java Basics - Anfänger-Themen 49
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
I Regex findet keine Treffer Java Basics - Anfänger-Themen 4
T Bei mir wird keine javac angezeigt sondern nur javacpl Java Basics - Anfänger-Themen 2
R Keine Verbindung mit MariaDB Java Basics - Anfänger-Themen 18
O Input/Output newbile und keine Ahnung! Java Basics - Anfänger-Themen 16
S Kann keine Bilder laden? Java Basics - Anfänger-Themen 9
C Problem: PC ohne Internet und keine Möglichkeit Programme zu laden Java Basics - Anfänger-Themen 5
R Keine Verbindung zu MySql über Netbeans Java Basics - Anfänger-Themen 15
D jsoup.select findet keine elemente Java Basics - Anfänger-Themen 2
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
W Was bedeutet im Struktogramm „zufall“ aufrufen (keine Parameterübergabe)? Java Basics - Anfänger-Themen 8
T Keine Ahnung vom Programieren Java Basics - Anfänger-Themen 28
A SelectionSort bringt keine konstanten Ergebnisse Java Basics - Anfänger-Themen 4
J RPN Taschenrechner - keine Lösung!! Java Basics - Anfänger-Themen 84
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
C Keine javac.exe in bin-Datei Java Basics - Anfänger-Themen 3
A Vollkommene Zahlen: Findet keine Einzige Java Basics - Anfänger-Themen 9
J Input/Output javac HelloWorld.java - Keine Textausgabe in der Konsole Java Basics - Anfänger-Themen 4
H JDK installieren keine Installationsroutine bei Javainstallation sichtbar Java Basics - Anfänger-Themen 4
H Buttons zeigen keine Reaktion Java Basics - Anfänger-Themen 6
I Programm von mir - keine Ahnung mehr ob richtig falsch:-( Java Basics - Anfänger-Themen 6
D Datentypen Datentyperstellung | Kompiler sagt Syntax Error doch ich find keine Lösung Java Basics - Anfänger-Themen 2
snipesss IDE zeigt keine Fehler an, Programm wird jedoch nicht ausgeführt. Java Basics - Anfänger-Themen 18
Z AWT package -> keine Konsole? Java Basics - Anfänger-Themen 2
J TableView zeigt keine Daten an Java Basics - Anfänger-Themen 14
C Java stellt unter Windows keine Umlaute dar Java Basics - Anfänger-Themen 9
A Keine Konsolenausgabe Java Basics - Anfänger-Themen 5
D Methoden Filewriter macht keine Zeilenumbrüche Java Basics - Anfänger-Themen 3
D Compiler-Fehler NullPointerExeption aber Ecplise zeigt keine Fehler an?! Java Basics - Anfänger-Themen 8
D addActionListener zeigt keine Wirkung Java Basics - Anfänger-Themen 8
S Warum erlaubt ein while-Loop keine Variablen-Declaration wie der for-Loop..? Java Basics - Anfänger-Themen 6
M Lottozahlen 6 aus 49 keine doppelten Java Basics - Anfänger-Themen 5
C PrintWriter schreibt keine in Strings enthaltenen Zeilenumbrüche Java Basics - Anfänger-Themen 9
D Keine Funktion bei "else" Java Basics - Anfänger-Themen 5
J Rückgabe als Wert, keine Referenz Java Basics - Anfänger-Themen 3
K Keine doppelten Zufallszahlen im Array Java Basics - Anfänger-Themen 17
X Einfach verkettete Liste, keine Fehlermeldung Programm friert ein Java Basics - Anfänger-Themen 4
1 Mini Programm, keine Eingabe möglich.. Java Basics - Anfänger-Themen 6
P Wiedereinstieg und kann keine Dateien mehr öffnen... Java Basics - Anfänger-Themen 13
R Keine doppelten Zufallszahlen Java Basics - Anfänger-Themen 2
T Buffererwriter keine Exception obwohl Client weg Java Basics - Anfänger-Themen 2
D Java Eclipse hat scheinbar keine library Java Basics - Anfänger-Themen 2
M Keine Datenbank verbindung Java Basics - Anfänger-Themen 14
Pentalon Eclipse JUNO keine Vorschläge von Methoden bzw. Interfaces der eigenen Klassen Java Basics - Anfänger-Themen 5
tuttle64 Keine Umlaute im Dos Fenster Java Basics - Anfänger-Themen 12
D Erstellte Jar datei zeigt keine Bilder an Java Basics - Anfänger-Themen 5
L Klassen Ich kann keine .jar Dateien mehr öffnen Java Basics - Anfänger-Themen 4
J Haben Chars wirklich keine KeyCodes? Java Basics - Anfänger-Themen 12
L Applet : keine Recht für Zugriff auf Clipboard (trotz Zertifikat) Java Basics - Anfänger-Themen 4
A contains bzw. indexOf liefert keine Treffer? Java Basics - Anfänger-Themen 3
M Java Webstart keine Zugriffe Java Basics - Anfänger-Themen 7
W Eclipse erstellt keine Klassen Java Basics - Anfänger-Themen 6
B Aus einem Eclipse Projekt eine .jar - keine Bilder drin Java Basics - Anfänger-Themen 7
K org.h2.jdbc.JdbcSQLException: Keine Daten verfügbar Java Basics - Anfänger-Themen 9
J Mehrere Zufallszahlen erzeugen, aber keine darf doppelt erzeugt werden - Wie? Java Basics - Anfänger-Themen 5
E String soll mit Großbuchstaben anfangen und keine Sonderzeichen enthalten Java Basics - Anfänger-Themen 4
P Zugriff auf Attribute einer Klasse, zu der keine Verbindung besteht Java Basics - Anfänger-Themen 11
J InputStreamReader + BufferedReader - keine Eingabemöglichkeit Java Basics - Anfänger-Themen 10
T JTable keine spaltenbeschriftung Java Basics - Anfänger-Themen 2
G Input/Output FilenameFilter aber bitte keine Unterordner Java Basics - Anfänger-Themen 5
M nach jar export keine db abfrage möglich Java Basics - Anfänger-Themen 2
G JDK installieren keine eclipse.exe gefunden Java Basics - Anfänger-Themen 16
S Erste Schritte Wo steht eigentlich das ein jar keine andere jars enthalten darf? Java Basics - Anfänger-Themen 19
O Erste Schritte Klassenname zurückgeben, keine instanz Java Basics - Anfänger-Themen 23
K keine Reaktion im TableModel nach ändern der liste? Java Basics - Anfänger-Themen 2
T keine buchstaben!nur zahlen eingabe möglich Java Basics - Anfänger-Themen 48

Ähnliche Java Themen

Neue Themen


Oben