Итак, я использую Java уже несколько недель и хотел попробовать сделать свою первую маленькую игру.Все, что у меня было, работало нормально, пока я не попытался добавить функцию воспроизведения снова.Похоже, он просто пропускает небольшую часть кода внизу, и я не могу понять, почему.
Я пробовал перемещать разные части кода, но не могу понять, почему он не работает.
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("You have 10 tries to correctly guess a random number between 1 and 10. Good luck! \n"
+ "After you have entered a number, press ENTER to see if you won.");
boolean play;
play = true;
do
{
int tries = 10, triesLeft = 0, triesUsed = 0;
String YorN;
do
{
System.out.print("\nEnter A Number: ");
int numInp = scan.nextInt();
int randomNumber = (int)(Math.random()*9) + 1;
System.out.println("The number was " + randomNumber);
if(numInp == randomNumber) {
System.out.println("\nYou Win! Great job.");
triesLeft = --tries;
triesUsed = 10 - triesLeft;
tries = -1;
} else {
System.out.println("Try Again...");
tries --;
}
}
while( tries > 0);
String playAgain = (" Feel free to play again soon!");
if(tries == 0) {
System.out.println("\nOut of tries :( You lose loser " + playAgain);
}
if(tries == -1) {
System.out.println("\nYou used " + triesUsed + " tries and had "
+ triesLeft + " tries left! :)" + playAgain);
}
System.out.print("\nDo you want to play again? Y or N?");
YorN = scan.nextLine();
if (YorN == ("Y") || YorN == ("y"))
{
play = true;
}
else if (YorN == ("N") || YorN == ("n"))
{
play = false;
}
else {}
} while(play = true);
if (play = false){
System.out.println("\nGood Bye");
}
}
Эта система, кажется, ничего не делает, когда я запускаю код:
YorN = scan.nextLine();
if (YorN == ("Y") || YorN == ("y"))
{
play = true;
}
else if (YorN == ("N") || YorN == ("n"))
{
play = false;
}
else {}
Вот что я вижу, когда запускаю код:
Вы выиграли!Отличная работа.
Вы использовали 5 попыток, и у вас осталось 5 попыток!:) Не стесняйтесь играть снова скоро!
Хотите играть снова?Y или N?Введите число:
Это не дает мне места для ввода y или n, как следует.Если кто-нибудь знает, почему я был бы очень признателен за помощь