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.

Modules

bit_twiddles

[bit_twiddles] is the a collection of useful functions oreinted around modifying singular bits of integer types.

board

This module contains [Board], the Object representing the current state of a chessboard. All modifications to the current state of the board is done through this object, as well as gathering information about the current state of the board.

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].

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
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.