ruchess
a rust chess library
at a glance
or in your cargo.toml
[]
= "0.0.1"
usage
use Game;
use square;
// Play 1.e4 from the standard starting position.
let game = new;
let after_e4 = game.mve.unwrap;
assert!;
module map
- [
bitboard] — 64-bit board representation and bitwise operations. - [
square], [rank], [file] — coordinate primitives. - [
color], [role], [piece], [side] — piece and side identifiers. - [
board] — piece placement, attack detection, and queries. - [
attacks], [magic] — precomputed attack tables and magic bitboards. - [
mve], [uci] — move representation and UCI parsing. - [
castles], [unmoved_rooks] — castling rights and rook tracking. - [
halfmoveclock], [ply] — clocks for the fifty-move rule and side to move. - [
hash] — Zobrist hashing and repetition trails. - [
history] — per-position history (last move, castles, clock, hashes). - [
position] — a complete game state with legal-move generation. - [
outcome] — terminal results (win, draw, draw reason). - [
game] — high-level wrapper that tracks turns and outcomes.
dependencies
roadmap
- benchmarks
- will move to mutable api if benchmarks are very bad
- fen parsing
- real uci support