问题出在第3行,我需要取一个介于1-3之间的数字并保存该值,以便更多可以带走。
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = life - randomNumberhit;
Console.WriteLine(life);
有什么想法吗?我完全错了吗?
答案 0 :(得分:4)
您要声明变量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);
}
}
答案 1 :(得分:2)
生活需要被初始化为某种东西
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。
答案 2 :(得分:0)
您正在执行life-randomNumberhit
,但此时您的变量life
尚不存在。您应该将life
变量初始化为您想要的任何值:
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = 0; // for instance, 0
Console.WriteLine(life - randomNumberhit);