Hallo Ich mache ein Spiel, wo der Spieler mit einem Roboter getroffen wird und der Roboter fragt es eine Zahl zwischen 1-10 zu erraten. Der Spieler hat drei Versuche oder stirbt. Ich habe meinen ganzen Code geschrieben und das Raten funktioniert gut, aber immer wenn das Spiel stimmt, stirbt er immer noch. Ich habe ein paar print-Anweisungen hinzugefügt, um zu sehen, welchen Wert mein Code zurückgibt und es scheint, dass er den falschen Wert zurückgibt. Kann mir jemand helfen? Vielen Dank.Wert kommt nicht von einer anderen Klasse
geht aus dieser Klasse
if (choice != -1) {
if (john[choice] != null) {
if (john[choice].compPlayerAttack()) {
System.out.print("IT'S GAME OVER MAN!\n");
System.exit(0);
}
else {
System.out.println("Robot appears. Guess a number between 1-10. Get it right and you can pass, or you die. You have three chances.\"");
int answer = 0;
john[choice].toPass(answer);
if (answer== 1) {
System.out.println(answer);
map[x][y].removeJohnPlayer();
}
else { System.out.println(answer);
System.out.print("IT'S GAME OVER MAN!\n");
System.exit(0);
}
Hierher
public int toPass(int right){
int hiddenNum = numram.nextInt(MAX_NUMBER);
Scanner input = new Scanner(System.in);
int numOfGuesses = 0;
int a = right;
do {
System.out.println("Enter a number by guessing: ");
int guessedNum = input.nextInt();
numOfGuesses++;
if (guessedNum == hiddenNum) {
System.out.println("Darn! Your number is matched. You may live.");
System.out.println("You have made " + numOfGuesses + " attempts to find the number!");
a = 1;
break;
} else if (guessedNum < hiddenNum) {
System.out.println("Try a bigger number");
} else if (guessedNum > hiddenNum) {
System.out.println("Try a smaller number");
}
} while (numOfGuesses < 3);
System.out.println(a);
return a;
}