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!


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.


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>


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.