我正在开发一个小的XNA游戏,随机和种子,生成相同的值?
for (int birdCount = 0; birdCount < 20; birdCount++)
{
Bird bird = new Bird();
bird.AddSpriteSheet(bird.CurrentState, birdSheet);
BIRDS.Add(bird);
}
上面的代码在加载函数运行,鸟类是所有鸟都举行的清单。
鸟构造函数随机定制鸟。如果我通过breakPoint运行代码breakPoint,随机函数会生成不同的值,但是如果我不停止代码并使程序运行,则所有随机值都变为相同,以便所有的鸟变得相同。
我该如何解决这个问题?
随机和种子代码:
private void randomize()
{
Random seedRandom = new Random();
Random random = new Random(seedRandom.Next(100));
Random random2 = new Random(seedRandom.Next(150));
this.CurrentFrame = random.Next(0, this.textures[CurrentState].TotalFrameNumber - 1);
float scaleFactor = (float)random2.Next(50, 150)/100;
this.Scale = new Vector2(scaleFactor, scaleFactor);
// more codes ...
this.Speed = new Vector2(2f * Scale.X, 0);
this.Acceleration = Vector2.Zero;
}
请显示您用来生成随机和种子的代码... – Yahia