Você sabe - eles ficam assim:
O objetivo é desenhar uma ilustração de batidas de música como a seguinte:
= = =
= = = = =
== = == = == = ====
== ==== == === = = =======
======== == ==== = ========= =
=================================
As regras são:
- A largura da ilustração é de 33 símbolos, mas se você precisar, são permitidos espaços à direita que excedam essa largura.
- Cada coluna é composta de sinais de igual (
=
). - Cada coluna tem uma altura aleatória (a altura da próxima coluna não deve depender de forma alguma da altura da coluna anterior), variando de 1 a 6. Também é bom se for pelo menos possível obter alguma entrada sem nenhuma restrição estrita. probabilidade matemática (ou seja, algumas entradas podem aparecer mais raramente do que outras).
- Uma coluna não pode flutuar acima da parte inferior e ter lacunas.
- Como todas as colunas têm a altura mínima de 1, a última linha também não pode ter espaços - ela sempre consiste em 33 sinais de igual.
- Como é possível não ter colunas com a altura de 6 (afinal é tudo aleatório): nesse caso, você não precisa ter uma linha superior feita de espaços. Aplica-se a todos os casos de borda dessa natureza: se de repente seu código não fornecer colunas com altura maior que 1, você não precisará ter linhas adicionais feitas de espaços acima da linha inferior.
- Você não recebe nenhuma entrada .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
) #
Math.random()
é diretamente calculável a partir de sua chamada anterior se os parâmetros do gerador congruencial linear forem conhecidos, o que significa que você precisaria modificar a maioria das funcionalidades aleatórias incorporadas para atender a esse critério. Eu sugiro que isso seja melhor formulado.