Ergebnis 1 bis 3 von 3
  1. #1
    Anfänger
    Registriert seit
    27.10.2008
    Beiträge
    6

    Standard Probleme beim OOP (Object-oriented programming )

    Hi,
    Ich bin gerade dabei ein Spiel in Java zu schreiben, dummerweise ist mein Javawissen mehr oder weniger wie Flickenteppich. D.h ich kenn Befehle und ähnliches, aber erst letzten OOP kennen gelernt.

    So, zu meinem Problem: In meinem Programm erstell ich 2 Objekte der Klasse Einheit "Gegner" und "Spieler".
    Wenn ich jetzt für beide die Attribute vergebe, sind sie vor beginn des Kampfes wieder gleich und bleiben auch gleich. Sprich, wenn der Spieler 10 Lebenspunkte verliert verliert der Gegner auch welche.
    Soweit ich das nun verstanden habe bedeutet OOP das ich z.B. 2 Schränke erstellen kann a 1,5 m *1 m*1m. Und dann dem einen 2 Schubladen und dem anderen 3 Schubladen hinzufügen kann...
    Naja, schaut euch den Code an und sagt mir ob ihr den Fehler findet.


    Entschuldigt, dass ich keine Kommentare habe XD Hoffentlich versteht ihr es trotzdem
    Achja, gibts hier eine Möglichkeit den Text zu verstecken und auf Knopfdruck wieder erscheinen zu lassen, da das ganze doch ziemlich lang wird.

    Klasse Spiel (Hauptklasse):

    Code:
    
    import java.io.*;
    import java.util.*;
    
    
    public class Spiel {
    	
    	
    static	Einheit Spieler = new Einheit ();
    
    	static BufferedReader Klasse = new BufferedReader (new InputStreamReader (System.in));
    	static BufferedReader KampfWahl = new BufferedReader (new InputStreamReader (System.in));
    	static BufferedReader Nochmal = new BufferedReader (new InputStreamReader (System.in));
    	static int KlassenWahl;
    	static boolean KlassenWahlFalsch = false;
    	static boolean Gerettet = false;
    	static int KampfJa;
    	static boolean Gewonnen = false;
    	static boolean Spiel=true;
    	
    	
    	
    	
    	
    	
    	public static void main (String args []) throws NumberFormatException, IOException
    	{
    		
    		System.out.println("Waehlen sie ihre Klasse:");
    		System.out.println("Krieger == 1");
    		System.out.println("Dieb== 2");
    		while (!KlassenWahlFalsch)
    		try {
    			KlassenWahl=Integer.parseInt(Klasse.readLine());
    			if (KlassenWahl==1)
    			{
    				Spieler.Krieger();
    				KlassenWahlFalsch=!KlassenWahlFalsch;
    			}
    			else {
    				if (KlassenWahl==2)
    				{
    					
    					Spieler.Dieb();		
    					KlassenWahlFalsch=!KlassenWahlFalsch;
    				
    				}
    				else {System.out.println("Die Eingabe war ungültig bitte wählen sie eine Klasse");			
    				}
    			}	
    		} catch (NumberFormatException e) {
    			System.out.println("Der eingeben Wert kann nicht akzeptiert werden.");
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    		
    			
    		
    		
    		
    		
    		
    		
    		System.out.println("Sie sind ein "+ Spieler.Klasse + " Und besitzen folgenden Attribute: ");
    		System.out.println(Spieler.Staerke + " Staerke ");
    		System.out.println(Spieler.Geschick + " Geschick");
    		System.out.println(Spieler.HealthPoints + " Lebenspunkte");
    		
    		while (Spiel)
    		{
    		System.out.println("Sie treffen auf einen Gegner: ");
    		
    
    		
    		
    		while (!Gerettet || !Gewonnen)
    		{		System.out.println("Wollen sie den Kampf beginnen?");
    		System.out.println("1== Stellen");
    		System.out.println("2==Weglaufen");
    		KampfJa=Kampf.Aktion(Integer.parseInt(KampfWahl.readLine()));
    		switch (KampfJa)
    		{
    		case 1: Gewonnen= Kampf.GegnerDaten(); break; 
    		case 2: Gerettet= Kampf.Weg();break;
    		
    		
    		
    		
    		}
    		
    		Random Ueberlebt = new Random ();
    		if (50>Ueberlebt.nextInt(100))
    		{
    			
    			System.out.println("Da hast du noch einmal Glück gehabt, dein Gegner hat dich nur schwer verletzt und nicht getötet!");
    			Spieler.HealthPoints=10;
    			Spieler.Tot=false;
    			
    			
    			
    		}
    		else 
    			System.out.println("Du bist gestorben!");
    			System.exit(0);
    		}
    		
    		System.out.println("Du hast gewonnen und ziehst weiter auf der Suche nach noch mehr Schwächlingen");
    	
    		System.out.println("Willse nochma?");
    		int Nochma = Integer.parseInt(Nochmal.readLine());
    		
    		switch (Nochma)
    		{
    		case 1: Spiel=true;
    		case 2: Spiel= false;
    		
    		}
    		
    		}
    		
    		
    		
    		
    		
    		
    		
    		
    	}
    	
    }
    Klasse Einheit:
    Code:
    public class Einheit {
    	
    	static int Geschick;
    	static int Staerke;
    	static int StaerkeWahr;
    	static String Klasse;
    	static int Entkommen;
    	boolean Tot;
    	static int HealthPoints;
    	static int Schaden;
    	
    	
    	public static void Dieb () {
    		
    		Geschick = 75;
    		Staerke = 2;
    		StaerkeWahr=2;
    		Klasse = "Dieb";
    		Entkommen = 50;
    		HealthPoints = 300;
    		Schaden = 50;
    		
    		
    	}
    	
    	
    	
    	public static void Krieger ()
    	{
    		
    		Geschick = 50;
    		Staerke = 4;
    		StaerkeWahr=4;
    		Klasse = "Krieger";
    		Entkommen = 0;
    		HealthPoints=250;
    		Schaden = 75;
    		
    	}
    
    }
    Klasse Kampf:
    Code:
    import java.io.*;
    import java.util.Random;
    
    public class Kampf extends Spiel {
    	
    	public static void Versuch ()
    	{
    		
    		System.out.println(Spieler.Staerke+" "+ Gegner.Staerke);
    		System.out.println(Spieler.Geschick+" "+ Gegner.Geschick);
    		
    		
    		
    		
    		
    		
    		
    		
    		
    	}
    	
    	
    static	boolean Player = false;
    	
    	static	Einheit Gegner = new Einheit();
    
    	public static int Aktion(int Kampf)
    	{
    		if (Kampf==1)
    		{
    			System.out.println("");
    			return 1;		
    			
    		}
    		if (Kampf == 2)
    		{
    		
    		return 2;
    		}
    		
    		
    		return 3;
    		
    		
    		
    	}
    	
    	public static boolean GegnerDaten()
    	{	
    
    			Random GegnerWahl = new Random ();
    			boolean Kampf ;
    
    			if (50<GegnerWahl.nextInt(100))
    			{
    				Gegner.Dieb();	
    			}
    			else Gegner.Krieger();
    			
    			System.out.println("Ihr Gegner ist ein "+ Gegner.Klasse + " Und besitzen folgenden Attribute: ");
    			System.out.println(Gegner.Staerke + " Staerke ");
    			System.out.println(Gegner.Geschick + " Geschick");	
    			System.out.println(Gegner.HealthPoints + " Lebenspunkte");
    			
    			Kampf = Kaempfen();
    			return Kampf;
    		}
    		
    		
    		
    		
    	
    	
    	
    	public static boolean Weg ()
    	{	Random WegRennen = new Random ();
    		
    		if (Spieler.Entkommen>WegRennen.nextInt(100))
    		{
    			System.out.println("Du konntest entkommen");
    		return true;
    			
    			
    			
    		}
    		
    		else System.out.println("Sie sind nicht entkommen"); Player = false; return false;
    		
    		
    		
    	}
    	
    	
    	
    	
    	public static boolean Kaempfen ()
    	{
    		
    		
    		Random Wahr = new Random();
    		while (!Spieler.Tot || !Gegner.Tot)
    		{
    		if (Player)
    		{
    			if (Spieler.Geschick>Wahr.nextInt(100))
    			{	
    				if (Spieler.StaerkeWahr>Wahr.nextInt(100)){
    					
    						Gegner.HealthPoints=Gegner.HealthPoints-Spieler.Staerke/10;
    						System.out.println("Du triffst deinen Gegner mit "+ Spieler.Staerke/10+" Schaden");
    						System.out.println("Du hast "+Spieler.HealthPoints + " Lebenspunkte.");
    						System.out.println("Dein Gegner hat "+Gegner.HealthPoints+" Lebenspunkte");
    					}
    					else 
    						{
    							Gegner.HealthPoints=Gegner.HealthPoints- Spieler.Staerke* Spieler.Schaden/10;
    							System.out.println("Du triffst deinen Gegner mit "+ Spieler.Staerke* Spieler.Schaden/10+" Schaden");
    							System.out.println("Du hast "+Spieler.HealthPoints + " Lebenspunkte.");
    							System.out.println("Dein Gegner hat "+Gegner.HealthPoints+" Lebenspunkte");
    						}
    			}
    			else
    				{System.out.println("Du hast daneben geschlagen");}
    			
    			Player=!Player;
    		}
    		else
    		{
    
    			if (Gegner.Geschick>Wahr.nextInt(100))
    			{
    				if (Gegner.StaerkeWahr>Wahr.nextInt(100))
    					{
    						Spieler.HealthPoints=Spieler.HealthPoints-Gegner.Staerke/10;
    						System.out.print("Dein Gegner trifft dich mit "+ Gegner.Staerke/10+" Schaden");
    						System.out.println("Du hast "+Spieler.HealthPoints + " Lebenspunkte.");
    						System.out.println("Dein Gegner hat "+Gegner.HealthPoints+" Lebenspunkte");
    					}
    					else 
    						{
    						Spieler.HealthPoints=Spieler.HealthPoints- Gegner.Staerke* Gegner.Schaden/10;
    						System.out.println("Dein Gegner trifft dich mit "+ Gegner.Staerke* Gegner.Schaden/10+" Schaden");
    						System.out.println("Du hast "+Spieler.HealthPoints + " Lebenspunkte.");
    						System.out.println("Dein Gegner hat "+Gegner.HealthPoints+" Lebenspunkte");
    						}
    					}
    			else 
    				{System.out.println("Dein Gegner hat daneben geschlagen!");}
    			Player=!Player;
    			
    
    			
    		}
    		
    		
    		if (Gegner.HealthPoints<0 || Spieler.HealthPoints<0)
    		{
    			if (Gegner.HealthPoints<0)
    			{
    				System.out.println("Du hast verloren!");
    				Gegner.HealthPoints=0;
    				Gegner.Tot=true;
    			}
    			else 
    			{
    				System.out.println("Du hast gewonnen!");
    				Spieler.HealthPoints=0;
    				Spieler.Tot=true;
    				
    			}
    			
    			return Spieler.Tot;
    		}
    		
    		if (neueRunde())
    		{continue;}	
    		
    	}
    		return Spieler.Tot;
    		
    		
    		
    		
    		
    	}
    	
    	public static boolean neueRunde ()
    	{
    		BufferedReader Neu = new BufferedReader (new InputStreamReader (System.in));
    		int Wahl;
    		boolean WahlErfolg=false;
    		System.out.println("Weiterkämpfen?");
    		while (!WahlErfolg)
    		{
    		
    		
    		System.out.println("1==Weiterkämpfen");
    		System.out.println("2==Weglaufen");
    		try {
    			Wahl=Integer.parseInt(Neu.readLine());
    			WahlErfolg=true;
    			switch (Wahl)
    			{
    			case 1: return false;
    			case 2: Weg(); return true;
    			case 25: Versuch();
    			}
    			
    			
    			
    			
    			
    			
    		} catch (NumberFormatException e) {
    			System.out.println("Der Eingegeben Wert war falsch!");
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		}
    		return false;
    	}
    	
    	
    	
    	
    	
    	
    	
    }

    MfG Erinaceus

  2. #2
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Ok ich habe es mir mal angesehen und ich bin entsetzt........ wo kommen die ganzen Zeilenunbrüche her? DIE BRAUCHT DOCH KEINER!
    Schonmal was von Tabulatoren gehört?
    Entweder du schriebst "if (BEDINGUNG) {" ODER "if (BEDINGUNG) ZEILENUMBRUCH {", aber niemals mischen.
    Keine Variablen in Schleifen deklarieren.
    Nicht 40 Objekte von BufferedReader erzeugen und dann jeweils nur einmal benutzen... du brauchst sowieso nur eins
    Wozu erbt Kampf die Klasse Spiel?? UM NOCH MEHR BUFFEREDREADER-OBJEKTE ZU ERSTELLEN?????

    Mit anderen Worten: ich habe allein 10 Minuten aufwenden müssen um da mal eine gewisse Übersichtlichkeit zu schaffen.

    Spiel
    Code:
    mport java.io.*;
    import java.util.*;
    
    
    public class Spiel
    {
    	static Einheit Spieler = new Einheit ();
    	/* FIXME: wieso brauchst du das x-mal? ein mal reicht völlig aus */
    	static BufferedReader Klasse = new BufferedReader (new InputStreamReader (System.in));
    	static BufferedReader KampfWahl = new BufferedReader (new InputStreamReader (System.in));
    	static BufferedReader Nochmal = new BufferedReader (new InputStreamReader (System.in));
    	static int KlassenWahl;
    	static boolean KlassenWahlFalsch = false;
    	static boolean Gerettet = false;
    	static int KampfJa;
    	static boolean Gewonnen = false;
    	static boolean Spiel = true;
    	
    	public static void main (String args []) throws NumberFormatException, IOException
    	{
    		System.out.println("Waehlen sie ihre Klasse:");
    		System.out.println("Krieger   == 1");
    		System.out.println("Dieb      == 2");
    		while (!KlassenWahlFalsch)
    		{
    			try
    			{
    				KlassenWahl = Integer.parseInt(Klasse.readLine());
    				/* FIXME: switch wäre angebrachter... */
    				if (KlassenWahl == 1)
    				{
    					Spieler.Krieger();
    					KlassenWahlFalsch = !KlassenWahlFalsch;
    				}
    				else if (KlassenWahl == 2)
    				{
    					Spieler.Dieb();
    					KlassenWahlFalsch = !KlassenWahlFalsch;
    				}
    				else
    				{
    					System.out.println("Die Eingabe war ungültig bitte wählen sie eine Klasse");
    				}
    			}
    			catch (NumberFormatException e)
    			{
    				System.out.println("Der eingeben Wert kann nicht akzeptiert werden.");
    			}
    			catch (IOException e)
    			{
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		System.out.println("Sie sind ein " + Spieler.Klasse + " Und besitzen folgenden Attribute: ");
    		System.out.println("\tStaerke       " + Spieler.Staerke);
    		System.out.println("\tGeschick      " + Spieler.Geschick);
    		System.out.println("\tLebenspunkte  " + Spieler.HealthPoints);
    		while(Spiel)
    		{
    			/* FIXME: der ganze hier folgende Code
    			 * ist mehr oder weniger unverständlich
    			 * und ergibt keinen Sinn.
    			 *  */
    			System.out.println("Sie treffen auf einen Gegner: ");
    			/* FIXED: || zu && geändert... */
    			while (!Gerettet && !Gewonnen)
    			{
    				System.out.println("Wollen sie den Kampf beginnen?");
    				System.out.println("\t1  ==  Stellen");
    				System.out.println("\t2  ==  Weglaufen");
    				KampfJa = Kampf.Aktion(Integer.parseInt(KampfWahl.readLine()));
    				switch(KampfJa)
    				{
    					case 1:
    						Gewonnen = Kampf.GegnerDaten();
    						break;
    					case 2:
    						Gerettet = Kampf.Weg();
    						break;
    					/* TODO: was ist mit einem "default" für Werte außerhalb 1 und 2 (??) */
    				}
    				/* FIXME: deklarationen in einer Schleife sind unschön */
    				Random Ueberlebt = new Random();
    				/* FIXME: fifty fifty chance? das ist ja nett :) */
    				if (50 > Ueberlebt.nextInt(100))
    				{
    					System.out.println("Da hast du noch einmal Glück gehabt, dein Gegner hat dich nur schwer verletzt und nicht getötet!");
    					Spieler.HealthPoints = 10;
    					/* FIXME: war das vorher schonmal true (??), wenn nicht -> raus damit */
    					Spieler.Tot = false;
    				}
    				/* TODO: und wenn man gewonnen hat, was dann?
    				 * "Du bis gestorben"... so macht Gewinnen (keinen) Spass
    				 * */
    				else
    				{
    					System.out.println("Du bist gestorben!");
    					/* FIXED: System.exit(0) in den Bedingungsblock gezogen */
    					System.exit(0);
    				}
    			}
    			System.out.println("Du hast gewonnen und ziehst weiter auf der Suche nach noch mehr Schwächlingen");
    			System.out.println("Willse nochma?");
    			/* FIXME: dem "Nochma" könnte man noch ein "l" spendieren ^_^
    			 * eine Deklaration einer Variablen in einer Schleife ist unschön
    			 * */
    			int Nochma = Integer.parseInt(Nochmal.readLine());
    			if (Nochma == 1) Spiel = true;
    			else Spiel = false;
    		}
    	}
    }
    Einheit
    Code:
    public class Einheit
    {
    	int Geschick;
    	int Staerke;
    	int StaerkeWahr;
    	int HealthPoints;
    	int Schaden;
    	int Entkommen;
    	boolean Tot;
    	String Klasse;
    	
    	public void Dieb()
    	{
    		Geschick = 75;
    		Staerke = 2;
    		StaerkeWahr=2;
    		Klasse = "Dieb";
    		Entkommen = 50;
    		HealthPoints = 300;
    		Schaden = 50;
    	}
    	
    	public void Krieger()
    	{
    		Geschick = 50;
    		Staerke = 4;
    		StaerkeWahr=4;
    		Klasse = "Krieger";
    		Entkommen = 0;
    		HealthPoints=250;
    		Schaden = 75;
    	}
    }
    Spiel
    Code:
    import java.io.*;
    import java.util.Random;
    
    public class Kampf extends Spiel
    {
    	static boolean Player = false;
    	static Einheit Gegner = new Einheit();
    	
    	public static boolean GegnerDaten()
    	{
    		Random GegnerWahl = new Random();
    		boolean Kampf;
    		if (50 < GegnerWahl.nextInt(100)) Gegner.Dieb();
    		else Gegner.Krieger();
    		System.out.println("Ihr Gegner ist ein " + Gegner.Klasse + " Und besitzen folgenden Attribute: ");
    		System.out.println("\tStaerke       " + Gegner.Staerke);
    		System.out.println("\tGeschick      " + Gegner.Geschick);
    		System.out.println("\tLebenspunkte  " + Gegner.HealthPoints);
    		Kampf = Kaempfen();
    		return Kampf;
    	}
    	
    	public static boolean Weg()
    	{
    		Random WegRennen = new Random();
    		if (Spieler.Entkommen > WegRennen.nextInt(100))
    		{
    			System.out.println("Du konntest entkommen");
    			return true;
    		}
    		else 
    		{
    			System.out.println("Sie sind nicht entkommen");
    		}
    		Player = false;
    		return false;
    	}
    	
    	public static void Versuch()
    	{
    		System.out.println(Spieler.Staerke+" "+ Gegner.Staerke);
    		System.out.println(Spieler.Geschick+" "+ Gegner.Geschick);
    	}
    	
    	public static int Aktion(int Kampf)
    	{
    		if (Kampf==1)
    		{
    			System.out.println("");
    			return 1;
    		}
    		if (Kampf == 2)
    		{
    			return 2;
    		}
    		return 3;
    	}
    	
    	public static boolean Kaempfen()
    	{
    		Random Wahr = new Random();
    		while (!Spieler.Tot || !Gegner.Tot)
    		{
    			if (Player)
    			{
    				if (Spieler.Geschick>Wahr.nextInt(100))
    				{
    					if (Spieler.StaerkeWahr>Wahr.nextInt(100))
    					{
    						Gegner.HealthPoints=Gegner.HealthPoints-Spieler.Staerke/10;
    						System.out.println("Du triffst deinen Gegner mit "+ Spieler.Staerke/10+" Schaden");
    						System.out.println("Du hast "+Spieler.HealthPoints + " Lebenspunkte.");
    						System.out.println("Dein Gegner hat "+Gegner.HealthPoints+" Lebenspunkte");
    					}
    					else
    					{
    						Gegner.HealthPoints=Gegner.HealthPoints- Spieler.Staerke* Spieler.Schaden/10;
    						System.out.println("Du triffst deinen Gegner mit "+ Spieler.Staerke* Spieler.Schaden/10+" Schaden");
    						System.out.println("Du hast "+Spieler.HealthPoints + " Lebenspunkte.");
    						System.out.println("Dein Gegner hat "+Gegner.HealthPoints+" Lebenspunkte");
    					}
    				}
    				else
    				{
    					System.out.println("Du hast daneben geschlagen");
    				}
    				Player=!Player;
    			}
    			else
    			{
    				if (Gegner.Geschick>Wahr.nextInt(100))
    				{
    					if (Gegner.StaerkeWahr>Wahr.nextInt(100))
    					{
    						Spieler.HealthPoints=Spieler.HealthPoints-Gegner.Staerke/10;
    						System.out.print("Dein Gegner trifft dich mit "+ Gegner.Staerke/10+" Schaden");
    						System.out.println("Du hast "+Spieler.HealthPoints + " Lebenspunkte.");
    						System.out.println("Dein Gegner hat "+Gegner.HealthPoints+" Lebenspunkte");
    					}
    					else
    					{
    						Spieler.HealthPoints=Spieler.HealthPoints- Gegner.Staerke* Gegner.Schaden/10;
    						System.out.println("Dein Gegner trifft dich mit "+ Gegner.Staerke* Gegner.Schaden/10+" Schaden");
    						System.out.println("Du hast "+Spieler.HealthPoints + " Lebenspunkte.");
    						System.out.println("Dein Gegner hat "+Gegner.HealthPoints+" Lebenspunkte");
    					}
    				}
    				else
    				{
    					System.out.println("Dein Gegner hat daneben geschlagen!");
    				}
    				Player=!Player;
    			}
    			if (Gegner.HealthPoints<0 || Spieler.HealthPoints<0)
    			{
    				if (Gegner.HealthPoints<0)
    				{
    					System.out.println("Du hast verloren!");
    					Gegner.HealthPoints=0;
    					Gegner.Tot=true;
    				}
    				else
    				{
    					System.out.println("Du hast gewonnen!");
    					Spieler.HealthPoints=0;
    					Spieler.Tot=true;
    				}
    				return Spieler.Tot;
    			}
    			if (neueRunde())
    			{
    				continue;
    			}
    		}
    		return Spieler.Tot;
    	}
    	
    	public static boolean neueRunde()
    	{
    		BufferedReader Neu = new BufferedReader(new InputStreamReader (System.in));
    		int Wahl;
    		boolean WahlErfolg=false;
    		System.out.println("Weiterkämpfen?");
    		while (!WahlErfolg)
    		{
    			System.out.println("1==Weiterkämpfen");
    			System.out.println("2==Weglaufen");
    			try
    			{
    				Wahl=Integer.parseInt(Neu.readLine());
    				WahlErfolg=true;
    				switch (Wahl)
    				{
    					case 1: return false;
    					case 2: Weg(); return true;
    					case 25: Versuch();
    				}
    			}
    			catch (NumberFormatException e)
    			{
    				System.out.println("Der Eingegeben Wert war falsch!");
    			}
    			catch (IOException e)
    			{
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		return false;
    	}
    }

    Ich empfehle dir folgendes:
    Alle Kommentare, die ich eingefügt habe, SORGFÄLTIG lesen.
    Die Klasse Kampf in dem Müll zu schmeißen und komplett zu überarbeiten ----> SAUBEREN STIL EINHALTEN (!)

    Das war die letzte Ausgabe, bevor ich es aufgegeben habe:
    Code:
    Waehlen sie ihre Klasse:
    Krieger   == 1
    Dieb      == 2
    1
    Sie sind ein Krieger Und besitzen folgenden Attribute: 
    	Staerke       4
    	Geschick      50
    	Lebenspunkte  250
    Sie treffen auf einen Gegner: 
    Wollen sie den Kampf beginnen?
    	1  ==  Stellen
    	2  ==  Weglaufen
    1
    
    Ihr Gegner ist ein Dieb Und besitzen folgenden Attribute: 
    	Staerke       2
    	Geschick      75
    	Lebenspunkte  300
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 240 Lebenspunkte.
    Dein Gegner hat 300 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 240 Lebenspunkte.
    Dein Gegner hat 270 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner hat daneben geschlagen!
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 240 Lebenspunkte.
    Dein Gegner hat 240 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 230 Lebenspunkte.
    Dein Gegner hat 240 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 220 Lebenspunkte.
    Dein Gegner hat 240 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner hat daneben geschlagen!
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 210 Lebenspunkte.
    Dein Gegner hat 240 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 200 Lebenspunkte.
    Dein Gegner hat 240 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 190 Lebenspunkte.
    Dein Gegner hat 240 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 190 Lebenspunkte.
    Dein Gegner hat 210 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner hat daneben geschlagen!
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 190 Lebenspunkte.
    Dein Gegner hat 180 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner hat daneben geschlagen!
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 190 Lebenspunkte.
    Dein Gegner hat 150 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 180 Lebenspunkte.
    Dein Gegner hat 150 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 170 Lebenspunkte.
    Dein Gegner hat 150 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 170 Lebenspunkte.
    Dein Gegner hat 120 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 160 Lebenspunkte.
    Dein Gegner hat 120 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 150 Lebenspunkte.
    Dein Gegner hat 120 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 140 Lebenspunkte.
    Dein Gegner hat 120 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 130 Lebenspunkte.
    Dein Gegner hat 120 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 130 Lebenspunkte.
    Dein Gegner hat 90 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 120 Lebenspunkte.
    Dein Gegner hat 90 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 120 Lebenspunkte.
    Dein Gegner hat 60 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 110 Lebenspunkte.
    Dein Gegner hat 60 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 100 Lebenspunkte.
    Dein Gegner hat 60 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 100 Lebenspunkte.
    Dein Gegner hat 30 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 90 Lebenspunkte.
    Dein Gegner hat 30 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner hat daneben geschlagen!
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du hast daneben geschlagen
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner trifft dich mit 10 Schaden
    Du hast 80 Lebenspunkte.
    Dein Gegner hat 30 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 80 Lebenspunkte.
    Dein Gegner hat 0 Lebenspunkte
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Dein Gegner hat daneben geschlagen!
    Weiterkämpfen?
    1==Weiterkämpfen
    2==Weglaufen
    1
    Du triffst deinen Gegner mit 30 Schaden
    Du hast 80 Lebenspunkte.
    Dein Gegner hat -30 Lebenspunkte
    Du hast verloren!
    Da hast du noch einmal Glück gehabt, dein Gegner hat dich nur schwer verletzt und nicht getötet!
    Wollen sie den Kampf beginnen?
    	1  ==  Stellen
    	2  ==  Weglaufen
    Hervorzuheben wäre:
    Code:
    Du hast 80 Lebenspunkte.
    Dein Gegner hat -30 Lebenspunkte
    Also denke ich das Hauptproblem ist behoben...
    Wenn du die ganzen TODOs und FIXMEs die ich hinzugefügt habe beachtet und angewendet hast und danach immernoch Probleme hast, dann schau ich mir das ganze gerne nochmal an


    mfG. BlackBerry

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  3. #3
    Anfänger
    Registriert seit
    27.10.2008
    Beiträge
    6

    Standard

    Hi,
    erstmal vielen Dank für deine Hilfe, wusst nicht das mein Code so katastrophal ist :oops: ^^

    Werd mich gleich mal dran setzen deinen Code zu verstehen und einzubauen. Meld mich dann bei Zeiten nochmal.

    Nochmals Danke das du dir trotz allem die Mühe gemacht hast.

    MfG Erinaceus

    €: So, hab die letzten paar Tage an dem Code gearbeitet:
    €2: Ich seh gerade das das Forum die Befehle die zulang sind durch einen Zeilenumbruch abknickt und die Ordnung stört.
    Gibts ne brauchbare Möglichkeit das zu ändern?

    Hier ist die Hauptklasse, mit den Verbesserungen und ein wenig verändert.
    Btw. Die Möglichkeit zu fliehen ist noch nicht ausgereift und wird vermutlich noch verändert/verbessert.

    Hoffentlich kriegste dieses Mal keinen Anfall

    Code:
    import java.io.*;
    import java.util.*;
    
    
    public class Spiel {
    	
    	
    	static	Einheit Spieler = new Einheit (); // Objekt das deinen Spieler beschreibt
    	static BufferedReader Eingabe = new BufferedReader (new InputStreamReader (System.in)); // Wird benutzt um Eingaben zu erfassen in Spiel () und Kaempfen ().
    	static Random ZufallsZahl = new Random (); // Wird benutzt um Zufallsereignisse zu beschreiben in Spiel () z.B. fürs überleben nach Niederlage. In Kaempfen z.B. um zu entscheiden wer den ersten Zug hat.
    	static boolean KlassenWahlFalsch = false; // Wird benutzt um festzustellen ob eine Klasse gewählt wurde.
    	static boolean Gerettet = false; // Wird benutzt um festzustellen ob der Spieler sich nach einer Niederlage retten konnte oder nicht.
    	static boolean Gewonnen = false; // Wird benutzt um festzustellen, ob der Spieler Gewonnen hat oder nicht. Durch Spieler.Tot ersetzbar?
    	static boolean Spiel=true; // Wird benutzt um festzustellen ob der Spieler weiterspielen will (While)
    	static int Nochmal; // Wird benutzt um die Variable Spiel entsprechend abzuändern
    	static int KampfJa; // Wird benutzt um festzustellen ob der Spieler sich dem Kampfstellt oder nicht.
    	static int KlassenWahl; // Wird benutzt um den Switch bei der KlassenWahl zu verwenden.
    	static boolean KampfVorbei = false;
    	static Einheit Gegner = new Einheit(); // Wird benötigt um dem Spieler einen Gegner zu stellen.
    	
    	public static void main (String  args [])
    	{
    		Spiel(); // Wird seperat gestartet, da start () sonst nicht die Variablen zurücksetzen kann
    		
    		
    	}
    	
    	public static void Spiel () 
    	{
    
    		while (!KlassenWahlFalsch) // Solange keine Klasse gewählt ist.
    		{		
    			System.out.println("Waehlen sie ihre Klasse:");
    			System.out.println("Krieger == 1");
    			System.out.println("Dieb== 2");
    			try {
    					KlassenWahl=Integer.parseInt(Eingabe.readLine());
    					switch (KlassenWahl)
    					{
    						case 1: Spieler.Krieger();
    								KlassenWahlFalsch=!KlassenWahlFalsch;
    								break; // Spieler wird ein Krieger und die KlassenWahl ist ausgeführt.
    						case 2: Spieler.Dieb();	
    								KlassenWahlFalsch=!KlassenWahlFalsch; 
    								break;// Spieler wird ein Dieb und die KlassenWahl ist ausgeführt.
    						default: System.out.println("Die Eingabe war ungültig.");	 // Selbst erklärend ;P
    					}
    				}
    			catch (NumberFormatException e) 
    		 		{
    			 		System.out.println("Der eingeben Wert kann nicht akzeptiert werden.");
    		 		} 
    			catch (IOException e) 
    		 		{
    				// TODO Auto-generated catch block
    			 		e.printStackTrace();
    		 		}
    		
    		} // KlassenWahl While endet
    		
    		System.out.println("Sie sind ein "+ Spieler.Klasse + " Und besitzen folgenden Attribute: ");
    		System.out.println(Spieler.Staerke + " Staerke ");
    		System.out.println(Spieler.Geschick + " Geschick");
    		System.out.println(Spieler.HealthPoints + " Lebenspunkte");
    		
    		while (Spiel) // Solange der Spieler spielen möchte
    			{
    			
    			System.out.println("Sie treffen auf einen Gegner: ");
    		
    			while (!KampfVorbei) // Solange man weder geflohen ist noch gewonnen hat.
    				{		
    					System.out.println("Wollen sie den Kampf beginnen?");
    					System.out.println("1== Stellen");
    					System.out.println("2==Weglaufen");
    					try {
    							KampfJa=Integer.parseInt(Eingabe.readLine());
    						} 
    					catch (NumberFormatException e) 
    						{
    							System.out.println("Die eingegeben Zahl enstpricht nicht einem Integer.");
    							e.printStackTrace();
    						} 
    					catch (IOException e) 
    						{
    							// TODO Auto-generated catch block
    							e.printStackTrace();
    						}
    					
    					switch (KampfJa) // Auswahl: Fliehen oder Kaempfen 
    					{
    						case 1:Kaempfen.GegnerDaten(); 
    						break; 
    						case 2: Gerettet= Kaempfen.Fliehen();
    						break;
    						default: System.out.println("Ihre Eingabe war ungültig, bitte geben sie eine korrekte Zahl ein.");
    					}
    				} // While !KampfVorbei Schleife endet
    		
    			if (Spieler.Tot)
    				{
    				
    				if (Spieler.Entkommen>=ZufallsZahl.nextInt(100))
    					{
    						// Gibt dem Spieler die Chance bei einer Niederlage trotzdem zu überleben, basierend darauf wie gut seine "Entkommen" Werte sind.
    						// Vorgesehen für ein weiterentwickeltere Version, wo man dann z.B. zum Heiler gehen kann etc.
    				
    			
    						System.out.println("Da hast du noch einmal Glück gehabt, dein Gegner hat dich nur schwer verletzt und nicht getötet!");
    						Spieler.HealthPoints=10;  // Vorgesehen für ein weiterentwickeltere Version, wo man dann z.B. zum Heiler gehen kann etc.
    						Spieler.Tot = false;	// Wird false gesetzt, da es in der Klasse "Kaempfen" bei weniger als 0 Hp "true" gesetzt wird.
    
    					}
    			else 
    					{
    						System.out.println("Du bist gestorben! :((("); // :(( MENNO!!! :D
    						System.exit(0);
    					}
    				} // if gewonnen endet hier
    				
    			
    			else System.out.println("Sie haben gewonnen! WOHOO PARTY YEAAAAH!!");
    		
    		
    			System.out.println("Willst du nocheinmal spielen?");
    			System.out.println("Drücke 1 für Ja." );
    			System.out.println("Gebe eine beliebige Zahl ein um abzubrechen.");
    			try 
    				{
    					Nochmal = Integer.parseInt(Eingabe.readLine()); // Nochmal variert weiter unten die Variable "Spiel" die die Schleife bedingt in der sich das abspielt.
    				} 
    			catch (NumberFormatException e) 
    				{
    					System.out.println("Die eingegeben Zahl enstpricht nicht einem Integer.");
    					e.printStackTrace();
    				} 
    			catch (IOException e) 
    				{
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    		
    			if (Nochmal == 1) Start();
    			else Spiel = false;
    		
    			} // While Spiel Schleife endet
    	} 
    	
    	
    	public static void Start()  
    	
    	{
    		
    		// Setzt alle Variablen wieder auf den Anfangswert zurück
    		KlassenWahlFalsch = false; // Wird benutzt um festzustellen ob eine Klasse gewählt wurde.
    		Gerettet = false; // Wird benutzt um festzustellen ob der Spieler sich nach einer Niederlage retten konnte oder nicht.
    		Gewonnen = false; // Wird benutzt um festzustellen, ob der Spieler Gewonnen hat oder nicht. Durch Spieler.Tot ersetzbar?
    		Spiel=true; // Wird benutzt um festzustellen ob der Spieler weiterspielen will (While)
    		KampfVorbei = false;	
    		Gegner.Tot=false;
    		Spieler.Tot=false;
    		Spiel();
    		
    		
    		
    		
    		
    		
    		
    	}
    }
    Hier ist die neue Kampf Klasse:
    Code:
    import java.io.IOException;
    
    public class Kaempfen extends Spiel {
    	
    	
    
    	
    	static boolean Player = ZufallsZahl.nextBoolean(); // Entscheidet ob der Gegner oder der Spieler die erste Runde hat.
    	
    	static boolean Weiter = true; // Wird benötigt um das Spiel abzubrechen.
    	
    	
    	
    	
    	
    	public static boolean Fliehen ()
    	{
    		// Methode um dem Spieler zu ermöglichen zu fliehen, noch in Arbeit. 
    		if (ZufallsZahl.nextBoolean()) return true; // FIXME Eigentlich abhängig von Fluchtgeschickt
    		else {
    				KampfrundeGegner(); // Wenn man versucht zu fliehen und scheitert ist der Gegner automatisch dran.
    				return false; // FIXME s. return true
    			}
    		
    		
    		
    		
    		
    		
    		
    		
    	}
    	public static void GegnerDaten()
    	{	
    		
    			// Erstellt den Gegner und besorg dessen Daten.
    
    			if (ZufallsZahl.nextBoolean()) Gegner.Dieb(); // Entscheidet ob der Gegner ein Dieb oder ein Krieger ist.
    			else Gegner.Krieger();
    			
    			System.out.println("Ihr Gegner ist ein "+ Gegner.Klasse + " Und besitzen folgenden Attribute: ");
    			System.out.println(Gegner.Staerke + " Staerke ");
    			System.out.println(Gegner.Geschick + " Geschick");	
    			System.out.println(Gegner.HealthPoints + " Lebenspunkte");
    			Kampf();
    			 KampfVorbei = true;// Die Methode Kampf gibt laut Planung dann einen Wert wieder, der aussagt ob man gewonnen hat oder verloren.
    		}
    
    	
    	public static boolean Kampf () 
    	{
    		
    		while (!Spieler.Tot && !Gegner.Tot) // Solang beide Einheiten leben wird der Kampf durchgeführt.
    		{	System.out.println(""+Gegner.Tot);
    			System.out.println(""+Spieler.Tot);
    			System.out.println("Willst du die Runde beginnen?");
    			System.out.println("1==Ja");
    			System.out.println("Gebe eine beliebige Zahl ein um aufzuhören");
    			
    		
    			
    			try 
    				{
    				switch (Integer.parseInt(Eingabe.readLine()))
    					{
    					
    					case 1: Player=!Player; 
    							break; // Wenn der Gegner dran war ist jetzt der Spieler dran und umgekehrt.
    					default: System.out.println("Bye Bye");
    							System.exit(0); // Beendet das Spiel falls man JEMALS keine Lust mehr haben sollte ;P
    	
    					}
    				} 
    			
    			catch (IOException e)
    				{	
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			if (Player) KampfrundeSpieler(); // Der Spieler schlägt zu
    			
    			else KampfrundeGegner(); // Der Gegner schlägt zu
    			
    		}// Ende !Spieler.Tot || Gegner.Tot While Schleife des Kampfes
    		
    		
    		
    		
    		
    		
    		
    		
    		return Gegner.Tot; // überlebt oder nicht s. return bei GegnerDaten ()
    	}
    	
    	public static void KampfrundeGegner () // Der Gegner ist am Zug ... 
    	{
    		System.out.println("Dein Gegner ist am Zug.");
    		
    		if (Spieler.Geschick>ZufallsZahl.nextInt(100)) // Entscheidet ob der Gegner trifft oder nicht, abhängig vom Wert Geschick.
    			
    		{
    			System.out.println("Dein Gegner holt aus.");
    			if (Gegner.StaerkeWahr>ZufallsZahl.nextInt(100)) // Entscheidet ob der Gegner einen Stärkebonus erhält oder nicht, abhängig vom Wert StaerkeWahr.
    			{ 	
    				System.out.println("Und trifft dich mit einem leichten Schlag und verursacht " + (Gegner.Staerke*Gegner.Schaden)/10 +" Schaden.");
    				Spieler.HealthPoints = Spieler.HealthPoints-Gegner.Schaden/10; // Der Gegner bekommt keinen Stärkebonus und trifft nur mit seinem Standardschaden/10
    				
    			}
    			else // Der Gegner bekommt einen Stärkebonus
    			{
    				System.out.println("Und trifft dich mit einem harten Schlag und verursacht "+(Gegner.Staerke*Gegner.Schaden)/10+" Schaden.");
    				Spieler.HealthPoints = Spieler.HealthPoints-(Gegner.Staerke*Gegner.Schaden)/10; // Der Staerkebonus wird mit dem Standardschaden Mal genommen und ergibt den gesamt Schaden.
    			}
    			
    		}
    		else System.out.println("Dein Gegner schlägt zu, doch du kannst ihm geschickt ausweichen."); // Die Zufallszahl reichte nicht aus.
    		if (Spieler.HealthPoints<1) 
    			{
    				Spieler.Tot=true; // Der Spieler ist tot, danach soll die While Schleife in Kampf unterbrochen werden. FIXME
    				Spieler.HealthPoints = 0; // Falls es negativ wird
    			}
    		
    			
    		
    		
    		System.out.println("Du hast "+Spieler.HealthPoints+" Lebenspunkte. Dein Gegner hat noch "+Gegner.HealthPoints+" Lebenspunkte.");
    		
    	}
    	
    	
    	public static void KampfrundeSpieler ()
    	{
    		// Selbes Prinzip wie bei KampfrundeGegner. Möglich durch eine Klasse mit Variablen zu ersetzen?
    		System.out.println("Du bist am Zug.");
    		
    		if (Spieler.Geschick>ZufallsZahl.nextInt(100))
    			
    		{
    			System.out.println("Du holst aus.");
    			if (Spieler.StaerkeWahr>ZufallsZahl.nextInt(100))
    			{ 	
    				System.out.println("Und trifft deinen Gegner mit einem leichten Schlag und verursachst "+Spieler.Schaden/10+" Schaden.");
    				Gegner.HealthPoints = Spieler.HealthPoints-Spieler.Schaden/10;
    				
    			}
    			else
    			{
    				System.out.println("Und trifft deinen Gegner mit einem harten Schlag und verursachst "+(Spieler.Staerke*Spieler.Schaden)/10 +" Schaden.");
    				Gegner.HealthPoints = Gegner.HealthPoints-(Spieler.Staerke*Spieler.Schaden)/10;
    			}
    			
    		}
    		else System.out.println("Du schlägst zu doch dein Gegner weicht dir geschickt aus.");
    		
    		if (Gegner.HealthPoints<=0) 
    			{
    			
    			Gegner.HealthPoints = 0;
    				Gegner.Tot=true;
    			}
    		
    		
    		System.out.println("Du hast "+Spieler.HealthPoints+" Lebenspunkte. Dein Gegner hat noch "+Gegner.HealthPoints+" Lebenspunkte.");
    		
    		
    	}
    	
    	
    	
    	
    }
    MfG Erinaceus
    MfG Erinaceus

    Erinaceus ~ Proudly made on earth!

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •