我正在開發一個小的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