Tôi đang làm việc trên thuật toán tạo địa hình trơn tru trong C# và sử dụng XNA để hiển thị dữ liệu.Đối tượng ngẫu nhiên không xử lý trong C#
Tôi đang tạo nó để tạo ra một điểm mới giữa mỗi điểm trên mỗi lần lặp, với chiều cao ngẫu nhiên giữa hai điểm. Điều này làm việc OK, và tôi đã thiết lập nó để lặp lại lần thứ hai nó chọn một điểm ngẫu nhiên như trong slide hai, thay vì cố gắng tạo một điểm mới giữa các điểm trên cùng một trục.
gì đang xảy ra là vòng lặp được sử dụng giá trị ngẫu nhiên cùng từ lặp đi lặp lại theo thời gian: http://i.stack.imgur.com/UmWr7.png
Đây không phải là lý tưởng rõ ràng, vì nó không phải là một thế hệ ngẫu nhiên thích hợp.
Nếu tôi sử dụng một Thread.Sleep(20)
sau mỗi thế hệ điểm nó hoạt động một cách chính xác: http://i.stack.imgur.com/KziOg.png
Tôi không muốn phải sử dụng Sleep
workaround if possible vì nó là rất chậm, và tôi muốn sử dụng này trong thời gian thực. Tôi khá chắc chắn điều này có cái gì để làm với thu gom rác C#.
Đây là điểm Nhận của tôi Mã
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);
Là thu gom rác thải là một phần của vấn đề này?
Bất kỳ đề xuất hoặc giải pháp nào để giải quyết vấn đề này ??
Ahh không thể tin rằng tôi không thấy điều này. Cảm ơn rất nhiều vì sự giúp đỡ. – FrenchyNZ