Trait shakmaty::Setup [−][src]
A not necessarily legal position.
Required methods
fn board(&self) -> &Board
[src]
Piece positions on the board.
fn pockets(&self) -> Option<&Material>
[src]
Pockets in chess variants like Crazyhouse.
fn turn(&self) -> Color
[src]
Side to move.
fn castling_rights(&self) -> Bitboard
[src]
Castling rights in terms of corresponding rook positions.
use shakmaty::{Bitboard, Chess, Setup}; let pos = Chess::default(); let rooks = pos.castling_rights(); // 1 . . . . . . 1 // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // 1 . . . . . . 1 assert_eq!(rooks, Bitboard::CORNERS);
fn ep_square(&self) -> Option<Square>
[src]
En passant target square on the third or sixth rank.
fn remaining_checks(&self) -> Option<&ByColor<RemainingChecks>>
[src]
Remaining checks in chess variants like Three-Check.
fn halfmoves(&self) -> u32
[src]
Number of half-moves since the last capture or pawn move.
Examples
use shakmaty::{Chess, Setup}; let pos = Chess::default(); assert_eq!(pos.halfmoves(), 0);
fn fullmoves(&self) -> NonZeroU32
[src]
Current move number.
Starts at 1 and is increased after every black move.
Examples
use shakmaty::{Chess, Setup}; let pos = Chess::default(); assert_eq!(pos.fullmoves().get(), 1);
Provided methods
fn us(&self) -> Bitboard
[src]
Squares occupied by the side to move.
Examples
use shakmaty::{Bitboard, Chess, Rank, Setup}; let pos = Chess::default(); let mask = pos.us(); // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // 1 1 1 1 1 1 1 1 // 1 1 1 1 1 1 1 1 assert_eq!(mask, Bitboard::from(Rank::First) | Bitboard::from(Rank::Second));
fn our(&self, role: Role) -> Bitboard
[src]
Squares occupied by a given piece type of the side to move.
Examples
use shakmaty::{Bitboard, Chess, Role, Setup, Square}; let pos = Chess::default(); let mask = pos.our(Role::Queen); // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . 1 . . . . assert_eq!(mask, Bitboard::from_square(Square::D1));
fn them(&self) -> Bitboard
[src]
Squares occupied by the waiting player.
Examples
use shakmaty::{Bitboard, Chess, Rank, Setup}; let pos = Chess::default(); let mask = pos.them(); // 1 1 1 1 1 1 1 1 // 1 1 1 1 1 1 1 1 // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . assert_eq!(mask, Bitboard::from(Rank::Seventh) | Bitboard::from(Rank::Eighth));
fn their(&self, role: Role) -> Bitboard
[src]
Squares occupied by a given piece type of the waiting player.
Examples
use shakmaty::{Bitboard, Chess, Role, Setup, Square}; let pos = Chess::default(); let mask = pos.their(Role::Queen); // . . . 1 . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . // . . . . . . . . assert_eq!(mask, Bitboard::from_square(Square::D8));
Implementors
impl Setup for VariantPosition
[src]
This is supported on crate feature
variant
only.