Eu moro no Reino Unido, onde chove. Muito. Eu também tenho a infeliz necessidade de usar óculos para ver, o que significa que, quando chove (como está agora), mal consigo ver através deles. Esse desafio é para que todos possam experimentar o mesmo!
Tarefa
Saída de óculos artísticos ASCII com uma gota de água adicionada a cada segundo.
Entrada
Nenhum
Saída
Um par de copos com gotas de água sobre eles.
Óculos
________________________
| /__\ |
| / \ |
| / \ |
\_______/ \_______/
Pingos de chuva
Uma gota de chuva é indicada por a .
. Uma gota de chuva é colocada aleatoriamente nas lentes dos óculos. Então, quando uma gota de chuva é colocada, os óculos podem ficar assim
________________________
| /__\ |
| . / \ |
| / \ |
\_______/ \_______/
Se for colocado em um espaço em branco ( ),
.
será colocado um na imagem. Se for colocado em um quadrado que já tenha uma gota de chuva, a gota se formará.
Os passos nas gotas são
- sem gotas colocadas:
- 1 gota colocada:
.
- 2 gotas colocadas:
o
- 3 gotas colocadas:
O
- 4+ gotas colocadas:
@
Regras
- A imagem deve parecer como se estivesse no lugar. Isso significa que você pode limpar a tela ou imprimir novas linhas suficientes para "limpar" a tela. Você não pode retornar uma lista de etapas. Desculpe por isso, mas você deve conseguir solucionar isso.
- Ao emitir novas linhas para "limpar" a tela, você deve ter pelo menos três novas linhas entre os óculos.
- O código é executado até que os óculos estejam cheios de gotas totalmente graduadas, ou seja, até que a saída fique assim:
________________________ | @@@@@@@@@@ / __ \ @@@@@@@@@@@ | | @@@@@@@@@ / \ @@@@@@@@@ | | @@@@@@@@ / \ @@@@@@@@ | \ _______ / \ _______ /
- O menor código em bytes vence.
@
, certo?Respostas:
JavaScript (ES6),
269267265 bytesEdit: Salvo
24 bytes graças a @Shaggy.fonte
innerText
vez detextContent
e emsearch
vez deindexOf
. E mais alguns usando apenas<pre id=o
como HTML, em vez de usádocument.write
-lo.Java 8,
449421 bytesExplicação:
Experimente aqui. (
Thread.sleep
é removido para que você veja instantaneamente o resultado.)Saída:
NOTA: Os pontos são um pouco estranhos no gif, mas isso é um problema no meu ScreenToGif.exe.
fonte
"
) realmente se parece há uma gota de água real no topo da minha telaF #, não recursivo
379414404 bytesExperimente online!
Eu amo a premissa deste desafio :)
E obrigado pelo verme.
F #,
406441438437423 bytesExperimente online!
Explicação
fonte
open System
e remoçãoSystem
doRandom()
eThreading.Thread.Sleep()
chamadas;)Python 2,
365328 bytesIsso é um pouco melhor ...
Experimente online
O link acima usa 30 linhas em vez de 3, mas você pode vê-lo com 3 se redimensionar a janela do navegador para ser pequena o suficiente na vertical. Mude
time.sleep(1)
paratime.sleep(.1)
para velocidade 10x.fonte
C,
313309305304 bytesPrecisa ser jogado bastante;
Eu o executo com o seguinte esboço de teste
fonte
Ruby ,
237224228218206198197 bytesExperimente online!
A resposta anterior estava errada, não levou em consideração uma gota de chuva caindo em um @.Aparentemente, não é um requisito. Alguns bytes salvos.Isso termina com um erro, mas definitivamente termina assim que os óculos cheios são impressos.
colocando a impressão em uma lambda ealterando a atribuição para usar tr (duh)\\
possívela
, e depois voltando para dentro do trx
(duh). Caso alguns de vocês estejam se perguntando por que isso não afeta o loop principal: o loop principal não considera a última linha para determinar suax
.a extremidade superior dos óculos
Yay <200 bytes: D
Gif:
fonte
Bash,
576510429416 BytesUau, jogou muito golfe. Se alguém tiver alguma idéia para jogar golfe, estou aberto a sugestões
Tente você mesmo! Tem o sono comentado por causa do limite de 60 segundos
Aqui está o gif:
fonte
Perl, 167 bytes
Observe que
\x1b
é um caractere de escape literal.Veja online!
fonte
Mathematica, 438 bytes
aqui está um gif de resultado de velocidade de 10x
fonte
Table
,95
e32
?t=Table
x = 32
ey = 95
?Flatten
porf
?PHP,
262254 bytesCorra com
-nR
ou experimente online .demolir
fonte