如何解决错过'如果'

时间:2013-04-23 20:32:34

标签: c# if-statement skip

'life'从12开始,'randomNumberhit'是随机数1,2或3; 'randomNumberhit'被带离'生命',但当我试图识别'生命'是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");
}

即使'生命'为0,-1或-2也不遵循路径,任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:1)

randomNumberhit的价值是多少?它似乎是一个介于1和4之间的数字。假设你有最大随机值,即3. 12 - 3> 0,这就是你的if语句永远不会评估为真的原因。

另请阅读MSDN: Random.Next

答案 1 :(得分:0)

我会使用if / else,就像上面的评论一样。但你能不能只使用;

   if (life <= 0)