Expand description
§chessframe
chessframe is a chess library written in Rust. It provides a simple interface for working with chess positions and generating psudo-legal moves efficiently.
§Example
This generates all psudo-legal moves from the starting position and makes the move “e2e4” on the board.
use chessframe::{board::Board, bitboard::EMPTY, chess_move::ChessMove, piece::Piece, square::Square};
let mut board = Board::default();
assert_eq!(board.generate_moves_vec(!EMPTY).len(), 20);
let mv = ChessMove::new(Square::E2, Square::E4);
let _ = board.make_move(&mv);
assert_eq!(board.get_piece(Square::E4), Some(Piece::Pawn));