Ecco Bub. Un calciatore non così di classe mondiale


9

Questo è Bub. Bub è un calciatore. Tuttavia, non è molto bravo. Non riesce ancora a calciare la palla in rete! (Se non l'hai notato, @è la palla.

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

Per aiutare a sviluppare le sue abilità, ha sviluppato un sistema per aiutare a valutare le sue prestazioni quando calcia il pallone. Lo ha chiamato il "sistema a 10 punti".

Tuttavia, non sa cosa deve fare per raggiungere x numero di punti. Devi aiutarlo a visualizzare dove sarà la palla, in modo che possa stabilire l'aspettativa di quanti punti vuole ottenere. Ci sono 10 punti per round che può ottenere.

Pertanto, questa è la tua sfida.

Dato un numero x , il numero di punti che Bub ottiene, indica la posizione della palla sul campo. Ecco alcuni marcatori utili:

  • Bub è esattamente a 50 spazi dalla rete.
  • Per ogni punto che ottiene Bub, la palla si sposta di 5 spazi più vicino alla rete. Pertanto, se Bub ottiene 3 punti, la palla si trova a 35 spazi di distanza dalla rete.
  • Per ogni 3 punti che ottiene Bub, la palla inizia a muoversi in aria! Si sposta di uno spazio verso l'alto.
  • Se il numero di punti ottenuti da Bub sposterebbe la palla dietro la rete, puoi posizionarla ovunque all'interno della rete.

Ricorda, devi disegnare Bub, la palla e la rete.

Per iniziare, ecco un esempio:

Numero di punti: 5

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

Si applicano le regole standard. Vince il codice con il minor numero di byte! Buon golf!


Possiamo contare quel carattere come un byte?
Leaky Nun,

Dobbiamo produrre gli spazi finali esattamente come indicato, oppure possiamo stampare extra?
PurkkaKoodari,

@ edc65 Lo prendo come "sposta la palla di una posizione verso l'alto per ogni 3 punti"
Luis Mendo,

@ Pietu1998 Esattamente come indicato.
Zizouz212,

2
Se There are 10 points per round that he can achieve, perché dovremmo preoccuparci di n> 10?
edc65,

Risposte:


3

Pyth, 106 91 byte

Codifica run-length, seguita da codifica 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\@

Provalo online!

Sostituisci il carattere Unicode (U + 2500) come un singolo trattino.


Oh caro. C'è uno spazio extra nella parte più bassa della tua uscita! E la palla passa dietro la rete, non dentro! Prova un input di 12 e vedrai!
Zizouz212,

Oh sì, la linea è Unicode. Adoro la risposta. Complimenti per essere il primo!
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`
`

Test

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>


Il tuo frammento non funziona per me. Ho appena ricevuto un errore che dice "Errore di script".
Zizouz212,

@ Zizouz212 quale browser? È compatibile ES6? kangax.github.io/compat-table/es6
edc65,

@ edc65 Ah. Colpa mia allora. Uso Safari: /
Zizouz212 il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.