我正在为学校制作一个简单的Java高低游戏,用户必须猜测1到100之间的数字。为此,我使用Java Swing作为我的GUI。 我正在计算猜测,当用户猜出数字并按下重启按钮时会重置。
但是 - 我想跟踪猜测的最佳数量。所以我会有一个“当前猜测”计数器和一个“最佳”计数器。 “最佳”计数器应仅增加第一轮,然后相应地改变为最低猜测数。
我想过有一个currentScore和一个previousScore,但我不知道如何实现这个。有什么想法吗?
如果您需要我的界面的代码/图片,我可以提供。其他游戏类别低于以下。
public class HiLoGame {
private int randomNum;
private int guessCount;
private String result;
private Random generator = new Random();
public HiLoGame() {
randomNum = generator.nextInt(100) + 1;
}
public void randomNumber() {
randomNum = generator.nextInt(100) + 1;
}
public int getRandomNum() {
return randomNum;
}
public void checkGuess(int guess) {
if (guess < randomNum) {
result = Integer.toString(guess) + " - Too low, try again";
guessCount++;
} else if (guess > randomNum) {
result = Integer.toString(guess) + " - Too high, try again";
guessCount++;
} else if (guess == randomNum) {
guessCount++;
result = Integer.toString(guess) + " - You guessed it!";
}
}
public String getResult() {
return result;
}
public int getGuessCount() {
return guessCount;
}
public void resetGame() {
guessCount = 0;
}
}
答案 0 :(得分:0)
你说:
我想过有一个currentScore和一个previousScore,但我不知道如何实现这个。有什么想法吗?
是的,创建两个int变量currentScore和previousScore,并用结果填充它们。
我的回答似乎微不足道,但公平地说,问题也是如此。如果您需要更具体的帮助,您可能想要告诉我们更多关于您是如何被困的信息。
答案 1 :(得分:0)
你只能使用一个类变量,bestGuess初始化为整数MaxVal。
在checkGuess中,成功时,如果guessCount小于bestGuess,请将bestGuess更新为guessCount。
添加一个返回bestGuess的方法getBestGuess。
您还可以处理在任何成功猜测之前调用getBestGuess的情况,这样您就不会返回maxint。例如,有一个标志设置一次至少bestGuess被更新,如果在此之前调用getBestGuess,你可以抛出表示还没有猜测。