Ini Bub. Seorang pemain sepakbola yang tidak terlalu berkelas dunia

9

Ini Bub. Bub adalah pemain sepak bola. Namun, dia bukan yang sangat baik. Dia masih tidak bisa menendang bola ke gawang! (Jika Anda belum menyadarinya, itu @adalah bola.

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

Untuk membantu mengembangkan keterampilannya, dia mengembangkan sistem untuk membantu mengevaluasi kinerjanya ketika dia menendang bola. Dia menyebutnya "sistem 10 poin."

Namun, dia tidak tahu apa yang harus dia lakukan untuk mencapai x jumlah poin. Anda perlu membantunya memvisualisasikan di mana bola akan berada, sehingga ia dapat menetapkan harapan berapa banyak poin yang ingin ia dapatkan. Ada 10 poin per ronde yang bisa dia raih.

Karena itu, ini adalah tantangan Anda.

Diberi angka x , jumlah poin yang didapat Bub, output lokasi bola di lapangan. Berikut ini beberapa penanda bermanfaat:

  • Bub persis 50 ruang jauhnya dari jaring.
  • Untuk setiap poin yang didapat Bub, bola bergerak 5 jarak lebih dekat ke jaring. Karena itu, jika Bub mendapat 3 poin, bola berjarak 35 spasi dari jaring.
  • Untuk setiap 3 poin yang didapat Bub, bola mulai bergerak di udara! Ini bergerak satu ruang ke atas.
  • Jika jumlah poin yang didapat Bub akan memindahkan bola di belakang jaring, Anda bisa menempatkan bola di mana saja di dalam jaring.

Ingat, Anda harus menggambar Bub, bola, dan jaring.

Untuk memulai, berikut ini sebuah contoh:

Jumlah Poin: 5

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

Aturan standar berlaku. Kode dengan jumlah byte terendah menang! Selamat bermain golf!

Zizouz212
sumber
Bisakah kita menghitung karakter itu sebagai satu byte?
Leaky Nun
Apakah kita harus menampilkan spasi tambahan persis seperti yang diberikan, atau dapatkah kita mencetak ekstra?
PurkkaKoodari
@ edc65 Saya menganggapnya sebagai "pindahkan bola satu posisi ke atas untuk masing-masing 3 poin"
Luis Mendo
@ Pietu1998 Persis seperti yang diberikan.
Zizouz212
2
Jika There are 10 points per round that he can achieve, mengapa kita peduli n> 10?
edc65

Jawaban:

3

Pyth, 106 91 byte

Pengkodean run-length, diikuti oleh pengodean internal.

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\@

Cobalah online!

Ganti karakter Unicode (U + 2500) sebagai tanda hubung tunggal.

Biarawati Bocor
sumber
Oh sayang. Ada ruang ekstra di bagian paling bawah dari output Anda! Dan bola melewati jaring, bukan di dalam! Coba masukan 12 dan Anda akan melihat!
Zizouz212
Oh ya, salurannya adalah Unicode. Saya suka jawabannya. Kudos karena menjadi yang pertama!
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`
`

Uji

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
sumber
Cuplikan Anda tidak berfungsi untuk saya. Saya hanya mendapatkan pesan kesalahan "Script error."
Zizouz212
@ Zizouz212 browser apa? Apakah ES6 kompatibel? kangax.github.io/compat-table/es6
edc65
@ edc65 Ah. Salahku kalau begitu Saya menggunakan Safari: /
Zizouz212