pub struct Position {
pub board: Vec<Vec<Option<Piece>>>,
pub to_move: PieceColor,
pub en_passant_on: Option<Coords>,
/* private fields */
}Fields§
§board: Vec<Vec<Option<Piece>>>§to_move: PieceColor§en_passant_on: Option<Coords>Implementations§
Source§impl Position
impl Position
pub fn initial() -> Position
pub fn empty_board() -> Position
pub fn from_fen(fen_record: &str) -> Position
pub fn to_fen(&self) -> String
pub fn opposite_color_to_move(&self) -> Position
pub fn color_to_move(&self, color: PieceColor) -> Position
pub fn after_move(&self, chess_move: &ChessMove) -> Position
pub fn is_checkmate(&self) -> bool
pub fn checkmated(&self) -> Option<PieceColor>
pub fn all_legal_moves(&self) -> Vec<ChessMove>
pub fn all_possible_moves(&self) -> Vec<ChessMove>
pub fn legal_moves_from_origin(&self, origin: &Coords) -> Vec<ChessMove>
pub fn is_move_legal(&self, chess_move: &ChessMove) -> bool
pub fn is_attacked_by(&self, by: &PieceColor, square: &Coords) -> bool
pub fn can_castle_queen_side(&self, color: &PieceColor) -> bool
pub fn can_castle_king_side(&self, color: &PieceColor) -> bool
pub fn raycast( &self, origin: &Coords, direction: &Direction, origin_color: &PieceColor, limit: Option<isize>, ) -> Vec<Coords>
pub fn piece_count(&self, color: PieceColor) -> usize
pub fn is_stalemate(&self) -> bool
Trait Implementations§
impl StructuralPartialEq for Position
Auto Trait Implementations§
impl Freeze for Position
impl RefUnwindSafe for Position
impl Send for Position
impl Sync for Position
impl Unpin for Position
impl UnwindSafe for Position
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more