No xadrez, a notação de Forsyth-Edwards , mais comumente chamada "FEN", é uma maneira textual de transcrever quadros. Ele descreve cada uma das oito linhas do tabuleiro (chamadas de "fileiras" no xadrez) de cima para baixo da perspectiva de White. As peças são escritas como K (rei), Q (rainha), R (torre), B (bispo), N (cavaleiro) e P (peão). Peças pretas usam essas letras em minúsculas e peças brancas usam essas letras em maiúsculas. Os espaços vazios são indicados por um número de 1 a 8, indicando quantos espaços vazios consecutivos existem. Uma classificação completamente vazia seria 8
, uma única torre preta na coluna mais à direita (chamada "arquivos" no xadrez) seria 7r
e dois peões brancos em cada extremidade de uma linha seriam PP4PP
. As classificações são separadas por um/
. Normalmente, há outras informações adicionadas, indicando de que lado se deve mover, direitos de passagem e de passagem , número de movimentação e relógio meio movimento, mas os ignoraremos para os propósitos deste desafio.
Entrada
Uma string FEN, na linha de comando ou STDIN, como desejar. Você pode assumir que essa sequência é sempre válida.
Resultado
Escreva para STDOUT uma representação artística ASCII simples do quadro, como ele realmente apareceria:
- As peças são representadas pelo seu caráter na FEN
- Quadrados vazios são representados por espaços
- Peças e quadrados são separados por um cano
|
e existem canos em cada lado do tabuleiro
Portanto, um quadro vazio, escrito como 8/8/8/8/8/8/8/8
no FEN, apareceria como
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
A posição inicial de um jogo de xadrez é escrita como rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR
e deve aparecer como
|r|n|b|q|k|b|n|r|
|p|p|p|p|p|p|p|p|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
|P|P|P|P|P|P|P|P|
|R|N|B|Q|K|B|N|R|
A posição final de Anderssen-Kieseritzky 1851 , chamada "O Jogo Imortal" na comunidade de xadrez, é escrita como r1bk3r/p2pBpNp/n4n2/1p1NP2P/6P1/3P4/P1P1K3/q5b1
e seu programa, quando alimentado com essa entrada, produziria:
|r| |b|k| | | |r|
|p| | |p|B|p|N|p|
|n| | | | |n| | |
| |p| |N|P| | |P|
| | | | | | |P| |
| | | |P| | | | |
|P| |P| |K| | | |
|q| | | | | |b| |