Nimm Spiel muenzen

Status
Nicht offen für weitere Antworten.

mucke

Mitglied
Hi
ich hoffe ihr könnt mir irgendwie weiter helfen. Und zwar bekomm ich das irgendwie nicht hin das dass Spielfeld nach jedem zug richtig angezeigt wird. ahja und beim else vom spielzugComputer komme ich auch nicht weiter. Wenn sich das spielfeld durch 4 teilen lässt soll er 3 nehmen und sonst soll er so nehmen das der Spielstand durch 4 teilbar ist.


Java:
/* Test */

public class Test
    
{ 
    public static void main (String[] args) 
    {
        System.out.println("Erläuterung der Spielregeln:");
        System.out.println("Das Spiel wird mit zwei Spielern gespielt. Jeder der beiden Spieler setzt 1 Euro zu 10 mal 10 Cent. 
Diese werden in eine Reihe gelegt, wobei 11 mal 10 Cent einzeln und am Ende 1 mal 90 Cent (gestapelt) gelegt werden.
 Nun darf jeder abwechselnd 1, 2 oder 3 Positionen der Reihe vom Anfang beginnend entfernen. Dieses Geld gehört ihm. 
Es besteht Zugzwang. Wenn alle Positionen entfernt wurden, ist das Spiel zu Ende. 
Natürlich hat derjenige, der Position 12 erreicht, Gewinn gemacht, der andere den entsprechenden Verlust.");

              int spieler;
              {
                  System.out.println(" Wer soll beginnen? (0: Computer 1: Ich)");
                  spieler = Read.getInt();
              }
              if (spieler == 1) 
              {
                  System.out.println(" Spieler beginnt");
              }
              else if (spieler == 0)
              {
                  System.out.println(" Computer beginnt");
              }
              
              spiel (spieler);
             // int gesGewinnPc=0;
             // int gesGewinnSp=0;
              //Endergebniss
    }
    static int spiel(int spieler)
    {
        
        int spielstand= 0;
        spielfeld(spielstand);
        int zug= 0;
        
        while (spielstand < 12)
        {
            
            if ( spieler == 1)
            {
                spielzugSpieler (spielstand, zug);
                spieler--;
                
            }
            
            else
            {
                spielzugComputer (spielstand,zug);
                spieler++;
                
            }
            spielstand ++;
            spielfeld (spielstand);

        }
     
        return spielstand;
   
    }
    static void spielzugComputer (int spielstand, int zug)
    {
        if (spielstand % 4==0)
        {
            spielstand = 3;
            System.out.println(" Computer nimmt: " + spielstand);
        }
        else
        {
            spielstand = (spielstand%4);
            System.out.println(" Computer nimmt: " + spielstand);
        }
        
       
    }
    static int spielzugSpieler (int spielstand, int zug)
    {
       
       System.out.println(" Wieviel Muenzen willst du nehmen? ");
       zug = Read.getInt();
       
       
       return spielstand;
       
    }
    
    static void spielfeld (int spielstand)
    {
       if (spielstand == 12)
       {
           System.out.println("x x x x x x x x x x X");
       }
       else
       {
           for (int i = 0; i < spielstand; i++)
           {
               System.out.print(" x ");
           }
           
           int rest = 11 - spielstand;
           for (int i = 0;i < rest; i++)
           {
               System.out.print(" o ");
           }
           System.out.print(" O "); 
       }
    }
}

Noctarius: Bitte Java-Tags nehmen, sonst wird keiner deinen Source lesen wollen
 
Zuletzt bearbeitet:
U

unregistriert

Gast
Die Regeln könnte man in einer Textdatei (.txt) unterbringen.
 

mucke

Mitglied
Die muenzstabel ausgabe, die zeigt immer zwei reihen an und "addiert" nicht wirklich die von den spielern genommenen münzen.
 

ARadauer

Top Contributor
Java:
static void spielzugComputer (int spielstand, int zug)
    {
        if (spielstand % 4==0)
        {
            spielstand = 3;
            System.out.println(" Computer nimmt: " + spielstand);
        }
        else
        {
            spielstand = (spielstand%4);
            System.out.println(" Computer nimmt: " + spielstand);
        }
        
       
    }
das ist falsch, spielstand = 3; ändert hier nur die lokale variable der Methode. Die Änderung hat nach aussen keine Wirkung..


warum überhaupt = 3? plus oder?
warum machst du ein spielstand ++; in der methode spiel?

mah sorry, ich hab mir gedacht ich besser dir das schnell aus, aber das ist ja komplett falsch.
ich würd nochmal neu anfangen...
 

mucke

Mitglied
Ne eigentlich will ich damit sagen das der Computer 3 nehmen soll wenn sich das Spielfeld durch 4 teilen lässt und wenns net gehn soll soll der soviele nehmen das es sich dann durch 4 teilen lässt.
Und das problem bei der Ausgabe vom spielfeld ,ist dass er nicht die o die er nimmt in x umwandelt.Weisst was ich mein?^^

Ah das spielstand++ war da nur versuchsweise drinnen und hatte ich vergessen rauszulöschen.

Was ist komplett falsch? die ganze aufgabe? oder spielzugComputer?
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Naja, "komplett falsch" klingt so hart. Es ist nur so, dass man es kaum "richtig" machen kann, ohne dass man das was da ist, löscht und neuschreibt, weil es eben nicht so viel ist.

Vielleicht mal ... schrittweise:
[c]static void spielzugComputer (int spielstand, int zug)[/c]
Was ist spielstand, was ist zug, warum werden die an die Methode übergeben, und was soll die Methode machen? (Beachte, dass die übergebenen Werte nicht verändert werden können - aber eine Methode kann ggf. eine einzelne Zahl, die sie ausgrechnet hat, zurückgeben...)
 

mucke

Mitglied
Sei mir net böse wenn ich nicht gleich weiss was du meinst^^ mach erst 3 wochen java und blick da noch net so ganz durch.
Aber ich bedank mich schonmal für deine Bemühungen.:toll::toll::toll:

So soll das design aussehen vll hilft das ein wenig.
zug= Anzahl der gezogenen felder.


Funktion: main:
(für ein Spiel. Diese Funktion kann durch eine Schleife ergänzt werden, dass mehrfach gespielt wird)
Erlaeutere Spielregeln
Frage, wer beginnen soll
CALL Spiel
Gib Endergebnis aus


Funktion: Spiel (Parameter: Anfänger, Rückgabewert: Spielgewinn)
Initialisiere Spiel (insbesondere Spielstand auf null setzen)
CALL print Spielfeld
WHILE Spiel nicht beendet
IF Spieler am Zug
CALL Spielzug Spieler
Berechne Gesamtgewinn
ELSE
CALL Spielzug Computer
END IF
Bestimme wer am Zug ist
CALL print Spielfeld
END WHILE


Funktion: Spielzug Computer (Parameter: Spielstand, Rückgabewert: Anzahl gezogene Felder)
IF Spielstand durch 4 teilbar
Wähle 3 Felder
ELSE
Wähle so viele Felder, dass Spielstand durch 4 teilbar
END IF

Funktion: Spielzug Spieler (Parameter: -, Rückgabewert: Anzahl gezogene Felder)
Frage Spieler nach seinem Spielzug
Lese Anzahl gezogene Felder ein


Funktion: print Spielfeld (Parameter: Spielstand, Rückgabewert: -)
IF Spielstand gleich 12
print 11 mal "x "
print "X"
ELSE
print Anzahl "x "
print Anzahl "o "
print "O"
END IF
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Ohjaok ... das ist ja schon Pseudocode. Also... bei sowas wie
Funktion: Spielzug Computer (Parameter: Spielstand, Rückgabewert: Anzahl gezogene Felder)
ist das gemeint, was ich schon angedeutet hatte: Dort soll etwas zurückgegeben werden. So läuft die Wahl, wie viele Münzen man nimmt, ja auch in der Wirklichkeit ab: Man sieht wie viele Münzen schon genommen wurden (Eingabe oder Parameter), und sagt dann, wie viele Münzen man selbst wegnimmt (Ausgabe oder Rückgabewert). D.h. diese Funktion sollte so aussehen:
Code:
private int spielzugComputer(int spielstand)
{
    int anzahlGezogeneFelder = ... (ausrechnen)

    return anzahlGezogeneFelder; // Wert zurückgeben
}

Die Funktion wird dann aufgerufen, um den Spielzug des Computers abzufragen:
Code:
int anzahlGezogeneFelderDesComputers = spielzugComputer(spielstand);
.... (rechne mit 'anzahlGezogeneFelderDesComputers' den neuen Spielstand aus) ...
 

mucke

Mitglied
sry für sie Späte antwort. War das ganze We unterwegs und werde das morgen mal ausprobieren. Aber nohc ne frage hab ich. Ich soll noch den Gewinner ermitteln. Hab ber kein Plan wie ich das machen soll, ich weiss nur der "Spieler" der den Stapel 12 nimmt ,hat gewonnen.
 

Marco13

Top Contributor
Code:
private int gewinner = -1;
...
        while (spielstand < 12)
        {

..

...
            if (spielstand == 12) gewinner = spieler;
        }
 

mucke

Mitglied
ah oke danke werd mal mein glück versuchen.:) warum eigentlich private?
 
Zuletzt bearbeitet:

mucke

Mitglied
So hab jetzt hin bekommen. Funktioniert soweit auch alles aber kann man den spielzug vom Computer vll eleganter lösen?

Java:
/* Testat */

public class Testat2
    
{ 
    public static void main (String[] args) 
    {
        System.out.println("Erläuterung der Spielregeln:");
        System.out.println("Das Spiel wird mit zwei Spielern gespielt. Jeder der beiden Spieler setzt 1 Euro zu 10 mal 10 Cent. Diese werden in eine Reihe gelegt, wobei 11 mal 10 Cent einzeln und am Ende 1 mal 90 Cent (gestapelt) gelegt werden. Nun darf jeder abwechselnd 1, 2 oder 3 Positionen der Reihe vom Anfang beginnend entfernen. Dieses Geld gehört ihm. Es besteht Zugzwang. Wenn alle Positionen entfernt wurden, ist das Spiel zu Ende. Natürlich hat derjenige, der Position 12 erreicht, Gewinn gemacht, der andere den entsprechenden Verlust.");

              int spieler;
              {
                  System.out.println(" Wer soll beginnen? (0: Computer 1: Ich)");
                  spieler = Read.getInt();
              }
              if (spieler == 1) 
              {
                  System.out.println(" Spieler beginnt");
              }
              else if (spieler == 0)
              {
                  System.out.println(" Computer beginnt");
              }
              
              spiel (spieler);


    }
    static int spiel(int spieler)
    {
        
        int spielstand= 0; //(gesamt gezogener felder)
        spielfeld(spielstand);
        int gewinnS=0;
        int gewinnC=0;
        
        while (spielstand < 12)
        {
            int agfS = 0;
            int agfC = 0;
            
            if ( spieler == 1)
            {
                agfS = spielzugSpieler ();
                gewinnS+= agfS;
                System.out.println(" Spieler hat " + gewinnS*10 + " Muenzen");
                spieler--;
                
            }
            
            else
            {
               agfC = spielzugComputer (spielstand);
               gewinnC+= agfC;
               System.out.println(" Computer hat " + gewinnC*10 + " Muenzen");
               spieler++;
                
            }
            
            spielstand+= agfS + agfC;
            spielfeld (spielstand);

        }
        if (spieler==1)
        {
            System.out.println(" Computer hat gewonnen");
            System.out.println(" Computer hat insgesamt " + (90 + gewinnC*10) + " Muenzen gewonnen");
            System.out.println(" Spieler hat insgesamt " +  gewinnS*10 + " Muenzen gewonnen");
        }
        else
        {
            System.out.println(" Sie haben gewonnen");
            System.out.println(" Spieler hat insgesamt " + (90 + gewinnS*10) + " Muenzen gewonnen");
            System.out.println(" Computer hat insgesamt " +  gewinnC*10 + " Muenzen gewonnen");
        }
 
        return spielstand;
   
    }
    static int spielzugComputer (int spielstand)
    {
        int agfC=0;
        
        if (spielstand % 4==0)
        {
            agfC += 3;
            System.out.println(" Computer nimmt: " + agfC);
        }
        else
        {
            switch (spielstand)
            {
                case 0:
                    agfC = 2;
                    System.out.println(" Computer nimmt: " + agfC);
                    break;
                case 1:
                    agfC = 3;
                    System.out.println(" Computer nimmt: " + agfC);
                    break;
                case 2:
                    agfC = 2;
                    System.out.println(" Computer nimmt: " + agfC);
                    break;
                case 3:
                    agfC = 1;
                    System.out.println(" Computer nimmt: " + agfC);
                    break;
                case 5:
                    agfC = 3;
                    System.out.println(" Computer nimmt: " + agfC);
                    break;
                case 6:
                    agfC = 2;
                    System.out.println(" Computer nimmt: " + agfC);
                    break;
                case 7:
                    agfC = 1;
                    System.out.println(" Computer nimmt: " + agfC);
                    break;
                case 9:
                    agfC = 3;
                    System.out.println(" Computer nimmt: " + agfC);
                    break;
                case 10:
                    agfC = 2;
                    System.out.println(" Computer nimmt: " + agfC);
                    break;
                case 11:
                    agfC = 1;
                    System.out.println(" Computer nimmt: " + agfC);
                    break;
                    
            }
                
        }
        
        return agfC;  
    }
    static int spielzugSpieler ()
    {
       int agfS;
       System.out.println(" Wieviel Muenzen willst du nehmen? ");
       agfS = Read.getInt();

       return agfS;
       
    }
    
    static void spielfeld (int spielstand)
    {
       if (spielstand == 12)
       {
           System.out.println("x x x x x x x x x x X");
       }
       else
       {
           for (int i = 0; i < spielstand; i++)
           {
               System.out.print(" x ");
           }
           
           int rest = 11 - spielstand;
           for (int i = 0;i < rest; i++)
           {
               System.out.print(" o ");
           }
           System.out.print(" O \n");
           
       }
    }
}
 
Zuletzt bearbeitet:

Marco13

Top Contributor
WAH :eek:

Schau nochmal genau, was dort in der Aufgabenstellung steht, und versuch' das mal ohne switch zu schreiben...
 

mucke

Mitglied
hehe ja ich weiss ist keine elegante lösung ;D aber ohne switch bekomm ichs einfach net hin trotz deiner Hilfestellung. Naja ich probiers nochmal a weng:)
 

mucke

Mitglied
komm immer nur auf das hier, aber funzt net wirklich -.-

static int spielzugComputer (int spielstand)
{
int agfC=0;

if (spielstand % 4==0)
{
agfC += 3;
System.out.println(" Computer nimmt: " + agfC);
}
else
{
agfC+=(spielstand%4);
System.out.println(" Computer nimmt: " + agfC);


}

return agfC;

}
 

mucke

Mitglied
so ich habs ;D

static int spielzugComputer (int spielstand)
{
int agfC=0;

if (spielstand % 4==0)
{
agfC += 3;
System.out.println(" Computer nimmt: " + agfC);
}
else
{
do
{
agfC++;
}
while ((agfC + spielstand) % 4 != 0);
System.out.println(" Computer nimmt: " + agfC);

}

return agfC;
 

Marco13

Top Contributor
Naja... angenommen der Spielstand ist
1 : 3 nehmen
2 : 2 nehmen
3 : 1 nehmen
4 : x nehmen
5 : 3 nehmen
6 : 2 nehmen
7 : 1 nehmen
8 : x nehmen...

Das was "net wirklich funzt" war von der Idee her schon fast richtig. (Genaugenommen war es das Gegenteil von richtig *wink* ). Schreib' die Liste oben mal vollständig auf, und in jeder Zeile noch das Ergebnis von "spielstand%4" dahinter...
 

mucke

Mitglied
Jo wie gesagt hab schon rausbekommen, ein post vorher^^. oder ist das noch immer suboptimal?
Aber wie schon gesagt vielen Dank für deine Hilfe :)
 

Marco13

Top Contributor
Ja neee, ich meinte die Schleife ... die ist ja ... Naja :) Man kann das ja direkt ausrechnen.

(Gut, der Fall, dass es um 2 Milliarden münzen geht, und die Schleife dann zu lange dauern würde, wäre jetzt weit hergeholt ... es geht um's Prinzip ;) )
 

mucke

Mitglied
ahhhhhhhhhh weiss schon was du meinst aber ich komm da net drauf, dafür hab ich irgendwie noch net den durchblick in java. Verrats mir doch einfach :) oder schubs mich noch mehr in die richtung :D
 

Marco13

Top Contributor
Ich schubs doch schon die ganze Zeit :eek: ;) Und das hat auch nicht unbedingt was mit Java zu tun. Hast du die Liste mal vervollständigt? Siehst du keinen Zusammenhang zwischen "spielstand%4" und dem, was zurückgegeben werden muss?
 

mucke

Mitglied
bäää schäm, aber ichs sehs ums verrecken nicht ;( hab die liste und das spielstand%4 gemacht und es ist im prinzip genau anders rum. Aber wie ich das jetzt umsetzt *kopfkratz* gibt es denn ein gegenteil von % ???

1 : 3 nehmen 1
2 : 2 nehmen 2
3 : 1 nehmen 3
4 : x nehmen
5 : 3 nehmen 1
6 : 2 nehmen 2
7 : 1 nehmen 3
8 : x nehmen...
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Stell dir vor, du hast in der Variablen "x" den Wert von "spielfeld%4" gespeichert. Für folgende Werte von x soll das jeweilige Ergebnis in einer Variable y gespeichert werden:
x = 3 : y = 1
x = 2 : y = 2
x = 1 : y = 3

Die Lösung steht hier in unsichtbarer Schrift, aber du wirst dich tierisch ärgern wenn du's mit der Maus markierst um es lesen zu können:
--->
y=4-x; oder: agfC=4-(spielstand%4);
<---
 

ARadauer

Top Contributor
Falls du noch immer Probleme mit dem Programm hast, habe ich einen Tipp für dich. Setzt dich einfach einmal hin, nimm dir ein paar Münzen und spiel das Spiel 2-3 mal. Dann spielst du es nochmal und überleg dir, wie man das mit einem Programm machen könnte was du gerade machst...
 

mucke

Mitglied
^^ das spiel funktioiert jetzt perfekt genau so wie es soll :D.hier nochmal die endfassung
Java:
public class testat
    
{ 
    public static void main (String[] args) 
    {
        System.out.println("Erlaeuterung der Spielregeln:");
        System.out.println("");
        System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
        
              int spieler;
              {
                  System.out.println(" Wer soll beginnen? (0: Computer 1: Ich)");
                  spieler = Read.getInt();
              }
              if (spieler == 1) 
              {
                  System.out.println(" Spieler beginnt");
              }
              else if (spieler == 0)
              {
                  System.out.println(" Computer beginnt");
              }
              
              spiel (spieler);
             
    }
    static int spiel(int spieler)
    {
        
        int spielstand= 0; 
        spielfeld(spielstand);
        int gewinnS=0;
        int gewinnC=0;
        
        while (spielstand < 12)
        {
            int agfS = 0;
            int agfC = 0;
            
            if ( spieler == 1)
            {
                agfS = spielzugSpieler ();
                gewinnS+= agfS;
                System.out.println(" Spieler hat " + gewinnS*10 + " Cent");
                spieler--;
                
            }
            
            else
            {
               agfC = spielzugComputer (spielstand);
               gewinnC+= agfC;
               System.out.println(" Computer hat " + gewinnC*10 + " Cent");
               spieler++;
                
            }
            
            spielstand+= agfS + agfC;
            spielfeld (spielstand);

        }
        if (spieler==1)
        {
            System.out.println(" Computer hat gewonnen");
            System.out.println(" Computer hat insgesamt " + (90 + gewinnC*10) + " Cent gewonnen");
            System.out.println(" Spieler hat insgesamt " +  gewinnS*10 + " Cent gewonnen");
        }
        else
        {
            System.out.println(" Sie haben gewonnen");
            System.out.println(" Spieler hat insgesamt " + (90 + gewinnS*10) + " Cent gewonnen");
            System.out.println(" Computer hat insgesamt " +  gewinnC*10 + " Cent gewonnen");
        }
 
        return spielstand;
   
    }
    static int spielzugComputer (int spielstand)
    {
        int agfC=0;
        
        if (spielstand % 4==0)
        {
            agfC += 3;
            System.out.println(" Computer nimmt: " + agfC);
        }
        else
        {
            agfC +=4-(spielstand % 4);
            System.out.println(" Computer nimmt: " + agfC);
       
        }
        
        return agfC; 
         
    }
    static int spielzugSpieler ()
    {
       int agfS;
       System.out.println(" Wieviel Muenzen willst du nehmen? ");
       agfS = Read.getInt();

       return agfS;
       
    }   
    static void spielfeld (int spielstand)
    {
       if (spielstand == 12)
       {
           System.out.println(" x x x x x x x x x x X");
       }
       else
       {
           for (int i = 0; i < spielstand; i++)
           {
               System.out.print(" x ");
           }
           
           int rest = 11 - spielstand;
           for (int i = 0;i < rest; i++)
           {
               System.out.print(" o ");
           }
           System.out.print(" O \n");           
       }
    }
}

und nochmal vielen vielen vielen dank :toll::toll::toll:
 

Marco13

Top Contributor
Ja, könnte man halt alles noch vereinfachen... (teilweise auch deutlich)... also, solche vermeintlichen Kleinigeiten, wie dass man statt
Java:
        if (spielstand % 4==0)
        {
            agfC += 3;
            System.out.println(" Computer nimmt: " + agfC);
        }
        else
        {
            agfC +=4-(spielstand % 4);
            System.out.println(" Computer nimmt: " + agfC);
       
        }
auch
Java:
        if (spielstand % 4==0)
        {
            agfC = 3;
        }
        else
        {
            agfC =4-(spielstand % 4);
        }
        System.out.println(" Computer nimmt: " + agfC);
[/Java]
schreiben könnte und so... das ist (um die Aufgabe abzugeben) wohl nicht wichtig, aber ... schau' vielleicht nochmal drüber, ob du noch solche Sachen entdeckst...
 
Also ich hab das selbe Problem wie mein Vorredner..
im Post #10 wird das Spiel erklärt...
Und ich komm auch nich weiter.
Ich bekomm Fehlermeldungen die ich so noch nie gesehn habe.
Hier mal der Quelltext:

Java:
// Testat.java

public class Testat1
{
	public static void main (String []args)
	{
		System.out.println("********************************************");
		System.out.println("*Das Spiel wird mit zwei Spielern gespielt.*");
		System.out.println("* Jeder der beiden Spieler setzt 1 Euro zu *");
		System.out.println("*10 mal 10 Cent. Diese werden in eine Reihe*");
		System.out.println("* gelegt, wobei 11 mal 10 Cent einzeln und *");
		System.out.println("*   am Ende 1 mal 90 Cent gestapel gelegt  *");
		System.out.println("*  werden. Nun darf jeder abwechselnd 1, 2 *");
		System.out.println("*  oder 3 Positionen der Reihe von Anfang  *");
		System.out.println("*  beginnend entfernen. Dieses Geld gehˆrt *");
		System.out.println("*    ihm. Es besteht Zugzwang. Wenn alle   *");
		System.out.println("* Positionen entfernt wurden, ist das Spiel*");
		System.out.println("*   zu Ende. Nat¸rlich hat derjenige, der  *");
		System.out.println("* Position 12 erreicht, Gewinn gemacht, der*");
		System.out.println("*      andere entsprechenden Verlust.      *");
		System.out.println("********************************************");

			int SpielerEingabe; 					// Wieviel M¸nzen der Spieler nimmt
			int SpielerStapel = 0;					// Wie grofl der Stapel des Spielers ist
			
			int PcEingabe;							// Wieviel M¸nzen der PC nimmt
			int PcStapel = 0;						// Wie grofl der Stapel des PC's ist

			int Wechsel;							// Das ist die Wechselfunktion			
			
			int Muenzen;
			
			int Beginner;
			
				System.out.println("Wer soll den ersten Zug machen?");
				System.out.println("Wenn Sie den ersten Zug machen mˆchten, druecken Sie die 1.");
				System.out.println("Wenn der Computer den ersten Zug machen soll, druecken Sie die 2.");
				Beginner = Read.getInt(); // Hier muss der Spieler eingeben wer beginnen soll!
			
			
			
			
			
			
	while (Muenzen < 12) 						// Die Schleife sagt aus, das wir 11 Stapel haben, den groflen Stapel ausgeschlossen
	{
		if (Beginner == 1)
			{
                System.out.println("Sie mˆchten also beginnen");
            }
			System.out.println("Sie sind dran.");
			SpielerEingabe = SpielzugSpieler();
			Muenzen += SpielerEingabe;						// Hier wird der M¸nzbetrag des Spielers erhˆht
			SpielerStapel += SpielerEingabe;
			Aufbau();
			
			if (Muenzen == 12)								// Wird bei erreichen des 12ten Stapels gedruckt!
			{
				System.out.println("Sie haben das Spiel f¸r sich entschieden und " + (SpielerStapel * 10 + 90) + " M¸nzen gesammelt.");
				System.out.println("Der Computer hat verloren und" + (PcStapel * 10) + "Muenzen gesammelt."); 
			}
		}
		else 
		{
		  {
		    System.out.println("Sie mˆchten also das der Computer beginnt");
		  }
			System.out.println("Der Computer ist dran.");
			PcEingabe = SpielzugPc();
			Muenzen += PcEingabe;
			PcStapel += PcEingabe;
			System.out.println("Der Computer nimmt " + PcEingabe + " Muenzen");
			Aufbau();
			
			if (Muenzen == 12)
			{
				System.out.println("Der Computer hat das Spiel f¸r sich entschienden und " + (PcStapel * 10 + 90) + " M¸nzen gesammelt.");
				System.out.println("Sie haben verloren und" + (SpielerStapel * 10) + "Muenzen gesammelt."); 
			}
		}
		
		if (Wechsel == 1)
		{
			Wechsel = 0;
		}
		else
		{
			Wechsel = 1;
		}
	}
 }
	
	static void Aufbau (int Muenzen);
	{
		if (Muenzen < 12)
		{
			for (int i = 0; i < Muenzen; i++)
			{
				System.out.print("x");							// Es soll x abgebildet werden, solange die Variable i kleiner ist, als die M¸nzen die 
			}													// genommen werden. Da am Anfang noch keine M¸nzen genommen wurden, werden 11 "x" abge.
			for (int i = 0; i < (12-Muenzen); i++)
			{
				System.out.print("o");							// F¸r die Anzahl der genommen M¸nzen, soll ein "o" angezeigt werden
			}
				System.out.print("O");							// Das "O" zeigt den groflen Stapel an
			
			System.out.println();								// Hier werden die System.out.print zusammengefasst!
		}
		else
		{
			System.out.println("xxxxxxxxxxxX");					// Hier wird das Spielfeld, wie es bei Spielende aussieht, abgebildet
		}
							
	}		

	static int SpielzugSpieler;
	{
		{
			System.out.println("Bitte w‰hlen Sie wieviele M¸nzen Sie nehmen mˆchten (Es herrscht Zugzwang)");
		}
	
		int SZ = Read.getint();						// SZ = Spieler Zug
		return SZ;
	}
	
	static int SpielzugPc (int PZ);
	{
		if (PZ % 4 == 0)							// Da Pc nicht auf die Gewinnerposition kommt
		{
			return 3; 								// nimmt er die Maximale Anzahl an M¸nzen
		}
		else 
		{
			return (4-(x % 4));						// Kann er in die Gewinnerposition kommen, nimmt der PC sie ein
		}
	}
	
}

Vielleicht hat ja jemand Zeit mir zu helfen.
Danke
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben