Imprima, no STDOUT, um padrão que mostre em que direção uma bola quicando seguirá.
As seguintes premissas são feitas:
- A bola começa no canto superior esquerdo:
0, 0
com velocidade inicial zero. - A gravidade é
9.8ms^-2
exatamente em direção ao chão (y positivo.) - A bola pesa
500g
exatamente. - A bola salta a 45 ou 135 graus no chão, a menos que você queira adicionar os cálculos apropriados para adicionar trajetórias variáveis. (Pontos arbitrários de bônus!)
- A bola tem um coeficiente
constante de molade restituição / bouncyness constante de0.8
exatamente. - A bola é perfeitamente esférica e não se deforma quando bate.
- A sala tem 25 caracteres, 130 caracteres de largura. Cada xey é de 1 metro e cada posição da bola representa uma amostra discreta - o período exato é deliberadamente não especificado, mas a tela deve deixar o caminho da bola suficientemente claro. A saída deve mostrar o caminho da bola, não apenas a posição final.
- O piso e a bola devem ser indicados usando caracteres em STDOUT, que podem ser os mesmos. A presença de nenhuma bola ou superfície do piso deve ser indicada com um caractere de espaço.
- Você pode assumir o arredondamento para três casas decimais em qualquer cálculo. (As soluções que usam puramente números inteiros podem estar particularmente interessadas nessa regra.)
- A simulação para quando a bola não se move do chão ou sai da sala (
x > width of area
.) - O programa deve simular o caminho da bola, não simplesmente carregá-lo de um arquivo ou codificá-lo de alguma forma no programa. O teste para isso será opcionalmente alterar uma das constantes. Se o programa não calcular um resultado novo e correto, ele não se qualifica.
Exemplo de saída:
*
*
*
*
*
*
*
*
*
* ***********
* ***** ****
* **** ***
* *** ***
* ** **
* *** **
* ** ** *********
* * ** **** ****
* ** * ** **
* * ** ** **
* * * ** ** ********
* ** * ** ** **** ****
* * ** ** ** ** **
* * ** ** ** ** ** **
** ** ** ** ** ** **
* **** **** ***
**********************************************************************************************************************************
Determinação do vencedor. Aceitarei a resposta que:
- Atende às regras, conforme definido acima.
- Característica de bônus será considerada.
- É a mais curta e elegante (decisão subjetiva).
1
A entrada e / ou a velocidade inicial (energia?) Estão ausentes ou estou cego? Como eu vejo agora, eu poderia simplesmente desenhar a caixa e dizer que a bola está parada, ou compactar sua imagem e exibi-la a cada corrida.
—
shiona
mas se eu decidir que a bola tem a velocidade de 0,0001 m / s (ou qualquer que seja pequena o suficiente) na direção de 45 °, a bola não sai visivelmente do chão com a resolução escolhida. Eu acho que os problemas sempre devem ter algum tipo de entrada (usuário, aleatório etc.) para tornar impossível a codificação embutida em uma única resposta.
—
Shiona
As estrelas à esquerda são o eixo y ou estão marcando o caminho da bola? Se eles marcarem o caminho da bola, essas simulações de física parecerão um pouco duvidosas porque a bola não tem componente de movimento para a direita; portanto, ao saltar em um piso plano, ela deve saltar de volta para cima e não para a direita. Além disso, os ângulos ficariam mais achatados a cada salto (se tivermos um componente de movimento à direita).
—
Thomas W.
Isso é
—
Paul R
code-golf
ou code-challenge
ou o quê? Etiquete adequadamente.
Dado que a bola é simplesmente derrubada, o que faz a bola se mover para a direita? Por que simplesmente não se move para cima e para baixo?
—
23413 DavidC