在我的.NET游戏中,我的rand函数正在确定玩家每个角色应该承受多少伤害,然而第一个角色似乎总是处于底部,最后一个在顶部。因此,在我的Character[0]
中,伤害很少会比最小兰币值多1以上,并且对于较高指数的每个Character
,所造成的伤害只会随着比例较高而随机化。随机数表现怪异,不完全随机
public int GetDamage(int low, int high)
{
Random r = new Random();
int rand = r.Next(low, high);
return rand;
}
这是我使用的随机函数发生器。然后,我更新离开这样的健康:
int Damage = GetDamage(3, 10);
Characters[Target].Health = Characters[Target].Health - Damage;
在这个例子中伤害划分是这样的:
Number 1: 3-4
Number 2: 4-6
Number 3: 5-7
Number 4: 7-8
Number 5: 8-9
真的吗?一个非种子随机发生器不是真的随机? – 2013-04-11 12:59:27
@ThorstenDittmar它在技术上是种子,只是'很糟糕'。 – 2013-04-11 13:01:09
相关:http://stackoverflow.com/questions/1785744/how-do-i-seed-a-random-class-to-avoid-getting-duplicate-random-values – Carsten 2013-04-11 13:02:36