dama
A general-purpose rust library for standard chess and chess960.
Capabilities
- Parsing and outputting FEN, XFEN and Shredder FEN notation:
use Position;
let position =
from_fen.unwrap;
assert_eq!;
- Generating legal moves:
use Position;
let position = new_initial;
assert_eq!;
assert_eq!;
assert_eq!;
- Playing moves and reading UCI and SAN move notation:
use ;
let position = new_initial;
position.play.unwrap;
position.play.unwrap;
position.play.unwrap;
-
Parsing PGN games with error recovery.
-
Supports only standard and fischer-random chess (chess960), with no plans of supporting other variants.
-
Fast and compact representation of square sets with bitboards and magic attack tables.
-
Quick zobrist hashing.