Ya sabes, se ven así:
El objetivo es dibujar una ilustración de ritmos musicales como la siguiente:
= = =
= = = = =
== = == = == = ====
== ==== == === = = =======
======== == ==== = ========= =
=================================
Las reglas son:
- El ancho de la ilustración es de 33 símbolos, pero si es necesario, se permiten los espacios finales que excedan este ancho.
- Cada columna está hecha de signos iguales (
=
). - Cada columna tiene una altura aleatoria (la altura de la siguiente columna no debe depender de ninguna manera de la altura de la columna anterior), que varía de 1 a 6. También está bien si al menos es posible obtener alguna entrada sin estricta probabilidad matemática (es decir, algunas entradas podrían aparecer más raramente que otras).
- Una columna no puede flotar sobre la parte inferior y tiene huecos.
- Como cada columna tiene la altura mínima de 1, la última fila tampoco puede tener espacios, siempre consta de 33 signos iguales.
- Dado que es posible no tener columnas con una altura de 6 (después de todo, todo es aleatorio): en este caso no necesita tener una línea superior hecha de espacios. Se aplica a cualquier caso de borde de esta naturaleza: si de repente su código no proporcionó columnas con una altura mayor que 1, no necesita tener líneas adicionales hechas de espacios sobre la línea inferior.
- No tomas ninguna entrada .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
)
Math.random()
es directamente calculable a partir de su llamada anterior si se conocen los parámetros del generador congruencial lineal, lo que significa que tendría que modificar la mayoría de las funciones aleatorias incorporadas para cumplir con este criterio. Sugiero que esto está mejor redactado.