Ось Буб. Не такий футболіст світового класу


9

Це Буб. Буб - футболіст. Однак він не дуже хороший. Він все ще не може вибити м'яч у сітку! (Якщо ви не помітили, @це м'яч.

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

Щоб розвинути свої навички, він розробив систему, яка допоможе оцінити його ефективність при ударі м'яча. Він назвав це "10-бальною системою".

Однак він не знає, що йому потрібно зробити, щоб досягти x кількості очок. Вам потрібно допомогти йому візуалізувати, де буде бал, щоб він міг задати очікування, скільки очок він хоче отримати. Він може досягти 10 очок за раунд.

Тому це ваш виклик.

З огляду на число x , кількість очок, які отримує Bub, виведіть розташування кулі на полі. Ось кілька корисних маркерів:

  • Буб знаходиться рівно за 50 просторів від мережі.
  • За кожну точку, яку отримує Буб, м'яч переміщується на 5 просторів ближче до мережі. Тому, якщо Буб отримує 3 очки, м'яч знаходиться на відстані 35 просторів від мережі.
  • За кожні 3 очки, які отримує Буб, м'яч починає рухатись у повітрі! Він переміщує один простір вгору.
  • Якщо кількість очок, які отримує Буб, перемістить м'яч за сітку, ви можете покласти м'яч кудись у сітку.

Пам’ятайте, вам потрібно намалювати Бубу, кулю та сітку.

Щоб розпочати роботу, ось приклад:

Кількість балів: 5

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

Діють стандартні правила. Код з найменшою кількістю байтів виграє! Щасливого гольфу!


Чи можемо ми вважати цей символ одним байтом?
Leaky Nun

Чи потрібно виводити пробіли точно так, як задано, чи ми можемо надрукувати додаткові?
PurkkaKoodari

@ edc65 Я сприймаю це як "перемістіть м'яч на одну позицію вгору на кожні 3 бали"
Луїс Мендо

@ Pietu1998 Точно так, як дано.
Zizouz212

2
Якщо There are 10 points per round that he can achieve, чому ми могли б піклуватися про n> 10?
edc65

Відповіді:


3

Pyth, 106 91 байт

Кодування по довжині, за яким слід внутрішнє кодування.

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

Спробуйте в Інтернеті!

Замініть символ Unicode (U + 2500) як окремий дефіс.


О Боже. У нижній частині рядка вашого продукту є додаткове місце! І куля йде за сітку, а не всередину! Спробуйте ввести 12, і ви побачите!
Zizouz212

О так, рядок Unicode. Я люблю відповідь. Кудо за те, що перший!
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`
`

Тест

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>


Ваш фрагмент не працює для мене. Я просто отримую помилку із записом "Помилка сценарію".
Zizouz212

@ Zizouz212 який браузер? Чи сумісний він з ES6? kangax.github.io/compat-table/es6
edc65

@ edc65 Ага. Моя провина тоді. Я використовую Safari: /
Zizouz212
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.