Crate game_chess_core

Source
Expand description

Implement mechanics of the game chess.

Structs§

Board
Game board
Cell
Represents a singular square of a chessboard.
CellsSet
A BitBoard is simply a 64 bit long integer where each bit maps to a specific square. Used for mapping occupancy, where ‘1’ represents a piece being at that index’s square, and a ‘0’ represents a lack of a piece.
Game
Interface for playing chess game.
HistoryEntry
Contains information about move made in the past. Field fen contains representation of the board as FEN string Field uci_move contains move in UCI format
Move
Represents a singular move.
MoveList
This is the list of possible moves for a current position. Think of it alike a faster version of Vec<BitMove>, as all the data is stored in the Stack rather than the Heap.
PieceLocations
Struct to allow fast lookups for any square. Given a square, allows for determining if there is a piece currently there, and if so, allows for determining it’s color and type of piece.

Enums§

GameStatus
Status of the game
MoveType
A Subset of MoveFlag, used to determine the overall classification of a move.
Piece
All possible Types of Pieces on a chessboard, for both colors.
PieceType
All possible Types of Pieces on a chessboard.
Player
Enum to represent the Players White & Black.

Type Aliases§

Fen
Positions on the board in FEN format