รูปภาพของฉันร่างความท้าทายนี้ด้วยทักษะการวาดขั้นสูงของฉัน
พื้นหลัง
สงคราม Stickman เกิดขึ้นนานมาแล้วเมื่อเผ่าพันธุ์ที่โดดเด่นของโลกไม่ได้ทำอะไรเลยนอกจากเกาะติด นักประวัติศาสตร์รู้สึกเสียใจที่ไม่มีช่างทาสีหรือกล้องถ่ายรูปมาก่อนเราสามารถใช้ภาพบางส่วนของสงครามในหนังสือประวัติศาสตร์ของวันนี้ นั่นคือสิ่งที่พลังการเข้ารหัสของคุณมีประโยชน์ Stickmen นั้นถูกดึงออกมาได้ง่ายมากและนักประวัติศาสตร์ก็สามารถค้นหาข้อมูลบางอย่างเกี่ยวกับจำนวนของ stickmen ที่ต่อสู้กับสงคราม ตอนนี้ก็ขึ้นอยู่กับคุณแล้วที่จะสร้างภาพของช่วงเวลาที่เหมาะสมก่อนที่สงครามจะเริ่มขึ้น!
นี่คือ stickmen ผู้กล้าหาญที่เกี่ยวข้องในสงคราม:
โอ | / | \ / | | / \ Swordsman โอเอ / | \ | | | / \ | พลหอก . .' * * * * 'O * '\ | / . | * * * * './ \ * นักเวทย์ O / | \ | / \ Villager O / | \ / \ ทารก
อินพุต
รับจาก stdin หรือเทียบเท่าเป็นตัวแทนของ stickman ทุกคนที่ปรากฏในแต่ละด้านของสนามรบ ตัวอย่างเช่นถ้าสอง swordmen ต่อสู้บนด้านขวาและสองหอกทางด้านซ้ายเข้าของคุณสามารถ{Sword: 2}, {Spear: 2}
, หรือ[2,0,0,0,0], [0,2,0,0,0]
"WW", "SS"
เอาท์พุต
การเป็นตัวแทนของ stickmen ที่กล้าหาญทุกคนในสนามรบตามกฎด้านล่าง มันสามารถแสดงใน stdout หรือบันทึกเป็นไฟล์ไม่ว่าจะเป็นหินของเรือ
กฎระเบียบ
- ทางด้านซ้ายจะเป็น stickmen ของ array / string / object ตัวแรกที่โปรแกรมของคุณได้รับ
- Stickmen เหล่านั้นจะต้องดูเหมือนที่แสดงก่อนหน้านี้ในคำถามนี้
Infants Villagers Mages Swordsmen Spearmen
คำสั่งของกองทัพด้านซ้ายต้อง- กองทัพฝั่งขวาจะทำตัวเหมือนกัน แต่กับตัวละครและคำสั่งสะท้อน
- stickman แต่ละคนจะถูกคั่นด้วย 1 ช่องว่าง
- แต่ละชั้นจะถูกคั่นด้วย 3 ช่องว่าง
- กองทัพจะถูกคั่นด้วย 8 ช่องว่าง
- ตั้งแต่ stickmen
-
ไม่ได้บินคุณต้องวาดพื้นดินโดยใช้ยัติภังค์ - พื้นดินจะต้องจบลงในคอลัมน์เดียวกับที่ stickman คนสุดท้ายของกองทัพที่ถูกต้องจะจบลง
ตัวอย่าง
สมมติว่าโปรแกรมของฉันคาดว่าสองอาร์เรย์ที่มีความยาว 5 Infants Villagers Mages Swordsmen Spearmen
และความคุ้มค่าในอาร์เรย์แต่ละตัวแทนในการสั่งซื้อ
อินพุต: [1,1,2,3,1] [0,0,1,1,1]
. . . .' * * * * .' * * * * . * ' O 'O *' O * O / O / O / OAAO \ O * O ' O / | \ '\ | / '\ | / | / | \ / | / | \ / | / | \ / / | \ | | / | \ \ / | \ | . \ | / ' / | \ | . | *. | * | | | | | | | | | | | | * | . / \ / \ './ \ * './ \ * / \ / \ / \ / \ | | / \ / \. * / \ ' -------------------------------------------------- -------------------------------------
ข้อพิจารณาสุดท้าย
โปรดทราบว่าช่องว่างมาตรฐานใช้และผู้วิเศษไม่สมดุลอย่างสมบูรณ์เพียงเพราะ
ผลลัพธ์ของคำตอบที่ถูกโหวตมากที่สุดคือ "ภาพหน้าปก" ของการท้าทายนี้ คำตอบที่สั้นที่สุดภายในสิ้นเดือน (08/31/2557) จะถูกเลือกให้เป็นผู้ชนะ
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ชนะ
¹ต้องการการอ้างอิง
IVMMWWWS SWM
จะอยู่ในขีด จำกัด ของ "สิ่งใดก็ตามที่ช่วยคุณ"