问题出在第 3 行,我需要取走 1-3 之间的一个数字并保存该值,以便可以取走更多。
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = life - randomNumberhit;
Console.WriteLine(life);
有任何想法吗?我做错了吗?
您正在声明变量life
并为其分配life - randomhit
. life
如果还没有值,你怎么知道计算的结果?
尝试这样的事情:
int life = 100;
...
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
life = life - randomNumberhit;
Console.WriteLine(life);
但是,您可能希望改为使life
类变量。像这样的东西会起作用:
public class MyGuy
{
public int Life { get; set; }
public MyGuy()
{
this.Life = 100; // starting life
}
public void Hit()
{
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
this.Life -= randomNumberhit;
Console.WriteLine(this.Life);
}
}
生活需要被初始化
int life = 100; //Or some other value
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
life = life - randomNumberhit;
Console.WriteLine(life);
另请注意,当生命被重新分配 ( life = life - randomNumberhit;
) 时,不需要 int。
你正在做life-randomNumberhit
,但那时你的变量life
还不存在。您应该将life
变量初始化为您想要的任何值:
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = 0; // for instance, 0
Console.WriteLine(life - randomNumberhit);