Я разрабатываю небольшую игру XNA,
for (int birdCount = 0; birdCount < 20; birdCount++)
{
Bird bird = new Bird();
bird.AddSpriteSheet(bird.CurrentState, birdSheet);
BIRDS.Add(bird);
}
Приведенный выше код работает с функцией Load, BIRDS - это список, в котором содержатся все птицы.
Конструктор птиц настраивает птицу случайным образом. Если я запускаю код 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;
}