Oto Bub. Nie tak światowej klasy piłkarz

9

To jest Bub. Bub jest piłkarzem. Jednak nie jest zbyt dobry. Nadal nie może kopnąć piłki do siatki! (Jeśli nie zauważyłeś, @to jest piłka.

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

Aby pomóc rozwinąć swoje umiejętności, opracował system, który pomaga ocenić jego wyniki, gdy kopie piłkę. Nazywa to „systemem 10 punktów”.

Nie wie jednak, co musi zrobić, aby osiągnąć x liczby punktów. Musisz pomóc mu w wizualizacji, gdzie będzie piłka, aby mógł ustalić, ile punktów chce zdobyć. Jest 10 punktów na rundę, które może osiągnąć.

To jest twoje wyzwanie.

Biorąc pod uwagę liczbę x , liczba punktów, którą Bub otrzymuje, podaje położenie piłki na boisku. Oto kilka pomocnych markerów:

  • Bub jest dokładnie 50 pól od siatki.
  • Za każdy punkt, który otrzymuje Bub, piłka przesuwa się o 5 pól bliżej siatki. Dlatego jeśli Bub uzyska 3 punkty, piłka znajduje się 35 pól od siatki.
  • Za każde 3 punkty, które otrzymuje Bub, piłka zaczyna się poruszać w powietrzu! Przesuwa się o jedno pole w górę.
  • Jeśli liczba punktów, które Bub uzyska, przesunęłaby piłkę za siatkę, możesz umieścić piłkę w dowolnym miejscu w siatce.

Pamiętaj, że musisz narysować Buba, piłkę i siatkę.

Aby rozpocząć, oto przykład:

Liczba punktów: 5

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

Obowiązują standardowe zasady. Wygrywa kod z najmniejszą liczbą bajtów! Miłej gry w golfa!

Zizouz212
źródło
Czy możemy policzyć ten znak jako jeden bajt?
Leaky Nun
Czy musimy wyprowadzać końcowe spacje dokładnie tak, jak podano, czy możemy wydrukować dodatkowe?
PurkkaKoodari
@ edc65 Przyjmuję to jako „przesuń piłkę o jedną pozycję w górę za każde 3 punkty”
Luis Mendo,
@ Pietu1998 Dokładnie jak podano.
Zizouz212
2
Jeśli There are 10 points per round that he can achievedlaczego mielibyśmy przejmować się n> 10?
edc65

Odpowiedzi:

3

Pyth, 106 91 bajtów

Kodowanie długości przebiegu, a następnie kodowanie wewnętrzne.

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

Wypróbuj online!

Zamień znak Unicode (U + 2500) jako pojedynczy łącznik.

Leaky Nun
źródło
O jej. W dolnej linii twojego wyjścia jest dodatkowa przestrzeń! A piłka idzie za siatką, nie do środka! Spróbuj wprowadzić 12, a zobaczysz!
Zizouz212
O tak, linia jest Unicode. Uwielbiam odpowiedź. Uznanie za bycie pierwszym!
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>

edc65
źródło
Twój fragment nie działa dla mnie. Po prostu pojawia się komunikat „Błąd skryptu”.
Zizouz212
@ Zizouz212 jaka przeglądarka? Czy jest zgodny z ES6? kangax.github.io/compat-table/es6
edc65
@ edc65 Ah. To moja wina. Korzystam z Safari: /
Zizouz212