Không chắc chắn cách khác để giải thích điều này, vì vậy tiêu đề mô tả khá nhiều vấn đề.Tại sao System.Random cho '1' nhiều lần liên tiếp, sau đó không phải trong một thời gian, sau đó một lần nữa?
Ngẫu nhiên không được khởi tạo lại mọi phần của vòng lặp. Đó là một thành viên tĩnh của một lớp mà tôi luôn luôn gọi từ các lớp khác.
Tôi không sử dụng hạt giống tùy chỉnh.
Mã khởi động là:
public static Random random = new Random();
for (int x = 0; x < 75; x++)
{
if (main.random.Next(11) == 1)
{
tiles[heightMap[x] - 1][x] = 4;
tiles[heightMap[x] - 2][x] = 4;
tiles[heightMap[x] - 3][x] = 4;
tiles[heightMap[x] - 4][x] = 4;
tiles[heightMap[x] - 5][x] = 4;
tiles[heightMap[x] - 5][x - 1] = 5;
tiles[heightMap[x] - 6][x - 1] = 5;
tiles[heightMap[x] - 6][x] = 5;
tiles[heightMap[x] - 5][x + 1] = 5;
tiles[heightMap[x] - 6][x + 1] = 5;
}
}
này (Tôi biết đây không phải là một cách tuyệt vời - đó là thô sơ và tạm thời) tạo ra một cái cây.
Tuy nhiên địa hình của tôi thường trông giống như thế này, với nhiều cây nhóm:
☁☁☁☁☁☁☁☁☁☁
bất cứ ai có thể đưa ra cái nhìn sâu sắc tại sao điều này đang xảy ra? Có cách nào tốt hơn thay vì sử dụng lớp System.Security.Cryptography.Random?
Tôi mong đợi trung bình 9 khoảng cách trên mỗi cây, nhưng nó giống như 7 và sau đó 3 cây chặt chẽ với nhau.
http://dilbert.com/strips/comic/2001-10 -25/ –
Truyện tranh đẹp, rất đúng. :( –
Ngẫu nhiên không có nghĩa là thay đổi thường xuyên trong các kết quả thay thế. Theo thời gian, trình tự như thế này được phân bố đồng đều. – codekaizen