Expand description
Implement mechanics of the game chess.
Structs§
- Board
- Game board
- Cell
- Represents a singular square of a chessboard.
- Cells
Set - 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.
- History
Entry - Contains information about move made in the past.
Field
fen
contains representation of the board as FEN string Fielduci_move
contains move in UCI format - Move
- Represents a singular move.
- Move
List - 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. - Piece
Locations - 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§
- Game
Status - Status of the game
- Move
Type - 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.
- Piece
Type - All possible Types of Pieces on a chessboard.
- Player
- Enum to represent the Players White & Black.