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.