ในการท้าทายนี้คุณจะต้องแยกวิเคราะห์ไฟล์จากเกมโร๊คไลค์Dungeon คลานหินซุปแล้วส่งไปที่ STDOUT
ไฟล์โรงเก็บศพเหล่านี้คืออะไร?
เมื่อคุณตายไฟล์ข้อความจะถูกสร้างขึ้นพร้อมข้อมูลของตัวละครนั้น คุณสามารถเห็นอุปกรณ์ที่มีตัวละครเกิดขึ้นในช่วงไม่กี่รอบที่ผ่านมาและจำนวนสัตว์ประหลาดที่เขาฆ่า
คุณสามารถหาไฟล์ตัวอย่างโรงเก็บศพได้ที่นี่
ความท้าทาย
งานของคุณคือการสร้างโปรแกรมที่ใช้ไฟล์ใดไฟล์หนึ่งจาก STDIN แยกวิเคราะห์และส่งออกข้อมูลไปยัง STDOUT
เพื่อให้การท้าทายนี้ง่ายขึ้นคุณต้องแยกวิเคราะห์ข้อความแรก (จนถึงThe game lasted <time> (<turns> turns).
คุณต้องแยกวิเคราะห์และส่งออกข้อมูลต่อไปนี้:
- หมายเลขรุ่น
- คะแนน.
- ชื่อตัวละครชื่อการแข่งขันและคลาส
- ระดับตัวละคร
- สาเหตุของการเสียชีวิต / ชัยชนะ
- จำนวนรอบการหมุนของการวิ่งกินเวลา
ตัวอย่าง:
Dungeon Crawl Stone Soup version <version number> character file.
<score> <name> the <title> (level <level>, 224/224 HPs)
Began as a <race> <class> on Mar 16, 2015.
Was the Champion of the Shining One.
<cause of death/victory>
The game lasted 16:11:01 (<turns> turns).
กรณีทดสอบ
กรณีทดสอบ 1 - ชัยชนะ
ตัวอย่างผลลัพธ์ - ชัยชนะ:
Version: 0.16.0-8-gd9ae3a8 (webtiles)
Score: 16059087
Name: Ryuzilla the Conqueror
Character: Gargoyle Berserker
Level: 27
Cause of Death/Victory: Escaped with the Orb and 15 runes on Mar 17 2015!
Turns: 97605
กรณีทดสอบ 2 - ความตาย
ตัวอย่างผลลัพธ์ - ความตาย:
Version: 0.16-a0-3667-g690a316 (webtiles)
Score: 462
Name: 8Escape the Ruffian
Character: Bearkin Transmuter
Level: 6
Cause of Death/Victory: Slain by an orc wielding a +0 trident (3 damage) on level 4 of the Dungeon.
Turns: 3698
กฎระเบียบ
- นี่คือ รหัสกอล์ฟ ดังนั้นรหัสที่สั้นที่สุดชนะ
- ในกรณีที่เสมอกันคำตอบที่เก่าที่สุดชนะ
- ไม่มีช่องโหว่มาตรฐาน
- ต้องป้อนไฟล์จาก STDIN
- ต้องส่งเอาต์พุตไปที่ STDOUT
- เลเบลก่อนหน้าเอาต์พุต (เช่น
Turns:
) เป็นทางเลือก
Version:
หรือเพียงพอที่จะเอาท์พุทชิ้นส่วนของข้อมูลในลำดับเดียวกันหนึ่งต่อบรรทัดหรือไม่