Quiero colocar mis artículos y enemigos al azar (o tan al azar como sea posible). Por el momento, uso la Random
clase XNA para generar un número entre 800 para X y 600 para Y. Parece que los enemigos aparecen más hacia la parte superior del mapa que en el medio o en la parte inferior. No siembro el generador, tal vez eso es algo a considerar.
¿Se describen otras técnicas que pueden mejorar la colocación aleatoria del enemigo en una cuadrícula 2D?
Respuestas:
La colocación aleatoria no parece lo suficientemente aleatoria a la vista. Probablemente querrás que los enemigos se separen un poco más uniformemente. Eche un vistazo a este artículo sobre el muestreo de disco de Poisson o lea sobre el ruido azul.
fuente
¡Shawn Hargreaves al rescate!
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
Cuando piensas en una distribución aleatoria, realmente te refieres a una distribución uniforme. .Net's Random está pensando al azar. Necesitas algo más para igualarlo. El método de muestreo de disco Poisson amitp vinculado se ve perfecto para sus necesidades.
fuente
El siguiente código C # generará un conjunto de puntos uniformes para usted:
Tenga en cuenta que cuando usa el constructor Random () sin parámetros, el objeto Random que crea se siembra en función del tiempo, por lo que será esencialmente aleatorio a menos que lo haga repetidamente con muy poco tiempo entre llamadas.
fuente