This hole is experimental, no solutions will be saved. Please leave feedback on the GitHub issue.

Forsyth–Edwards Notation

Details

Forsyth–Edwards Notation (FEN) is a standard notation for describing a particular board position of a chess game.
The standard starting chess position is encoded as

rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1

The first space separated groups is the main part which encodes the physical positions of the pieces on the board.
Each rank (row) is described, starting with rank 8 and ending with rank 1; within each rank, the contents of each square are described from file (column) "a" through file "h". Each piece is identified by a single letter taken from the standard English names (Pawn, kNight, Bishop, Rook, Queen, King). White pieces are designated using upper-case letters ("PNBRQK") while black pieces use lowercase ("pnbrqk"). Empty squares are noted using digits 1 through 8 (the number of empty squares), and "/" separates ranks.

Given a FEN, output the board using the chess unicode characters and “ ” (U+3000 Ideographic Space) for empty squares. The output corresponding to the FEN of the starting position given above should be

♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
        
        
        
        
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖
0 bytes, 0 chars
Restore solution
All
Compiled from AT&T syntax to x86-64 Linux. Use syscalls to write output.
Top-level programs are supported, args holds ARGV. Implicit using directives for console applications are enabled.
Arguments are available via STDIN, each argument is NULL terminated. Taking input after EOF leaves the cell unchanged, the tape is circular with 65536 cells, and cells are 8-bit with wrapping.
Code is compiled with clang with -std=c++2b.
Code is compiled with LDC2.
Arguments are available via STDIN, each argument is NULL terminated. x is a no-op.
The stack is initialized with an array containing arguments, rather than the contents of STDIN.
Arguments are available via STDIN, each argument is NULL terminated.
arguments holds ARGV, print() to output with a newline, write() to output without a newline.
Code is run under -E, all current features are enabled.
$args to access the arguments.
prolog_flag(argv, Args) to access the arguments.
Arguments are available via STDIN, each argument is seperated with a null byte. The code is run with -E and -z. Output replaces null bytes with newlines.
SELECT arg FROM argv to access the arguments, only the first column of the first result set will be printed, NULL values will be skipped, and the dialect is SQLite.
Arguments are available via args list variable. To terminate script execution, write and quit the current buffer.
ctrl + enter or

Delete Solution

Are you sure you want to delete your solution(s) for Forsyth–Edwards Notation?

If you have seperate bytes and chars solutions then both will be deleted.

This is irreversible, please backup any code you care about.

Type I understand and press confirm to continue.