0

我正在为学校制作一个简单的 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;
    } 

}

4

2 回答 2

0

你说:

我想有一个 currentScore 和一个 previousScore,但我不知道如何实现它。有任何想法吗?

是的,创建两个 int 变量 currentScore 和 previousScore,并用结果填充它们。

我的回答似乎微不足道,但公平地说,问题也是如此。如果您需要更具体的帮助,您可能想告诉我们更多关于您是如何陷入困境的信息。

于 2013-10-30T01:06:11.087 回答
0

你可以只用一个类变量来做到这一点,bestGuess 初始化为整数 MaxVal。

在您的 checkGuess 中,如果guessCount 小于bestGuess,则在成功时将bestGuess 更新为guessCount。

添加一个返回 bestGuess 的方法 getBestGuess。

您还可以处理在任何成功猜测之前调用 getBestGuess 的情况,这样您就不会返回 maxint。例如,至少在 bestGuess 更新一次后设置一个标志,如果在此之前调用 getBestGuess,您可能会抛出指示尚未完成猜测。

于 2013-10-30T01:09:48.020 回答