我不熟悉编程,正在尝试制作更高或更低的游戏,但是有一些问题。首先,我想让程序在猜对卡时循环,即选择较低的选项,并且较低。但是,它在第二个循环后崩溃,什么也没有发生。游戏结束后,我会选择再次玩,什么都没有发生。如果有人可以帮助我解决这些问题,将不胜感激。谢谢
import
最佳答案
尝试这个 :
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int card = 0;
int cardNext;
String userResponse;
String userPlayAgain;
boolean userGuessedRight = true;
do {
do {
Random randomNumbers = new Random();
card = randomNumbers.nextInt(13 - 1 + 1) + 1;
System.out.println("Card is " + card);
System.out.print("Higher or Lower?");
cardNext = randomNumbers.nextInt(13) + 1;
userResponse = scan.next();
userGuessedRight = (userResponse.equalsIgnoreCase("H") && cardNext >= card)
|| (userResponse.equalsIgnoreCase("L") && cardNext <= card);
if (userGuessedRight) {
System.out.println("Card is " + cardNext);
System.out.print("Higher or Lower?");
userResponse = scan.next();
} else {
break;
}
} while (userResponse.equalsIgnoreCase("H") && cardNext < card || userResponse.equalsIgnoreCase("L") && cardNext > card);
System.out.println("Card is " + cardNext);
System.out.println("Card is higher/lower you lose – play again? Y/N : ");
userPlayAgain = scan.next();
} while (userPlayAgain.equalsIgnoreCase("Y"));
do {
if (userPlayAgain.equalsIgnoreCase("N"))
{
System.out.print("Thank You.");
break;
}
} while (!userPlayAgain.equalsIgnoreCase("Y"));
scan.close();
}
编辑
这是输出: