Вот Буб. Футболист мирового уровня


9

Это Буб. Буб - футболист. Тем не менее, он не очень хороший. Он до сих пор не может пнуть мяч в сетку! (Если вы не заметили, @это мяч.

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

Чтобы помочь развить свои навыки, он разработал систему, которая поможет оценить его производительность, когда он пинает мяч. Он назвал это «10-балльной системой».

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

Поэтому это ваш вызов.

Учитывая число х , количество очков, которое получает Буб, выведите расположение мяча на поле. Вот несколько полезных маркеров:

  • Bub точно в 50 местах от сети.
  • За каждую точку, которую получает Буб, мяч перемещается на 5 мест ближе к сетке. Поэтому, если Буб получает 3 очка, мяч находится на расстоянии 35 мест от сетки.
  • За каждые 3 очка, которые получает Буб, мяч начинает двигаться в воздухе! Он перемещается на одну позицию вверх.
  • Если количество очков, которое получит Буб, переместит мяч за сетку, вы можете поместить мяч в любую точку сетки.

Помните, вам нужно нарисовать Bub, мяч и сетку.

Чтобы начать, вот пример:

Количество баллов: 5

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

Стандартные правила применяются. Код с наименьшим количеством байтов побеждает! Удачного игры в гольф!


Можем ли мы считать этот символ одним байтом?
Утренняя монахиня

Нужно ли выводить конечные пробелы точно так, как указано, или мы можем напечатать лишние?
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

О, да, строка - это Юникод. Я люблю ответ. Слава за то, что был первым!
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.