Aqui está Bub. Um jogador de futebol de classe não tão mundial

9

Este é Bub. Bub é um jogador de futebol. No entanto, ele não é muito bom. Ele ainda não pode chutar a bola para a rede! (Se você não percebeu, @é a bola.

                                                       _____
                                                      |     \
  O                                                   |      \
 \|/                                                  |       \
  |                                                   |  net   \ 
 / ─   @                                              |_________\

Para ajudar a desenvolver suas habilidades, ele desenvolveu um sistema para ajudar a avaliar seu desempenho quando chuta a bola. Ele chamou isso de "sistema de 10 pontos".

No entanto, ele não sabe o que precisa fazer para obter um número x de pontos. Você precisa ajudá-lo a visualizar onde a bola estará, para que ele possa definir uma expectativa de quantos pontos ele deseja obter. Existem 10 pontos por rodada que ele pode alcançar.

Portanto, este é o seu desafio.

Dado um número x , o número de pontos que Bub recebe, mostra a localização da bola no campo. Aqui estão alguns marcadores úteis:

  • Bub está exatamente a 50 espaços da rede.
  • Para cada ponto que Bub recebe, a bola se move 5 espaços mais perto da rede. Portanto, se Bub conseguir 3 pontos, a bola estará a 35 espaços da rede.
  • A cada 3 pontos que Bub recebe, a bola começa a se mover no ar! Move um espaço para cima.
  • Se o número de pontos que Bub conseguir mover a bola para trás da rede, você poderá colocá-la em qualquer lugar dentro da rede.

Lembre-se, você precisa desenhar Bub, a bola e a rede.

Para começar, aqui está um exemplo:

Número de pontos: 5

                                                       _____
                                                      |     \
  O                                                   |      \
 \|/                                                  |       \
  |                          @                        |        \ 
 / ─                                                  |_________\

Aplicam-se regras padrão. Código com o menor número de bytes ganha! Feliz golfe!

Zizouz212
fonte
Podemos contar esse caractere como um byte?
Leaky Nun
Temos que imprimir os espaços finais exatamente como indicado, ou podemos imprimir extra?
PurkkaKoodari
@ edc65 Eu tomo isso como "mover a posição de uma bola para cada 3 pontos"
Luis Mendo
@ Pietu1998 Exatamente como determinado.
Zizouz212
2
Se There are 10 points per round that he can achieve, por que deveríamos nos preocupar com n> 10?
edc65

Respostas:

3

Pitão, 106 91 bytes

Codificação de execução, seguida por codificação interna.

Hexdump:

0000000: 4a 63 72 58 2e 22 30 41 01 b6 07 31 11 af 55 c5 JcrX."0A...1..U.
0000010: 16 6f 93 4f ea 90 6b 39 f6 e0 dc 81 43 9d 01 f7 .o.O..k9....C...
0000020: 36 93 ee 4c c8 fa a5 28 70 22 6d 43 2b 35 38 64 6..L...(p"mC+58d
0000030: 38 22 0a 20 2f 4f 5c 5c 5f 7c 2d 22 39 62 6a 58 8". /O\\_|-"9bjX
0000040: 4a 4b 2d 35 2f 68 53 2c 54 51 33 58 40 4a 4b 68 JK-5/hS,TQ3X@JKh
0000050: 53 2c 35 38 2b 34 2a 35 51 5c 40                S,58+4*5Q\@

Experimente online!

Substitua o caractere Unicode (U + 2500) como um único hífen.

Freira Furada
fonte
Oh céus. Há um espaço extra na parte inferior da linha de saída! E a bola vai para trás da rede, não para dentro! Tente uma entrada de 12 e você verá!
Zizouz212
Ah, sim, a linha é Unicode. Eu amo a resposta. Parabéns por ser o primeiro!
Zizouz212
3

JavaScript (ES6), 189

f=n=>"       o \\|/ | / -".match(/.../g).map((v,r)=>(v=[...v+' '.repeat(50)+'| '[+!r]+' _'[+(!r|r>4)].repeat(r+4)+'\\_'[+!r]],y-r?0:v[x]='@',v.join``),n<11?0:n=11,x=3+n*5,y=5-(n/3|0)).join`
`

Teste

f=n=>"       o \\|/ | / -".match(/.../g).map((v,r)=>(v=[...v+' '.repeat(50)+'| '[+!r]+' _'[+(!r|r>4)].repeat(r+4)+'\\_'[+!r]],y-r?0:v[x]='@',v.join``),n<11?0:n=11,x=3+n*5,y=5-(n/3|0)).join`
`
var n=0

setInterval(function(){
  N.textContent=n,O.textContent=f(n),n=(n+1)&15
},1000)
<pre id=O></pre><span id=N></span>

edc65
fonte
Seu snippet não funciona para mim. Acabei de receber um erro dizendo "Erro de script".
Zizouz212
@ Zizouz212 qual navegador? É compatível com ES6? kangax.github.io/compat-table/es6
edc65
@ edc65 Ah. Minha culpa então. Eu uso o Safari: /
Zizouz212 23/06