この課題では、ローグライクゲームのDungeon Crawl Stone Soupの遺体安置所ファイルを解析して、STDOUTに出力する必要があります。
これらの遺体安置所のファイルは何ですか?
死ぬと、そのキャラクターのデータが入ったテキストファイルが生成されます。キャラクターが持っていた装備、最後の数ターンに何が起こったのか、そして彼が殺したモンスターの数がわかります。
あなたはここで死体安置所ファイルの例を見つけることができます
チャレンジ
あなたの仕事は、これらのファイルの1つを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:
それとも、1行に1つずつ同じ順序で情報を出力するのに十分ですか?