[position] Add some documentation to MoveRecord
This commit is contained in:
parent
a4b713a558
commit
b8f45aaece
1 changed files with 14 additions and 0 deletions
|
|
@ -4,13 +4,27 @@ use chessfriend_board::{board::HalfMoveClock, Board, CastleRights};
|
||||||
use chessfriend_core::{Color, Piece, Square};
|
use chessfriend_core::{Color, Piece, Square};
|
||||||
use chessfriend_moves::Move;
|
use chessfriend_moves::Move;
|
||||||
|
|
||||||
|
/// A record of a move made on a board. This struct contains all the information
|
||||||
|
/// necessary to restore the board position to its state immediately before the
|
||||||
|
/// move was made.
|
||||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||||
pub(crate) struct MoveRecord {
|
pub(crate) struct MoveRecord {
|
||||||
|
/// The color of the player who made the move
|
||||||
pub color: Color,
|
pub color: Color,
|
||||||
|
|
||||||
|
/// The move played
|
||||||
pub ply: Move,
|
pub ply: Move,
|
||||||
|
|
||||||
|
/// The en passant square when the move was made
|
||||||
pub en_passant_target: Option<Square>,
|
pub en_passant_target: Option<Square>,
|
||||||
|
|
||||||
|
/// Castling rights for all players when the move was made
|
||||||
pub castling_rights: CastleRights,
|
pub castling_rights: CastleRights,
|
||||||
|
|
||||||
|
/// The half move clock when the move was made
|
||||||
pub half_move_clock: HalfMoveClock,
|
pub half_move_clock: HalfMoveClock,
|
||||||
|
|
||||||
|
/// The piece captured by the move, if any
|
||||||
pub captured_piece: Option<Piece>,
|
pub captured_piece: Option<Piece>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue