こちらがバブです。世界クラスではないサッカー選手


9

これはバブです。バブはサッカー選手です。しかし、彼はあまり上手ではありません。彼はまだネットにボールを蹴ることができません!(気づいていないの@はボールです。

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

彼のスキルを伸ばすために、彼はボールを蹴るときのパフォーマンスを評価するのに役立つシステムを開発しました。彼はそれを「10ポイントシステム」と呼んでいます。

しかし、彼はxポイントを達成するために何をする必要があるのか​​知りません。あなたは彼がボールがどこにあるかを視覚化するのを手伝う必要があります、それで彼は彼が獲得し​​たいポイントの数の期待を設定することができます。彼が達成できるラウンドごとに10ポイントがあります。

したがって、これはあなたの挑戦です。

数値xが与えられると、Bubが取得するポイントの数は、フィールド上のボールの位置を出力します。ここにいくつかの有用なマーカーがあります:

  • バブはネットからちょうど50スペース離れています。
  • バブが獲得する各ポイントで、ボールはネットに5スペース近づきます。したがって、バブが3ポイント獲得した場合、ボールはネットから35スペース離れています。
  • バブが獲得する3ポイントごとに、ボールは空中で動き始めます!1スペース上に移動します。
  • バブが獲得したポイント数がボールをネットの後ろに移動する場合、ネット内のどこにでもボールを置くことができます。

覚えておいてください、バブ、ボール、ネットを描く必要があります。

はじめに、ここに例を示します。

ポイント数:5

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

標準ルールが適用されます。バイト数が最も少ないコードが優先されます!幸せなゴルフ!


その文字を1バイトとして数えることはできますか?
Leaky Nun

指定されたとおりに末尾のスペースを出力する必要がありますか、それとも余分に印刷できますか?
PurkkaKoodari 2016年

@ edc65 I「は、各3ポイントのためのボールの位置を1つ上に移動」としてそれを取る
ルイス・Mendo

@ Pietu1998与えられた通り。
Zizouz212 2016年

2
もしそうならThere are 10 points per round that he can achieve、なぜn> 10を気にする必要があるのでしょうか?
edc65 2016年

回答:


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 2016年

そうそう、行はUnicodeです。私は答えが大好きです。最初に賞賛!
Zizouz212 2016年

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 2016年

@ Zizouz212どのブラウザ?ES6互換ですか?kangax.github.io/compat-table/es6
edc65

@ edc65ああ。私のせいです。私はSafariを使用します:/
Zizouz212
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.