[−][src]Module shakmaty::fen
Parse and write Forsyth-Edwards-Notation.
Examples
fen::fen()
and fen::epd()
can produce a
FEN for any Setup
.
use shakmaty::fen; use shakmaty::Chess; let pos = Chess::default(); assert_eq!(fen::epd(&pos), "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -");
Fen
and Board
also implement Display
:
use shakmaty::fen::Fen; let empty_fen = Fen::empty(); assert_eq!(empty_fen.to_string(), "8/8/8/8/8/8/8/8 w - - 0 1");
Parsing FENs:
use shakmaty::{CastlingMode, Position}; let input = "r1bqkbnr/ppp2Qpp/2np4/4p3/2B1P3/8/PPPP1PPP/RNB1K1NR b KQkq - 0 4"; let setup: Fen = input.parse()?; let position: Chess = setup.position(CastlingMode::Standard)?; assert!(position.is_checkmate());
Structs
Fen | A parsed FEN. |
FenOpts | FEN formatting options. |
Enums
ParseFenError | Errors that can occur when parsing a FEN. |
Functions
board_fen | Create a board FEN such as |
epd | Create an EPD such as
|
fen | Create a FEN such as
|