2

それで、私は新しいプロジェクトの 1 つで、一種のばかげた窮地に陥りました。私の任務の 1 つは、ゲームを開発することです。プレイヤーには、ヒーローを最大 4 回まで最大の健康状態まで回復できるオプションが与えられます。プレイヤーがいつ回復したいかを認識するように、ヘルス値とコマンド値を割り当てましたが、ユーザーがヒール コマンドを 4 回だけ使用するように制限する方法と、ヘルスを元に戻す方法に行き詰まっています。いっぱいに。

私は自分の問題に関連しているように見えるstackoverflowに関する別の投稿を読んでいましたが、自分のニーズに合わせて調整する方法がよくわかりませんでした。

Scanner sc = new Scanner(System.in);
int number;
do {
    System.out.println("Please enter a positive number!");
    while (!sc.hasNextInt()) {
        System.out.println("That's not a number!");
        sc.next(); // this is important!
    }
    number = sc.nextInt();
} while (number <= 0);
System.out.println("Thank you! Got " + number);

アドバイスや直接的な助けをいただければ幸いです。前もって感謝します!

編集: 1 回のゲーム セッションで最大 4 回回復できます。したがって、ヒール コマンドを 1 回使用すると、3 回しか使用できなくなります。ユーザーは整数を入力してヒール コマンドを呼び出します。この場合、決定を求めるプロンプトが表示され、数字の 0 を入力するだけです。

4

1 に答える 1

0

基本的にあなたの質問から私が理解できることは、上記のコードを最大4回実行したいということです。つまり、ユーザーがメソッドを呼び出して1回実行し、2回実行するなど...しかし、呼び出された場合5 回目はコードを実行したくありません。
これは、たとえば以下に示すようにカウンターを維持することで実現できます。

public class Q
{

public static void main(String[] n)
{
    Q1 ob =new Q1();
    ob.myMethod();
    System.out.println("One time");

    ob.myMethod();
    System.out.println("two time");

    ob.myMethod();
    System.out.println("three time");

    ob.myMethod();
    System.out.println("Fourth time");

    ob.myMethod();

}
}

ご覧のとおり、メソッドを 5 回呼び出しました。ここで、ユーザーがメソッドを 4 回だけ呼び出したり取得したりできないように制限する方法を見てみましょう。

class Q1
{
int counter=0;
public void myMethod()
{
    if(counter<4)
    {
        Scanner sc = new Scanner(System.in);
        int number;
        do 
        {
            System.out.println("Please enter a positive number!");
            while (!sc.hasNextInt()) 
            {
        System.out.println("That's not a number!");
        sc.next(); // this is important!
    }
    number = sc.nextInt();
    } while (number <= 0);
    System.out.println("Thank you! Got " + number);
    counter++;
}

else
{
    System.out.println("A maximum of 4 times of healing is allowed");
}

}
 }
于 2012-10-03T05:47:31.737 に答える