Paso 8: Generadores de números aleatorios
Si examina la sección del programa con la etiqueta "al azar:" verás el método que utiliza para obtener números al azar en los dados. Sólo inventé esto sobre la marcha y definitivamente no es el mejor método para obtener números aleatorios. El problema de conseguir números verdaderamente aleatorios de una computadora es difícil. La manera de hace la mayoría de las personas es similar a la manera lo hizo: utilizar las personas que usan el programa para generar el número aleatorio. Utilicé el tiempo necesario que pulse el botón para obtener una "semilla" para mi número al azar, ya que es difícil para usted tomar "exactamente" la misma cantidad de tiempo para pulsar el botón cada vez. Puesto que la cpu oscila en 16 millones de veces por segundo que es poco probable que usted puede presionar el botón en exactamente el mismo número de TCNT0 cada vez (a pesar de que es sólo entre 0 y 249) una vez que consigue ese número y guárdelo como una variable llamada "semilla" lo uso para generar dos números pseudo-random, uno para cada uno de los dados. Como se puede ver en el gráfico anterior que hice contando cuantas veces cada uno diferente rollo subió durante 200 rollos, no son todo lo que al azar (por ejemplo un 4 y un 5 no suben muy a menudo comparativamente--como puede verse en el gráfico, sólo sucedió una vez en rollos de 200), pero no está mal para un primer intento!
Ejercicio 3: averiguar cómo al azar nuestros dados son un montón de veces y representando los resultados gráficamente. ¿Qué porcentaje del tiempo se obtiene cada dígito en una matriz dada? ¿Una serie viene más a menudo a largo plazo? Si es así, no es verdaderamente aleatorio. Si vegas cifran sus tragaperras de vídeo con este generador y lo hizo el mismo análisis gráfica podría hacer 1 millón de dólares. (y espero que un pedazo de la acción para señalar hacia fuera jaja)
Ejercicio 4: hacer algunas exploraciones y estudios para encontrar un mejor generador de números aleatorios para implementar en este código.