У меня есть эта игра в догадки знаменитостей, где пользователь должен угадать имя знаменитости, учитывая только часть букв в имени.Я даю игроку «ключ» (egrge oney) и читаю его догадки.Программа должна иметь цикл, который позволяет им продолжать догадываться.Если они угадывают неправильно 3 раза, дайте им подсказку. Если они угадывают неправильно в четвертый раз (после подсказки), они проигрывают игру (и вы должны сказать им, кто был знаменитостью).
У меня проблемы с циклом.это то, что у меня есть до сих пор.
System.out.println("Celebrity Guessing Game");
String celeb = "John Lennon";
System.out.print("Choose your difficulty (easy/medium/hard): ");
String difficulty = input.nextLine();
int maxtry = 3;
if (difficulty.equals("easy"))
{
System.out.println("Here is your clue: " + celeb.substring(1, 4) + " " + celeb.substring(5,10));
}
else if (difficulty.equals("medium"))
{
System.out.println(("Here is your clue: " + celeb.substring(0, 3) + " " + celeb.substring(4,9)));
}
else if (difficulty.equals("hard"))
{
System.out.println(("Here is your clue: " + celeb.substring(2, 4) + " " + celeb.substring(5,7)));
}
System.out.print("What is your guess? ");
String guess1 = input.nextLine();
System.out.println("guess1 = " + guess1 + " celeb = " + celeb );
while (!guess1.equals(celeb) && maxtry == 3 ) {
if (!guess1.equals(celeb) && maxtry == 3) {
maxtry--;
System.out.println("Try Again." + " Number of guesses left : " + maxtry);
}
if (guess1.equals(celeb) || guess1.equals("john lennon")) {
System.out.println("Good Guess, you are correct!");
}
Это мой вывод:
Игра на догадки знаменитостей
Выберите сложность (легкую / среднюю / сложную): легкую
Вот ваш ключ: он, Ленно
Каково ваше предположение?Джон Леннон
Угадай, 1 = Джон Леннон, знаменитость = Джон Леннон
Попробуй еще раз.Количество оставшихся догадок: 2
Хорошо, угадайте, вы правы!
^ Почему он проходит через оба оператора if ??