นี่คือ Bub นักฟุตบอลระดับโลก


9

นี่คือ Bub Bub เป็นนักฟุตบอล อย่างไรก็ตามเขาไม่ใช่คนดีมาก เขายังไม่สามารถเตะบอลเข้าตาข่ายได้! (ถ้าคุณไม่ได้สังเกตว่า@เป็นลูก

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

เพื่อช่วยพัฒนาทักษะของเขาเขาได้พัฒนาระบบเพื่อช่วยประเมินประสิทธิภาพของเขาเมื่อเขาเตะบอล เขาเรียกมันว่า "ระบบ 10 คะแนน"

อย่างไรก็ตามเขาไม่รู้ว่าเขาต้องทำอะไรเพื่อให้ได้xจำนวนคะแนน คุณต้องช่วยให้เขาเห็นภาพว่าลูกบอลอยู่ที่ใดเพื่อที่เขาจะได้ตั้งความคาดหวังว่าเขาจะได้คะแนนกี่แต้ม มี 10 คะแนนต่อรอบที่เขาสามารถทำได้

ดังนั้นนี่คือความท้าทายของคุณ

รับจำนวนx , จำนวนคะแนน Bub ได้รับ, เอาท์พุทตำแหน่งของลูกบอลบนสนาม นี่คือเครื่องหมายที่เป็นประโยชน์บางประการ:

  • Bub อยู่ห่างจากสุทธิ 50 ช่อง
  • สำหรับแต่ละจุดที่ Bub ได้รับลูกบอลเคลื่อนที่ 5 ช่องที่อยู่ใกล้กับตาข่ายมากขึ้น ดังนั้นหาก Bub ได้รับ 3 คะแนนลูกบอลอยู่ห่างจากเน็ต 35 ช่อง
  • ทุก ๆ 3 คะแนนที่ Bub ได้รับลูกบอลจะเริ่มเคลื่อนที่ในอากาศ! มันเลื่อนหนึ่งช่องว่างขึ้น
  • หากจำนวนคะแนนที่ Bub ได้รับจะย้ายลูกบอลไปหลังตาข่าย

จำไว้ว่าคุณต้องวาดบับบอลและตาข่าย

เพื่อให้คุณเริ่มต้นได้นี่คือตัวอย่าง:

จำนวนคะแนน: 5

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

ใช้กฎมาตรฐาน รหัสที่มีจำนวนไบต์ต่ำสุดชนะ! มีความสุขในการเล่นกอล์ฟ!


เราสามารถนับตัวอักษรนั้นเป็นหนึ่งไบต์ได้ไหม?
Leun Nun

เราต้องส่งออกช่องว่างต่อท้ายตรงตามที่กำหนดหรือเราสามารถพิมพ์พิเศษหรือไม่?
PurkkaKoodari

@ edc65 ฉันใช้มันเป็น "ย้ายลูกบอลหนึ่งตำแหน่งขึ้นสำหรับแต่ละ 3 คะแนน"
Luis Mendo

@ Pietu1998 ตรงตามที่กำหนด
Zizouz212

2
ถ้าThere are 10 points per round that he can achieveทำไมเราถึงสนใจ n> 10
edc65

คำตอบ:


3

Pyth, 106 91 ไบต์

การเข้ารหัสความยาว Run ตามด้วยการเข้ารหัสภายใน

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 Ah ความผิดของฉันตอนนั้น ฉันใช้ Safari: /
Zizouz212
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.