wechsel des aktuellen spielers

Status
Nicht offen für weitere Antworten.

dyn

Mitglied
Wenn ich das so durchlaufen lasse durchläuft er die ganze if-schleife :cry:
Wie kann ich das ganze abändern, dass darauf eine funktionierende Schleife wird, die steuert wer gerade dran ist?
Ich hab mal wieder ein Brett vorm Kopf...

s1- s3 sind Instanzen der Klasse Spieler...siehe unterer code


Code:
	public void naechster()

     		{ 

           if (s1.istDran() == true)
            {
             System.out.println("spieler 1 war dran");
           	 s1.setIstDran(false);
           	 s2.setIstDran(true);
           	 dran.setText("Aktueller Spieler: 2");
            } 

           if (s2.istDran() == true)  
           {
           	 System.out.println("spieler 2 war dran");
            s2.setIstDran(false);
           	s3.setIstDran(true);
           	dran.setText("Aktueller Spieler: 3");
           } 
           
           if (s3.istDran() == true)  
           {
           	 System.out.println("spieler 3 war dran");
            s3.setIstDran(false);
           	s1.setIstDran(true);
           	dran.setText("Aktueller Spieler: 1");
           } 

      }

Code:
public class Spieler {
	
	private String name;    // Name des Spielers
    private int rundenKontostand; // Rundenkontostand
  	private int gesamtKontostand; // gesamter Kontostand
  	
  	private int zahl;				// Zufallszahl für gedrehtes Feld
  	private String betrag; //erdrehter Betrag muss noch getBetrag gemacht werden!!
  	private boolean istDran;  // dran?
  	private boolean rundeGewonnen; // gewonnen oder net
  	private boolean gesamtGewonnen;
    private boolean weiterspielen;
    String gewaehlterBuchstabe;
    int aktuellerSpieler = 2; 
	String aktuellerName;
    
    private String felder[] = { "Pleite :-P", "500", "200", "1000", "200", "Aussetzen", "Bonus", "2000", "Pleite :-P",
				 "500", "200", "5000", "1000", "Aussetzen", "Bonus", "2000"};
    
    
    
    public Spieler (String name, String gewaehlterBuchstabe, int rundenKontostand, int gesamtKontostand, boolean istDran, boolean rundeGewonnen, boolean gesamtGewonnen)
	{
     setName(name);
     setGewaehlterBuchstabe("");
     setRundenKontostand(rundenKontostand);
     setGesamtKontostand(gesamtKontostand);
     setIstDran(istDran);
     setRundeGewonnen(rundeGewonnen);
     setGesamtGewonnen(gesamtGewonnen);
    }
    	
    	  
    	public void setName(String name)

    	{ 
    	 this.name = name;  
    	}     
    
        
    		public String getName()

    	     { 
  	          return name;  
    	     }
    	     
    	     public void setGewaehlterBuchstabe(String gewaehlterBuchstabe)

    		{ 
    		 this.gewaehlterBuchstabe = gewaehlterBuchstabe;  
    		}    
    	     
    	     
    	     public String getGewaehlterBuchstabe()

    	     { 
  	          return gewaehlterBuchstabe;  
    	     }
    		
    		    		
    		public void setRundenKontostand(int rundenKontostand)
    		{
    			this.rundenKontostand = rundenKontostand;
    		}
    		
    		public int getRundenKontostand()
    		{
    			return rundenKontostand;
    		}
    		
    		
    		
    		public void setGesamtKontostand(int gesamtKontostand)
    		{
    			this.gesamtKontostand = rundenKontostand;
    		}
    		
    		public int getGesamtKontostand()
    		{
    			return gesamtKontostand;
    		}
    		    		    		  
    		public void setIstDran(boolean istDran)
			{
				this.istDran = istDran;
			}
    		
    		public boolean istDran()
    		{
    			return istDran;
    		}
    		
    		
    		public void setRundeGewonnen(boolean rundeGewonnen)
			{
				this.rundeGewonnen = rundeGewonnen;
			}
    		
    		public boolean rundeGewonnen()
    		{
    			return rundeGewonnen;
    		}
    		
    			public void setGesamtGewonnen(boolean gesamtGewonnen)
			{
				this.gesamtGewonnen = gesamtGewonnen;
			}
    		
    		public boolean gesamtGewonnen()
    		{
    			return gesamtGewonnen;
    		}
    		
    		  		
    	   	  	 
    		public String getBetrag()
    	        {
    	         	    	   		   
    	   		 zahl = (int) (Math.random() * 16);
    	   	     String feld = felder[zahl];
    	   	     betrag = felder[zahl];
    	   	     return betrag;
    	   	    }	 
    	   	    
    	   	    
    	   	    
    	   	    public void pruefeBetrag()
    	   	    {
    	   	       if (betrag.equals("Pleite :-P"))
    	   	       {
    	   	        rundenKontostand = 0;
    	   	        System.out.println("nächster Spieler");
    	   	       }
    	   	        if (betrag.equals("Aussetzen") || betrag.equals("Bonus"))
    		     {
    		    	System.out.println("nächster Spieler");
    		    	
    		     }
    		       
    		       if (betrag.equals("200"))
	   	      	   {
	   	      		System.out.println("dran! + "+betrag);
	   	      		
	   	           }
	   	            if (betrag.equals("500"))
	   	      	   {
	   	      		System.out.println("dran! + "+betrag);
	   	      		
	   	           }
	   	            if (betrag.equals("1000"))
	   	      	   {
	   	      		System.out.println("dran! + "+betrag);
	   	      		
	   	           }
	   	            if (betrag.equals("2000"))
	   	      	   {
	   	      		System.out.println("dran! + "+betrag);
	   	      		
	   	           }
	   	            if (betrag.equals("5000"))
	   	      	   {
	   	      		System.out.println("dran! + "+betrag);
	   	      		
	   	           }
			  	} 
	   	      	 
    		       	   	       
	   	       
    		  
    		  


}
 

byte

Top Contributor
mach mal else-ifs draus in naechster(), es kann schließlich nur einer gleichzeitig dran sein.

sicherst du irgendwo zu, dass niemals bei mehr als einem spieler gleichzeitig istDran() = true ist ?
 

dyn

Mitglied
lol ok danke. ich bin schon sowas von durcheinander, dass ich daran gar net gedacht habe..

ich habe keine spezielle operation die das prüft, aber es sollte eigentlich nie der fall sein, dass mehrere spieler dran sind.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JButton - Wechsel der Textfarbe alle 500ms Java Basics - Anfänger-Themen 10
J Interface Wechsel in den Windows7-Basis Modus Java Basics - Anfänger-Themen 7
S String ab dem Wechsel Buchstaben zu Zahlen splitten Java Basics - Anfänger-Themen 14
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2
S Erste Schritte TAB-Wechsel zwischen TextFields Java Basics - Anfänger-Themen 1
3 Klassen Wechsel der Ansichten in einer GUI Java Basics - Anfänger-Themen 2
S Erste Schritte Fenster wechsel im Applet Java Basics - Anfänger-Themen 7
F Probleme nach dem Wechsel von Eclipse zu NetBeans Java Basics - Anfänger-Themen 15
T String splitten beim wechsel vom buchstabe zu zahl! Java Basics - Anfänger-Themen 8
Binary.Coder Wechsel von BlueJ zu Eclipse Java Basics - Anfänger-Themen 7
T vorzeichen wechsel bei int Java Basics - Anfänger-Themen 10
H JTabbedPane: Tab-Wechsel unterbinden ? Java Basics - Anfänger-Themen 6
M Tabbed Pane wechsel via HotKey Java Basics - Anfänger-Themen 10
N Anzahl von Zahlen-wechsel im Vector Java Basics - Anfänger-Themen 2
J Berechnung des aktuellen Alters auf Basis des Geburtstags Java Basics - Anfänger-Themen 45
G Sekunden bis zum Ende der aktuellen Kalenderwoche ermitteln! Java Basics - Anfänger-Themen 3
J aktuellen Timestamp ziehen Java Basics - Anfänger-Themen 3
G aktuellen Rechnersound aufnehmen Java Basics - Anfänger-Themen 7
W Aktuellen Pfad Java Basics - Anfänger-Themen 4
C aktuellen Pfad der Anwendung ermitteln Java Basics - Anfänger-Themen 5
J Wie den absoluten Pfad der aktuellen Klasse herausbekommen? Java Basics - Anfänger-Themen 6
W übergabe des aktuellen wertes in andere Klasse Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben