Hallo zusammen,
ich habe die Aufgabe Schlangenspiel des angehängten Aufgabenblatts bearbeitet. Mein Code dazu ist:
Der Output auf der Konsole terminiert nicht, hier ist jedoch ein Ausschnitt vom Beginn des Konsolenoutputs:
Dabei verstehe ich schon die erste Zeile
Vielen Dank für Eure Hilfe! Ich komme leider nicht weiter.
Liebe Grüße
ich habe die Aufgabe Schlangenspiel des angehängten Aufgabenblatts bearbeitet. Mein Code dazu ist:
Java:
package blatt3_WS16;
public class Schlangenspiel_3_3 extends Spielfeld {
static int feld0, feld1, playerNumber, wurf;
public static void main(String[] args) {
//Initialisierung.
playerNumber=1;
while (feld0 < 35 && feld1 < 35) {
// Spieler 1:
if (playerNumber == 1) {
// Würfeln:
wurf = dice();
System.out.println("Spieler 1: Du hast " + wurf + " gewürfelt.");
for (int i = 0; i < wurf; i++) {
feld1 = feld1 + 1;
// Leiter:
if (feld1 == 5 || feld1 == 10 || feld1 == 15 || feld1 == 20 || feld1 == 25) {
feld1 = feld1 + 3;
}
// Schlangen:
if (feld1 == 7 || feld1 == 14 || feld1 == 21 || feld1 == 28) {
feld1 = feld1 - 4;
}
}
}
System.out.println("Spieler 1: Deine Figur befindet sich auf Position: " + feld1);
// SpielerNr wird geändert
playerNumber = 1 - playerNumber;
// Spieler 0:
if (playerNumber == 0) {
// Würfeln:
wurf = dice();
System.out.println("Spieler 0: Du hast " + wurf + " gewürfelt.");
for (int i = 0; i < wurf; i++) {
feld0 = feld0 + 1;
// Leiter:
if (feld0 == 5 || feld0 == 10 || feld0 == 15 || feld0 == 20 || feld0 == 25) {
feld0 = feld0 + 3;
}
// Schlangen:
if (feld0 == 7 || feld0 == 14 || feld0 == 21 || feld0 == 28) {
feld0 = feld0 - 4;
}
}
}
System.out.println("Spieler 0: Deine Figur befindet sich auf Position: " + feld0);
// Ausgabe Feld
paintField(feld0, feld1);
// Ausgabe, wer Gewinner ist:
if (feld0 >= 35) {
System.out.println("Der Gewinner ist: Spieler0");
}
if (feld1 >= 35) {
System.out.println("Der Gewinner ist: Spieler1");
}
}
}
}
Der Output auf der Konsole terminiert nicht, hier ist jedoch ein Ausschnitt vom Beginn des Konsolenoutputs:
Code:
Spieler 1: Deine Figur befindet sich auf Position: 11
Spieler 0: Du hast 3 gewürfelt.
Spieler 0: Deine Figur befindet sich auf Position: 12
Spieler 1: Deine Figur befindet sich auf Position: 11
Spieler 0: Deine Figur befindet sich auf Position: 12
Spieler 1: Du hast 3 gewürfelt.
Spieler 1: Deine Figur befindet sich auf Position: 10
Spieler 0: Du hast 6 gewürfelt.
Spieler 0: Deine Figur befindet sich auf Position: 10
Spieler 1: Deine Figur befindet sich auf Position: 10
Spieler 0: Deine Figur befindet sich auf Position: 10
Spieler 1: Du hast 3 gewürfelt.
Spieler 1: Deine Figur befindet sich auf Position: 13
Spieler 0: Du hast 6 gewürfelt.
Spieler 0: Deine Figur befindet sich auf Position: 12
Spieler 1: Deine Figur befindet sich auf Position: 13
Spieler 0: Deine Figur befindet sich auf Position: 12
Spieler 1: Du hast 2 gewürfelt.
Spieler 1: Deine Figur befindet sich auf Position: 11
Spieler 0: Du hast 1 gewürfelt.
Spieler 0: Deine Figur befindet sich auf Position: 13
Spieler 1: Deine Figur befindet sich auf Position: 11
Spieler 0: Deine Figur befindet sich auf Position: 13
Spieler 1: Du hast 5 gewürfelt.
Spieler 1: Deine Figur befindet sich auf Position: 12
Spieler 0: Du hast 4 gewürfelt.
Spieler 0: Deine Figur befindet sich auf Position: 13
Spieler 1: Deine Figur befindet sich auf Position: 12
Spieler 0: Deine Figur befindet sich auf Position: 13
Spieler 1: Du hast 1 gewürfelt.
Spieler 1: Deine Figur befindet sich auf Position: 13
Spieler 0: Du hast 2 gewürfelt.
Spieler 0: Deine Figur befindet sich auf Position: 11
Spieler 1: Deine Figur befindet sich auf Position: 13
Spieler 0: Deine Figur befindet sich auf Position: 11
Spieler 1: Du hast 1 gewürfelt.
Dabei verstehe ich schon die erste Zeile
nicht. Da ich playerNumber mit 1 initialisiere, müsste die erste if-Schleife doch aufgerufen werden und damit auch "Spieler 1: Du hast " + wurf + " gewürfelt." ausgegeben werden oder?Spieler 1: Deine Figur befindet sich auf Position: 11
Vielen Dank für Eure Hilfe! Ich komme leider nicht weiter.
Liebe Grüße