Балуюсь примером из Head First Java, в котором создается некая программа, которая загадывает число от 0 до 9, а три игрока ее угадывают. В финале, если число угадано выводится:
У нас есть победитель!
Первый игрок угадал?false
Второй игрок угадал?false
Третий игрок угадал?true
Конец игры
За что отвечает кусочек кода:
if (p1isRight || p2isRight || p3isRight) {
System.out.println("У нас есть победитель!");
System.out.println("Первый игрок угадал?" + p1isRight);
System.out.println("Второй игрок угадал?" + p2isRight);
System.out.println("Третий игрок угадал?" + p3isRight);
System.out.println("Конец игры");
break;
Сам вопрос вот в чем - как сделать так, чтобы выводился лишь один победивший игрок, а не все участники с true и false.По типу:
У нас есть победитель!
Третий игрок угадал.
Конец игры
Сам код - ниже.
Заранее спасибо
public class GuessGame {
Player p1;
Player p2;
Player p3;
public void startGame() {
p1 = new Player ();
p2 = new Player();
p3 = new Player();
int guessp1 = 0;
int guessp2 = 0;
int guessp3 = 0;
boolean p1isRight = false;
boolean p2isRight = false;
boolean p3isRight = false;
int targetNumber = (int) (Math.random() * 10);
System.out.println("Я загадываю число от 0 до 9 ...");
while (true) {
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number;
System.out.println("Первый игрок думает, что это " + guessp1);
guessp2 = p2.number;
System.out.println("Второй игрок думает, что это " + guessp2);
guessp3 = p3.number;
System.out.println("Третий игрок думает, что это " + guessp3);
if (guessp1 == targetNumber) {
p1isRight = true;
}
if (guessp2 == targetNumber) {
p2isRight = true;
}
if (guessp3 == targetNumber) {
p3isRight = true;
}
if (p1isRight || p2isRight || p3isRight) {
System.out.println("У нас есть победитель!");
System.out.println("Первый игрок угадал?" + p1isRight);
System.out.println("Второй игрок угадал?" + p2isRight);
System.out.println("Третий игрок угадал?" + p3isRight);
System.out.println("Конец игры");
break;
}
else {
System.out.println("Гадаем снова");
}
}
}
}
Anonymous #3148344
4 уровень
Вопрос для саморазвития
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #3148344
23 августа 2022, 16:36
Точно. Спасибо большое 😂
0
KIRAРазработчик в prosv.ruExpert
23 августа 2022, 16:30
Эту часть разбить на несколько условий.
Будет выведен лишь первый кто ответил правильно.
0