Neste desafio, você precisa analisar os arquivos do necrotério do jogo roguelike Dungeon Crawl Stone Soup e enviá-lo para STDOUT.
O que são esses arquivos do necrotério?
Quando você morre, um arquivo de texto é gerado com os dados desse personagem. Você pode ver que equipamento o personagem tinha, o que aconteceu nos últimos turnos e quantos monstros ele matou.
Você pode encontrar um exemplo de arquivo do necrotério aqui
O desafio
Seu trabalho é criar um programa que pegue um desses arquivos do STDIN, analise-o e envie os dados para o STDOUT.
Para facilitar um pouco esse desafio, você só precisa analisar o primeiro bloco de texto. (atéThe game lasted <time> (<turns> turns).
Você precisa analisar e gerar as seguintes informações:
- O número da versão
- A pontuação.
- O nome do personagem, título, raça e classe.
- O nível do personagem.
- A causa da morte / vitória.
- A quantidade de voltas que a corrida durou.
Exemplo:
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).
Casos de teste
Caso de teste 1 - Vitória
Exemplo de saída - Vitória:
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
Caso de teste 2 - Morte
Exemplo de saída - Morte:
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
Regras
- Isso é código-golfe, então o código mais curto vence.
- Em caso de empate, a resposta mais antiga vence.
- Sem brechas padrão.
- A entrada do arquivo deve ser obtida no STDIN
- A saída deve ser enviada para STDOUT
- As etiquetas antes da saída (ex.
Turns:
) São opcionais.
Version:
ou é suficiente para gerar as informações na mesma ordem, uma por linha?