我是一名学生,参加游戏开发的入门编程课程。我的一个任务要求我在构造函数中定义玩家攻击伤害。我希望伤害是随机的,但无论我做什么,我都会得到相同的数字。这是我做的一个测试,看看如何让这个数字随机。
class MainChar
{
public static Random random = new Random();
public int Atk;
public MainChar()
{
this.Atk = random.Next(11);
}
public void h()
{
while (Atk != 10)
{
Console.WriteLine(Atk);
}
}
}
我在主程序中创建MainChar的新实例,然后运行h()。我得到一个相同数字的重复列表,而不是1到10之间的随机数。任何想法?
P.S。 This thread很有用,但无法回答我的问题。
答案 0 :(得分:2)
在方法h()
中,如果while
,atk!=10
形成无限循环。所以你需要在那里指定一个退出条件来打破循环;你可以像这样使用:
public void h()
{
while (Atk != 10)
{
this.Atk = random.Next(11);
}
Console.WriteLine(Atk);
}
现在,您将获得0到11之间的随机数,而不是控制台中的10
答案 1 :(得分:0)
如果你想继续使用随机数,直到它产生一个破坏条件或数字,你可以将h()func修改为:
OAUTH_ERROR