这是Bub。并非世界一流的足球运动员


9

这是巴布。Bub是一位足球运动员。但是,他不是一个好人。他仍然无法将球踢入网中!(如果您没有注意到,那@就是球。

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

为了帮助他提高技能,他开发了一个系统来评估他踢球时的表现。他称其为“ 10分制”。

但是,他不知道要达到x分数需要做什么。您需要帮助他可视化球的位置,以便他可以设定他想要获得多少分的期望。他每回合可以取得10分。

因此,这是您的挑战。

给定数字x,Bub得到的点数输出球在场上的位置。以下是一些有用的标记:

  • Bub距网路正好50个空格。
  • 对于Bub到达的每个点,球都会向网移动5个距离。因此,如果巴布得到3分,则球距网35球。
  • Bub每获得3分,球就开始向空中移动!它向上移动了一个空间。
  • 如果Bub获得的点数会将球移动到球网后面,则可以将球放在球网内的任何位置。

请记住,您需要绘制Bub,球和球网。

为了帮助您入门,请参考以下示例:

点数:5

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

适用标准规则。字节数最少的代码胜出!打高尔夫球快乐!


我们可以将该字符算作一个字节吗?
Leaky Nun

我们是否必须完全按照给定的方式输出尾随空格,还是可以额外打印?
PurkkaKoodari

@ edc65我将其视为“每3分将球上移一个位置”
Luis Mendo

@ Pietu1998恰如所给。
Zizouz212 '16

2
如果There are 10 points per round that he can achieve,为什么我们关心n> 10?
edc65 '16

Answers:


3

Pyth,106 91字节

行程编码,然后是内部编码。

十六进制转储:

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 '16

哦,是的,这行是Unicode。我喜欢这个答案。荣誉为第一!
Zizouz212 '16

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 '16

@ Zizouz212什么浏览器?它与ES6兼容吗?kangax.github.io/compat-table/es6
edc65

@ edc65啊。那是我的错 我使用的是Safari:/
Zizouz212 '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.