แก้ไข
ปรากฏว่ามีความสับสนบางอย่างหลังจากที่พิมพ์ผิดของฉันในโพสต์ต้นฉบับซึ่งใช้ตัวพิมพ์เล็ก o เพื่อกำหนดระนาบและจากนั้นพิมพ์ใหญ่ในภายหลัง น่าเสียดายที่ข้อผิดพลาดนี้ไม่ได้รับใน Sandbox เนื่องจากสมาชิกหลายคนได้เขียนคำตอบด้วยทั้งคู่และเนื่องจากการพิมพ์ผิดเป็นความผิดของฉันฉันจะอนุญาตทั้งตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก o ในคำจำกัดความของเครื่องบิน ฉันได้เพิ่มกฎใหม่สำหรับสิ่งนี้
พื้นหลัง
ฉันชอบภาพเคลื่อนไหว ASCIIเพราะฉันมักจะเรียกพวกเขาดังนั้นนี่เป็นอีกภาพหนึ่ง ฉันไม่คิดว่ามันจะยากเกินไปที่จะทำให้บรรลุผลได้
ถึงสมาชิกชุมชนทั้งหมด
หากคุณปรับปรุงคำตอบของคุณโปรดแก้ไขจำนวนไบต์เป็น
ไบต์เก่านับจำนวนไบต์ใหม่
เพื่อให้เราสามารถเห็นความคืบหน้าของคุณ ขอบคุณ!
ท้าทาย
นี่คือเครื่องบิน ascii
--O--
นี่คือทางวิ่ง ASCII
____| |____
เครื่องบินเริ่มต้นที่ 5 บรรทัดใหม่เหนือรันเวย์ เพื่อป้องกันการปะทะกันระหว่างระบบเมตริกและระบบอิมพีเรียลและทำให้นี่เป็นความท้าทายระดับสากลอย่างแท้จริงฉันจะไม่พูดถึงเมตรหรือฟุต ตัวอย่าง:
--O--
____| |____
เครื่องบินจะต้องลงจอดตรงกลางรันเวย์ดังที่แสดงด้านล่าง:
____|--O--|____
อินพุต
ตำแหน่งแนวนอนเริ่มต้นของเครื่องบินถูกกำหนดโดยอินพุตจำนวนเต็มซึ่งใช้เพื่ออ้างอิงปลายของปีกซ้ายนั่นคืออยู่ระหว่าง 0 ถึง 10
เอาท์พุต
แต่ละเที่ยวบินของเครื่องบินจะต้องแสดงให้เห็น ตัวอย่างด้านล่าง (อินพุต = 10):
--O--
____| |____
--O--
____| |____
--O--
____| |____
--O--
____| |____
--O--
____| |____
____|--O--|____
เพื่อให้สิ่งต่าง ๆ ง่ายขึ้นเรากำลังเพิกเฉยต่อกฎของมุมมอง รันเวย์มีขนาดใกล้เคียงกับที่คุณเข้าใกล้
กฎระเบียบ
- อัปเดตจุดกึ่งกลางของระนาบอาจเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก o แต่สิ่งใดก็ตามที่เลือกจะต้องสอดคล้องกันตลอดทั้งรหัส หากภาษาของคุณไม่รองรับอักขระข้างต้นอย่าลังเลที่จะใช้อักขระ ASCII สำรองเท่านั้น
- ระนาบลงมา 1 บรรทัดต่อเฟรม
- ระนาบสามารถเลื่อน 1 ช่องไปทางซ้ายหรือขวาในแต่ละครั้งที่ลงมาหนึ่งบรรทัด มันไม่จำเป็นต้องเคลื่อนที่ไปตามสายเลือดแต่ละเส้น ตราบใดที่มันเสร็จสิ้นบนรันเวย์มันขึ้นอยู่กับคุณเมื่อมันเคลื่อนไปทางขวาหรือซ้าย คุณเป็นนักบิน!
- ไม่ต้องจัดการข้อผิดพลาด คุณอาจสันนิษฐานว่าข้อมูลที่ป้อนจะเป็นจำนวนเต็มที่ถูกต้องตั้งแต่ 0-10 รวม
- ผลลัพธ์จะต้องประกอบด้วยอักขระที่แสดงด้านบนเท่านั้น (หากภาษาของคุณไม่รองรับกฎแรกที่แก้ไขแล้ว) และต้องมีขนาดเท่ากันนั่นคือต้องเริ่มต้น 6 บรรทัดความสูง 15 ตัว ความสูงสามารถลดลงได้ตามความคืบหน้าดังในตัวอย่างด้านบน
- โปรแกรมหรือฟังก์ชั่นใช้งานได้ดี แต่จะต้องสร้างเอาต์พุตตามที่แสดงไว้ด้านบน
- ฉันเป็นผู้นำ / ต่อท้ายช่องว่าง / ขึ้นบรรทัดใหม่
- โปรดล้างหน้าจอระหว่างเฟรมเอาต์พุตหากคุณต้องการ นี่ไม่ใช่ข้อกำหนด
- ช่องโหว่มาตรฐานไม่ได้รับอนุญาตตามปกติ (แม้ว่าฉันจะไม่คิดว่าจะมีหลายสิ่งที่จะช่วยแก้ไขปัญหานี้ได้)
- นี่คือรหัสกอล์ฟเพื่อให้คำตอบที่สั้นที่สุดเห็นได้ชัดว่าเป็นผู้ชนะและอาจจะได้รับคะแนนมากที่สุด แต่อาจไม่ได้รับการยอมรับว่าเป็นคำตอบที่ดีที่สุดถ้ามีคำตอบที่น่าสนใจจริง ๆ อย่าลังเลที่จะโพสต์สิ่งใดก็ตามที่เป็นไปตามกฎตราบเท่าที่มันใช้งานได้
การใช้งานอ้างอิงแบบไม่อัปโหลดใน Python 2 มีให้ที่ทดลองใช้ออนไลน์! เพื่อให้คุณสามารถดูว่ามันมองหาค่าอินพุตที่แตกต่างกันอย่างไร