4

私は Java クラス用にドッグ テキスト アドベンチャー ゲームを作成しています。最近の課題は、ゲームに確率とトレーニングを追加することでした。

基本的に乱数を発生させており、例えばスキル「シェイク」に関連付けられた数が設定数よりも大きい場合、犬はトリックを成功させます。

その部分は私にとって100%機能しています。

トレーニングを追加すると、問題が発生します。各スキルの初期値を 1 に設定しています。スキルが成功するたびに、値が 1 ずつ増加します。

私の目標は、最大値を 3 にすることです。最大値に達すると、犬は実行されるたびにトリックを実行します!

これが私が持っているものです。うまくいけば、誰かがそれが機能しない理由を説明できます

    // Sit
    if (Trick.equalsIgnoreCase("Sit")) {
        if (roll >= 4 || sitSkill == 3) {
            System.out.println("\n" + name + " sat down for you!");
            energy -= 10;
            food -= 5;
            sitSkill ++;
            happy ++;
        } else {
            System.out.println("\n" + name + " did not perform the trick successfuly.");
            energy -= 10;
            food -= 6;
            happy -= 20;
        }
    }
4

3 に答える 3

7

あなたが何を助けようとしているのか正確にはわかりませんが、私が見ることができる最も明白な問題は、 の場合sitSkill == 3、あなたはまだ を呼び出しsitSkill++ているため、その反復の後、それは 4 に等しくなり、ロールが低すぎる場合にトリガーされるelseステートメント。

于 2013-08-29T03:56:39.040 に答える