Dalam catur, Forsyth-Edwards Notation , lebih umum disebut "FEN", adalah cara tekstual papan transkrip. Ini menggambarkan masing-masing dari delapan baris papan (disebut "peringkat" dalam catur) dari atas ke bawah dari perspektif White. Potongan ditulis sebagai K (raja), Q (ratu), R (benteng), B (uskup), N (ksatria), dan P (gadai). Potongan hitam menggunakan huruf-huruf ini dalam huruf kecil, dan potongan putih menggunakan huruf-huruf ini dalam huruf besar. Ruang kosong ditandai dengan angka dari 1 hingga 8 yang menunjukkan berapa banyak ruang kosong berturut-turut. Pangkat yang benar-benar kosong adalah 8, satu benteng hitam di kolom paling kanan (disebut "file" dalam catur) 7r, dan dua pion putih di setiap ujung baris akan menjadi PP4PP. Peringkat dipisahkan oleh a/. Biasanya ada informasi lain yang ditambahkan, menunjukkan sisi yang bergerak, Castling dan en passant hak, jumlah bergerak, dan jam halfmove, tapi kami akan mengabaikan mereka untuk tujuan tantangan ini.
Memasukkan
Sebuah string FEN, dari baris perintah atau STDIN, sesuka Anda. Anda dapat mengasumsikan bahwa string ini selalu valid.
Keluaran
Menulis ke STDOUT representasi seni sederhana ASCII dari papan seperti yang sebenarnya akan muncul:
- Potongan diwakili oleh karakter mereka di FEN
- Kotak kosong diwakili oleh spasi
- Potongan dan kotak dipisahkan oleh pipa
|dan ada pipa di setiap sisi papan
Jadi papan kosong, ditulis seperti 8/8/8/8/8/8/8/8dalam FEN, akan muncul sebagai
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
Posisi awal permainan catur ditulis sebagai rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR, dan akan muncul sebagai
|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|
Posisi akhir dari Anderssen-Kieseritzky 1851 , yang disebut "The Immortal Game" di komunitas catur, ditulis sebagai r1bk3r/p2pBpNp/n4n2/1p1NP2P/6P1/3P4/P1P1K3/q5b1, dan program Anda ketika diumpankan bahwa input akan menghasilkan:
|r| |b|k| | | |r|
|p| | |p|B|p|N|p|
|n| | | | |n| | |
| |p| |N|P| | |P|
| | | | | | |P| |
| | | |P| | | | |
|P| |P| |K| | | |
|q| | | | | |b| |