-5

「life」は 12 から始まり、「randomNumberhit」は 1、2、または 3 の乱数です。「randomNumberhit」は「life」から取り除かれますが、「life」が0、-1、または-2であることを認識しようとすると機能しません。

int life = 12;
...
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
...
life = life - randomNumberhit;
Console.WriteLine(life);
if (life == 0)
{
Console.Writeline("end 0");
}
if (life == -1)
{
Console.Writeline("end -1");
}
if (life == -2)
{
Console.Writeline("end -2");
}

'life' が 0、-1、または -2 の場合でも、パスをたどりません。

4

2 に答える 2

1

の値はrandomNumberhit? 1 から 4 の間の数値のようです。ランダムな最大値が 3 であるとしましょう。12 - 3 > 0 です。これが、if ステートメントが true と評価されない理由です。

また、MSDN: Random.Nextをお読みください。

于 2013-04-23T20:45:56.060 に答える
0

上記のコメントのように if/else を使用します。しかし、あなたはただ使うことができませんでした。

   if (life <= 0)
于 2013-04-23T20:44:33.297 に答える