W szachach notacja Forsyth-Edwards , częściej nazywana „FEN”, jest tekstowym sposobem przepisywania tablic. Opisuje każdy z ośmiu rzędów planszy (zwanych „szachami” w szachach) od góry do dołu z perspektywy Białego. Utwory są zapisywane jako K (król), Q (królowa), R (wieża), B (biskup), N (rycerz) i P (pionek). Czarne litery używają tych liter małymi literami, a białe litery używają tych wielkich liter. Puste spacje są oznaczone liczbą od 1 do 8 wskazującą, ile jest kolejnych pustych spacji. Byłaby to zupełnie pusta ranga 8
, pojedyncza czarna wieża w prawej kolumnie (zwana „plikami” w szachach) 7r
, a dwa białe pionki na każdym końcu rzędu PP4PP
. Rangi są oddzielone znakiem/
. Zwykle dodaje się inne informacje, wskazujące, która strona ma się poruszyć, prawa rycerskie i en passant , numer ruchu i zegar o połowie ruchu, ale zignorujemy je na potrzeby tego wyzwania.
Wejście
Ciąg FEN, z wiersza poleceń lub STDIN, jak chcesz. Możesz założyć, że ten ciąg jest zawsze poprawny.
Wynik
Napisz do STDOUT prostą graficzną reprezentację tablicy ASCII, tak jak by się to faktycznie wydawało:
- Kawałki są reprezentowane przez ich postać w FEN
- Puste kwadraty są reprezentowane przez spacje
- Kawałki i kwadraty są oddzielone rurą,
|
a po każdej stronie planszy znajdują się rury
Tak więc pusta tablica, napisana jak 8/8/8/8/8/8/8/8
w FEN, wyglądałaby jak
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
Pozycja początkowa gry w szachy jest zapisana jako rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR
i wyglądałaby jak
|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|
Końcowa pozycja Anderssen-Kieseritzky 1851 , zwana „Nieśmiertelną grą” w społeczności szachowej, jest zapisana jako r1bk3r/p2pBpNp/n4n2/1p1NP2P/6P1/3P4/P1P1K3/q5b1
, a twój program po podaniu tego wejścia wyprowadziłby:
|r| |b|k| | | |r|
|p| | |p|B|p|N|p|
|n| | | | |n| | |
| |p| |N|P| | |P|
| | | | | | |P| |
| | | |P| | | | |
|P| |P| |K| | | |
|q| | | | | |b| |