Crate pleco [−] [src]
A blazingly fast Chess Engine and Chess AI.
This package is seperated into two parts. Firstly, the board representation & associated functions. and Secondly, the AI implementations.
Usage
This crate is on crates.io and can be
used by adding pleco
to the dependencies in your project's Cargo.toml
.
Reexports
pub use board::Board; |
pub use piece_move::BitMove; |
pub use templates::Player; |
pub use templates::Piece; |
pub use templates::BitBoard; |
pub use templates::SQ; |
Modules
bit_twiddles |
Collection of useful functions oriented around modifying singular bits of integer types. You will rarely need to interact with this module directly unless you need functions involving the manipulation of bits. |
board |
This module contains |
bot_prelude |
Easy importing of all available bots. |
bots |
Contains all of the currently completed and experimental bots. |
engine |
This module contains an engine for actually playing chess. |
eval |
Module for evaluating the strength of a current position. |
magic_helper |
This module contains useful pre-computed lookup tables involving [BitBoard]s. |
movegen |
Module for generating moves from a [Board]. Allow for generating Legal and Pseudo-Legal moves of various types. |
piece_move |
Module for the implementation and definition of a move to be played. |
templates |
Miscellaneos functions, traits, and constants to be used by other modules. |
timer |
Timer for keeping track of the time for both sides of the a chess game. |
tools |
Miscellaneous tools for debugging and generating output. |
tt |
Module for the TranspositionTable, a type of hashmap where Zobrist Keys map to information about a position. |
uci |
Module for defining and implenting the UCI (Universal Chess Interface) protocol. |