Chess Lab
Description
Chess Lab is a comprehensive chess library written in rust that supports multiple game variants along with FEN and PGN notations. It offers a straightforward API for seamless interaction with the game, enabling developers to integrate chess functionalities into their applications effortlessly. Additionally, it provides the capability to save and retrieve multiple game lines, facilitating the management of complex game scenarios.
Examples
Standard Chess
use StandardChess;
let mut game = default;
game.move_piece.unwrap;
game.move_piece.unwrap;
assert!;
From FEN (Position-Based)
use VariantBuilder;
use StandardChess;
let fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
let game = from_fen.unwrap;
assert_eq!;
Chess960
use Chess960;
let game = default;
let fen = game.fen;
assert!;
Read PGN File
use VariantBuilder;
use StandardChess;
let game = load.unwrap;
assert!;
Installation
Add the following dependency to your Cargo.toml file:
[]
= "0.2.2"
Project documentation
https://deepwiki.com/Santicm23/chess-lab
Features
- Playable Chess game
- FEN/PGN support
- Multiple game lines
- Multiple variants
- Chess engine
Variants
- Standard Chess
- Position-Based Chess
- Chess960
- Three-Check
- Antichess
- Horde
- Duck Chess
- Racing Kings
- King of the Hill
- Crazyhouse
- Atomic