我正在C#中使用平滑地形生成算法並使用XNA來顯示數據。隨機對象不在C中配置#
我這樣做是爲了在每次迭代之間的每個點之間創建一個新的點,在兩者之間的隨機高度處。這工作正常,並且我已經設置了它,以便在第二次迭代時它會像第二張幻燈片一樣選擇一個隨機點,而不是嘗試在位於同一軸上的點之間創建一個新點。
正在發生的事情是,循環使用從先前的迭代相同的隨機值:http://i.stack.imgur.com/UmWr7.png
這不是理想的明顯,因爲它不是一個適當的隨機生成。
如果我使用一個Thread.Sleep(20)
每個點後一代是否能夠正常工作:http://i.stack.imgur.com/KziOg.png
我不希望有使用Sleep
解決方法如果可能的話,因爲它是很慢的,我想用這個即時的。我很確定這與C#垃圾收集器有關。
這是我獲取點編碼
Random r = new Random();
int x = (p1.X + p2.X)/2;
int y;
if (!initial)
y = r.Next(Math.Min(p1.Y, p2.Y), Math.Max(p1.Y, p2.Y));
else
y = r.Next(Math.Min(p1.Y, p2.Y) - Game1.screenHeight/2, Math.Max(p1.Y, p2.Y) + Game1.screenHeight/2);
return new Point(x, y);
是垃圾收集問題的一部分?
有關解決此問題的任何建議或解決方案?
啊不能相信我沒有看到這個。非常感謝幫忙。 – FrenchyNZ