Struct shakmaty::variant::Chess[][src]

pub struct Chess { /* fields omitted */ }
This is supported on crate feature variant only.
Expand description

A standard Chess position.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Performs the conversion.

Set up a position. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Plays a move. It is the callers responsibility to ensure the move is legal. Read more

Castling paths and unmoved rooks.

Collects all legal moves in an existing buffer.

Generates legal castling moves.

Generates en passant moves.

Generate promotion moves.

Generates a subset of legal moves: All piece moves and drops of type role to the square to, excluding castling moves. Read more

Tests if a side has insufficient winning material. Read more

Checks if the game is over due to a special variant end condition. Read more

Tests special variant winning, losing and drawing conditions.

Generates capture moves.

Tests if a move is irreversible. Read more

Attacks that a king on square would have to deal with.

Swap turns. This is sometimes called “playing a null move”. Read more

Tests a move for legality.

Bitboard of pieces giving check.

Tests if the king is in check.

Tests for checkmate.

Tests for stalemate.

Tests if the game is over due to checkmate, stalemate, insufficient material or variant end. Read more

The outcome of the game, or None if the game is not over.

Plays a move. Read more

Piece positions on the board.

Positions of tracked promoted pieces. Used only for Crazyhouse.

Pockets in chess variants like Crazyhouse.

Side to move.

Castling rights in terms of corresponding rook positions. Read more

En passant target square on the third or sixth rank. Read more

Remaining checks in chess variants like Three-Check.

Number of half-moves since the last capture or pawn move. Read more

Current move number. Read more

Squares occupied by the side to move. Read more

Squares occupied by a given piece type of the side to move. Read more

Squares occupied by the waiting player. Read more

Squares occupied by a given piece type of the waiting player. Read more

Computes the Zobrist hash of the position from scratch. Hash includes the position, except halfmove clock and fullmove number. Read more

Prepares an incremental update of the Zobrist hash before playing move m in self. Returns a new intermediate Zobrist hash, or None if incremental updating is not supported. Read more

Finalizes an incremental update of the Zobrist hash after playing move m in self. Returns the new Zobrist hash, or None if incremental updating is not supported. Read more

Equivalent to comparing Fen::from_setup() of both positions.

Example

Note that positions with different CastlingMode may be equivalent.

use shakmaty::{CastlingMode, Chess, fen::Fen};

let fen = "r1bqkbnr/ppp2Qpp/2np4/4p3/2B1P3/8/PPPP1PPP/RNB1K1NR b KQkq - 0 4";
let setup: Fen = fen.parse()?;
let position: Chess = setup.position(CastlingMode::Standard)?;
let position_960: Chess = setup.position(CastlingMode::Chess960)?;
assert_eq!(position, position_960);

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.