Methoden Einfache Loops?

Racheon

Mitglied
Hallo, ich bin jetzt über meinen letzten Fehler hinweggekommen ( Ich habe statt println immer printIn geschrieben, danke nochmal :p), aber jetzt brauche ich erneut Hilfe. Ich habe diesmal keine Compilerfehler oder so etwas, habe aber ein kleines Textadventure geschrieben/angefangen, dass ich noch um ein paar Sachen erweitern will, damit es auch etwas spannend ist. Bisweilen bin ich so weit gekommen:
Java:
public class TextAdventure 
{
	public static void main(String[] args)
	{
        double money = 5; double life = 100; byte level = 1; double treasureRandom = Math.random() * 10;
		byte runaway1 = 1; byte fight1 = 2;
		
		System.err.println("STATUS");
		System.out.println("LEVEL: " + level);
		System.out.println("LEBEN: " + life);
		System.out.println("GOLD: " + money);
		System.out.println();
        
        System.out.println("Du bist auf einer Weggabelung. Richtung 1 oder 2?");
        int directionChoose1 = new java.util.Scanner(System.in).nextInt();
        
        
        if(directionChoose1 == 1)
        {
        	System.out.println();
            System.out.println("Ein Monster erscheint!");
            System.out.println("Willst du 1: Wegrennen oder 2: Kämpfen?");
            byte chooseOption = new java.util.Scanner(System.in).nextByte();
            
            if(chooseOption == 1)
            {
            	System.out.println();
            	System.out.println("Du bist geflüchtet. Spiel zuende.");
            }
            
            if(chooseOption == 2)
            {
            	double lifeMonster = 10;
            	System.out.println();
            	System.out.println("Der Kampf beginnt!");
            	    
            	if(lifeMonster > 0)
            	{
            		double attackMonster1 = Math.random() * 10;
            	    System.out.println();
            	    System.out.println("1: Angreifen");
            	    double attack1 = Math.random() * 10;
            	    System.out.printf("Du erzielst %s Schadenspunkte%n", attack1);
            	    lifeMonster -= attack1;
            	    System.out.printf("Dem Monster verbleiben %s Lebenspunkte!%n", lifeMonster);
            	    life -= attackMonster1;
            	    System.out.printf("Das Monster greift an und verursacht %s Schadenspunkte!%n", attackMonster1);
            	    System.out.printf("Dir verbleiben %s Lebenspunkte.%n", life);
            	    System.out.println("Gib 'next' ein, um fortzufahren.");
            	    String randomType = new java.util.Scanner(System.in).nextLine();
            	    
                	if(lifeMonster > 0)
                	{
                		double attackMonster2 = Math.random() * 10;
                	    System.out.println();
                	    System.out.println("1: Angreifen");
                	    double attack2 = Math.random() * 10;
                	    System.out.printf("Du erzielst %s Schadenspunkte%n", attack1);
                	    lifeMonster -= attack2;
                	    System.out.printf("Dem Monster verbleiben %s Lebenspunkte!%n", lifeMonster);
                	    life -= attackMonster2;
                	    System.out.printf("Das Monster greift an und verursacht %s Schadenspunkte!%n", attackMonster2);
                	    System.out.printf("Dir verbleiben %s Lebenspunkte.%n", life);
                	}  
                	
                	if(lifeMonster < 0)
                	{
                		System.out.println();
                		System.out.println("Monster wurde besiegt! Glückwunsch!");
                	}
            	}  
            }
        }
        
        if(directionChoose1 == 2)
        {
        	System.out.println();
        	System.out.println("Du findest eine Schatztruhe!");
        	money += treasureRandom;
        	System.out.printf("Du hast %s Gold gefunden! Du hast nun %s Gold!%n", treasureRandom, money);
        }
	}

}

Der Code ist schon etwas länger, ich hoffe ihr könnt ihn euch 5 Minuten durchlesen.
Ich erkläre kurz:Am Anfang kann man Links oder Rechts gehen, dann bekommt man entweder eine Truhe mit Geld oder der Kampf gegen ein Monster beginnt.
Und da würde ich gerne wissen, wie man von der Zeile
Java:
            	if(lifeMonster > 0)
bis
Java:
                	if(lifeMonster < 0)
                	{
                		System.out.println();
                		System.out.println("Monster wurde besiegt! Glückwunsch!");
                	}

einen Loop macht, damit der Kampf rundenbasiert abläuft. (Es wird solange wiederholt, bis die Datei merkt dass lifeMonster kleiner als Null ist.)
Am besten mit Code posten :D

Der Code ist schlecht, bin immer noch ein Anfänger :)
Ich würde ansonsten noch gerne wissen;
- gibt es eine andere Möglichkeit ausser Math.random, eine zufällige Zahl zu generieren, denn Math.random nutzt ja soweit ich weiss immer double und generiert Kommazahlen. Wie macht man Nicht-Kommazahlen?
- und selbst wenn ich einen Loop einbauen würde, wie kann ich es dann schaffen, dass bei jeden Runde ein neuer Monster- und Spielerangriffsschaden generiert wird?

Wenn ihr mir helfen könnt, danke, ansonsten... Ich habe es etwas kompliziert geschrieben :/
 

Xeonkryptos

Bekanntes Mitglied
Ohne jetzt genauer und intensiv genug in deinen Code zu schauen, um nachvollziehen zu können, was du da alles gemacht hast, empfehle ich dir eine while-Schleife:

Java:
while(lifeMonster > 0) { // Mache irgendetwas tolles
}

Eine andere Möglichkeit, um Random-Zahlen zu erstellen ist die Klasse [JAPI]Random[/JAPI]

Da kannst du das zum Beispiel so machen

Java:
Random rnd = new Random()
int life = rnd.nextInt(10) + 1

Damit würdest du eine Zahl zwischen 1 bis 10 generieren.
 

Xeonkryptos

Bekanntes Mitglied
nicht alles in einer wurst runter schreiben ;-)

Das ist ein guter Tipp! :)

Um es Mal zu verdeutlichen: Schreibe eine zweite Klasse, packe dort deinen Inhalt rein und schreibe diesen in unterschiedlichen Methoden, wie

Java:
public void attackMonster() {
// Angriff hier durchführen
}

Dies rufst du dann einfach in der Main-Methode auf deinem Objekt von der Klasse auf.

Davon ein paar Methoden basteln, die unterschiedliche Dinge tuen und schon sieht es um einiges schöner aus. ;-)
 

ARadauer

Top Contributor
du fragst in einem forum nach while... da werden dir meine Tipps zu OOP nicht viel helfen ;-)

mhnnn... das ist jetzt vielleicht etwas großkotzig rüber gekommen... so hab ichs nicht gemeint. ich denke eher das es für solche grundlegende themen besser möglichkeiten gibt als ein forum...

das buch aus meiner signator ist wirklich super für den anfang oder auch kapitel 3 oder 5 von Galileo Computing :: Java ist auch eine Insel - index helfen dir da sicher besser, schau dir das mal an.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
B Einfache OCR zur Zahlenerkennung? Java Basics - Anfänger-Themen 6
M Einfache Datenfilterung Java Basics - Anfänger-Themen 15
D Beim Programmieren auf die Logisch einfache Lösung kommen. Java Basics - Anfänger-Themen 17
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
B Einfache HSQLDB? (lock acquisition failure) Java Basics - Anfänger-Themen 2
B Threads Thread sleep() Method einfache Frage Java Basics - Anfänger-Themen 8
O Ganz einfache Frage - Array Java Basics - Anfänger-Themen 5
E Einfache Java Verschlüsselung Java Basics - Anfänger-Themen 4
J Einfache Frage zu "null" Java Basics - Anfänger-Themen 2
J Einfache pub/sub Lösung mit ausführlicher Doku Java Basics - Anfänger-Themen 5
R Gibt es Eine einfache Programierung dieser Methoden Java Basics - Anfänger-Themen 8
K einfache Kombinatorik Java Basics - Anfänger-Themen 4
M Erste Schritte Einfache Aufzugssteuerung programmieren - Anfänger Java Basics - Anfänger-Themen 2
D Eine einfache Verschlüsselung schreiben Java Basics - Anfänger-Themen 3
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
X Einfache Frage; wie soll ich die spezielle float var speichern? Java Basics - Anfänger-Themen 2
J Einfache einbindung eines Bildes in ein Applet Java Basics - Anfänger-Themen 4
D Klassen Gesucht: Einfache Beispiel-Klasse für einen Datentyp Java Basics - Anfänger-Themen 7
K Möglichkeiten um eine einfache Animation darzustellen Java Basics - Anfänger-Themen 7
L Einfache Lineare Suche Java Basics - Anfänger-Themen 7
P Erste Schritte Einfache For Schleife Java Basics - Anfänger-Themen 10
M Einfache Java Operation, cheggs net Java Basics - Anfänger-Themen 2
V Erste Schritte Einfache Rechnung mit Exponenten Java Basics - Anfänger-Themen 3
G einfache Leet-Übersetzung implementieren und benutzen Java Basics - Anfänger-Themen 14
M Einfache und Doppelte Operatoren Java Basics - Anfänger-Themen 3
E Einfache For-Schleife macht nicht was sie soll Java Basics - Anfänger-Themen 2
shiroX OOP Türme von Hanoi - einfache grafische Ausgabe Java Basics - Anfänger-Themen 2
C Extrem einfache Aufgabe falsch beantwortet :$ Java Basics - Anfänger-Themen 6
Z Super einfache Frage For-Schleife im Detail Java Basics - Anfänger-Themen 3
N Potenzierung durch einfache Operatoren Java Basics - Anfänger-Themen 13
H Einfacher Editor, Einfache Handelsanweisungen Java Basics - Anfänger-Themen 2
H Sehr einfache Java-Programme Java Basics - Anfänger-Themen 24
H Einfache Client/Server-Kommunikation Java Basics - Anfänger-Themen 16
-horn- Einfache graphische Darstellung von 3D Koordinaten für Flugbahnen? Java Basics - Anfänger-Themen 4
B Einfache jsp Seite darstellen Java Basics - Anfänger-Themen 9
G Einfache if-Abfrage der Main-Argumente Java Basics - Anfänger-Themen 3
J Einfache Designfrage Java Basics - Anfänger-Themen 4
E einfache Frage zu private Java Basics - Anfänger-Themen 26
R Sehr einfache möglichkeit ArrayList oder Array zu initialisieren? Java Basics - Anfänger-Themen 8
F Einfache Klassen für Datum und Zeit Java Basics - Anfänger-Themen 3
Spin Einfache Anfänger Frage setVisible von Panels Java Basics - Anfänger-Themen 5
E OOP einfache Array Aufgabe mit jUnit Java Basics - Anfänger-Themen 5
D einfache Quizfrage programmieren Java Basics - Anfänger-Themen 11
B Einfache Applets für Webseite Java Basics - Anfänger-Themen 10
K Einfache Rekursion - Wert wird nicht in Variable gespeichert Java Basics - Anfänger-Themen 7
U Einfache Aufgabe Java Basics - Anfänger-Themen 5
E Einfache Frage zur Parameterübergabe in Methoden Java Basics - Anfänger-Themen 8
M einfache Übungsaufgaben gesucht Java Basics - Anfänger-Themen 7
M Einfache Rechnung(R=U/I) Java Basics - Anfänger-Themen 12
D Wohl eine einfache Frage... Java Basics - Anfänger-Themen 2
W Einfache Passwortabfrage funktioniert nicht Java Basics - Anfänger-Themen 3
P einfache GUI-Elemente Java Basics - Anfänger-Themen 10
F Vererbung (einfache Frage) Java Basics - Anfänger-Themen 5
S 2 Einfache Fragen (Exception Breakpoint, Konstruktor) Java Basics - Anfänger-Themen 4
L einfache Klasse erstellen Java Basics - Anfänger-Themen 16
M kleine und einfache Verständnisfrage Java Basics - Anfänger-Themen 3
P Einfache Bedingung (?) in Java Java Basics - Anfänger-Themen 3
W Einfache Rekursion Java Basics - Anfänger-Themen 14
T Einfache Textausgabe .java unter OS X Java Basics - Anfänger-Themen 13
B einfache Rekursion Java Basics - Anfänger-Themen 9
A [Hilfe] einfache Aufgabe Java Basics - Anfänger-Themen 26
A Einfache java Verschlüsselung HILFE Java Basics - Anfänger-Themen 3
M einfache java application Java Basics - Anfänger-Themen 4
S Kann einfache Texteingabe nicht auswerten! Java Basics - Anfänger-Themen 3
M einfache frage zum Jdk-Compiler Java Basics - Anfänger-Themen 3
Spin einfache Frage zu Klassen Java Basics - Anfänger-Themen 12
J einfache Tastendrücke in einem JFrame abfragen Java Basics - Anfänger-Themen 2
C "einfache" If-Abfrage Java Basics - Anfänger-Themen 15
H Einfache Ausgabe eines Arrays in einen File Java Basics - Anfänger-Themen 8
F Einfache Liste hinten was einfügen Java Basics - Anfänger-Themen 3
L Einfache Umrechnung Java Basics - Anfänger-Themen 2
D Einfache Funktion zum kaufmännischen runden Java Basics - Anfänger-Themen 8
K einfache Multiplikation Java Basics - Anfänger-Themen 6
S Einfache Rechnung mit Schleife Java Basics - Anfänger-Themen 10
G einfache Swing-GUI Java Basics - Anfänger-Themen 3
F Einfache Tastatureingabe Java Basics - Anfänger-Themen 2
L [gelöst] Einfache Aufgabe, läuft aber nicht. Java Basics - Anfänger-Themen 8
S "einfache Klassengeschichten" keine Fehler, läuft Java Basics - Anfänger-Themen 2
R Einfache MVC-Uhr. MVC richtig umgesetzt? [Überarbeitet] Java Basics - Anfänger-Themen 5
A Einfache Frage zur Mehrfachvererbung Java Basics - Anfänger-Themen 3
G Einfache Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
J eine einfache liste Java Basics - Anfänger-Themen 17
D Suche einfache Übungsaufgaben für den JavaCreator! Java Basics - Anfänger-Themen 5
R Einfache Messagebox Java Basics - Anfänger-Themen 9
N einfache Adressdatenbank in Textdatei Java Basics - Anfänger-Themen 8
I einfache Wiedergabe Java Basics - Anfänger-Themen 2
B Warum hat dieser einfache Algorithmus lineare Laufzeit? Java Basics - Anfänger-Themen 3
U "Einfache Verschlüsselung" Java Basics - Anfänger-Themen 17
K einfache Umfang und Flächenberechnung mit interfaces Java Basics - Anfänger-Themen 3
M Einfache HTML Mail versenden , suche Beispiel Java Basics - Anfänger-Themen 5
L MVC-einfache frage Java Basics - Anfänger-Themen 13
M einfache schleife Java Basics - Anfänger-Themen 7
M Einfache Schleife Java Basics - Anfänger-Themen 4
H nested for loops Java Basics - Anfänger-Themen 5
CT9288 Mini Anfänger-Problem mit loops, statements und ; Java Basics - Anfänger-Themen 4
TheMenox Fehlermeldung / Arrays, Enhanced For Loops Java Basics - Anfänger-Themen 16
V While-Loops Java Basics - Anfänger-Themen 13
W private Array Loops Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben