7 releases (breaking)
| 0.7.0 | May 16, 2021 |
|---|---|
| 0.6.0 | Apr 10, 2021 |
| 0.5.0 | Feb 26, 2021 |
| 0.4.0 | Dec 28, 2020 |
| 0.1.0 | Oct 10, 2020 |
#3 in #parser-and-writer
28 downloads per month
Used in pgn4
43KB
997 lines
Fen4 provides a mapping from a simple representation of a 4 player chess board and the fen4 file format used by Chess.com.
Quick Start
The Board struct is the important type in this crate. All other types are present to support all the features of Board. The most common ways to get a Board would be via FromStr or Default.
let empty_fen = "R-0,0,0,0-0,0,0,0-0,0,0,0-0,0,0,0-0-14/14/14/14/14/14/14/14/14/14/14/14/14/14";
let board : Result<fen4::Board,fen4::BoardParseError> = empty_fen.parse();
println!("{}",board?);
fen4
A Rust library to parse and write fen4 file formats.
This provides a mapping from a simple representation of a 4 player chess board and the fen4 file format used by Chess.com. Any non-trivial computation is likely to have a separate data format, but this generates useful error messages and correctly handles almost every variation of 4 player chess (including tons of non-standard pieces).
Usage
Cargo.toml
[dependencies]
fen4 = "0.7"
fn main(){
let empty_fen = "R-0,0,0,0-0,0,0,0-0,0,0,0-0,0,0,0-0-14/14/14/14/14/14/14/14/14/14/14/14/14/14";
let board : Result<fen4::Board,fen4::BoardParseError> = empty_fen.parse();
println!("{}",board.unwrap());
}
Rust version requirements
fen4 requires rustc version 1.45 or greater. This is for str.strip_prefix;
working arount this requirement would move support needed back to around 1.32.
Dependencies
~205–640KB
~15K SLoC