Saya ingin menempatkan barang dan musuh saya secara acak (atau se acak mungkin). Saat ini saya menggunakan Random
kelas XNA untuk menghasilkan angka antara 800 untuk X dan 600 untuk Y. Rasanya seperti musuh menelurkan lebih banyak ke arah atas peta daripada di tengah atau bawah. Saya tidak seed generator, mungkin itu sesuatu yang perlu dipertimbangkan.
Apakah ada teknik lain yang dijelaskan yang dapat meningkatkan penempatan musuh acak di grid 2d?
Jawaban:
Penempatan acak tidak terlihat cukup acak bagi mata. Anda mungkin ingin musuh ditempatkan sedikit lebih merata. Lihatlah artikel ini tentang pengambilan sampel disk Poisson, atau baca tentang noise biru.
sumber
Shawn Hargreaves menyelamatkan!
http://blogs.msdn.com/b/shawnhar/archive/2009/12/17/the-psychology-of-randomness.aspx http://blogs.msdn.com/b/shawnhar/archive/2010/09 /10/links-5-charles-bloom-on-randomness.aspx
Ketika Anda memikirkan pembagian acak, yang Anda maksud adalah distribusi yang merata. .Net's Random sedang berpikir secara acak. Anda perlu sesuatu yang lain untuk meratakannya. Metode pengambilan sampel disk Poisson yang terhubung ke tampak sempurna untuk kebutuhan Anda.
sumber
Kode C # berikut akan menghasilkan satu set titik seragam untuk Anda:
Perhatikan bahwa ketika Anda menggunakan konstruktor Acak () tanpa parameter, objek Acak yang Anda buat diunggulkan berdasarkan waktu, jadi itu akan menjadi dasarnya acak kecuali Anda melakukannya berulang kali dengan waktu yang sangat sedikit di antara panggilan.
sumber