0

私は、ユーザーが 1 から 100 までの数字を推測しなければならない学校向けの単純な Java 高低ゲームを作成しています。このために、私は 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

整数 MaxVal に初期化された bestGuess というクラス変数を 1 つだけ使用して実行できます。

checkGuess で、成功したら、guessCount が bestGuess より小さい場合は、bestGuess をguessCount に更新します。

bestGuess を返すメソッド getBestGuess を追加します。

maxint を返さないように、成功した推測の前に getBestGuess が呼び出されるケースを処理することもできます。たとえば、少なくとも bestGuess が更新されたらフラグを設定し、その前に getBestGuess を呼び出すと、まだ推測が行われていないことを示すスローをスローできます。

于 2013-10-30T01:09:48.020 に答える
0

あなたは次のように述べています:

currentScore と previousScore を持つことを考えましたが、これを実装する方法がわかりません。何か案は?

はい、2 つの int 変数 currentScore と previousScore を作成し、それらに結果を入力します。

私の答えは些細なことのように思えますが、公平を期すために、質問も同様です。より具体的なサポートが必要な場合は、どのように立ち往生しているかについて詳しく教えてください。

于 2013-10-30T01:06:11.087 に答える