- Registriert
- 28.06.08
- Beiträge
- 798
Hallo
irgendwie finde ich mein fehler nicht bei der Spielfeld ausgabe. Die Spielregeln stehn auch schon dabei. 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 er immer die 4 und 8 voll macht.Ich hoffe das mir jemand helfen kann.
/* 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);
// 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++;
}
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 += 2;
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("xxxxxxxxxxX");
}
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");
}
}
}
irgendwie finde ich mein fehler nicht bei der Spielfeld ausgabe. Die Spielregeln stehn auch schon dabei. 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 er immer die 4 und 8 voll macht.Ich hoffe das mir jemand helfen kann.
/* 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);
// 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++;
}
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 += 2;
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("xxxxxxxxxxX");
}
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");
}
}
}