[][src]Enum shakmaty::Move

#[repr(align(4))]pub enum Move {
    Normal {
        role: Role,
        from: Square,
        capture: Option<Role>,
        to: Square,
        promotion: Option<Role>,
    },
    EnPassant {
        from: Square,
        to: Square,
    },
    Castle {
        king: Square,
        rook: Square,
    },
    Put {
        role: Role,
        to: Square,
    },
}

Information about a move.

Variants

Normal

Fields of Normal

role: Rolefrom: Squarecapture: Option<Role>to: Squarepromotion: Option<Role>
EnPassant

Fields of EnPassant

from: Squareto: Square
Castle

Fields of Castle

king: Squarerook: Square
Put

Fields of Put

role: Roleto: Square

Implementations

impl Move[src]

pub fn role(&self) -> Role[src]

Gets the role of the moved piece.

pub fn from(&self) -> Option<Square>[src]

Gets the origin square or None for drops.

pub fn to(&self) -> Square[src]

Gets the target square. For castling moves this is the corresponding rook square.

pub fn capture(&self) -> Option<Role>[src]

Gets the role of the captured piece or None.

pub fn is_capture(&self) -> bool[src]

Checks if the move is a capture.

pub fn is_en_passant(&self) -> bool[src]

Checks if the move is en passant.

pub fn is_zeroing(&self) -> bool[src]

Checks if the move zeros the half-move clock.

pub fn castling_side(&self) -> Option<CastlingSide>[src]

Gets the castling side.

pub fn is_castle(&self) -> bool[src]

Checks if the move is a castling move.

pub fn promotion(&self) -> Option<Role>[src]

Gets the promotion role.

pub fn is_promotion(&self) -> bool[src]

Checks if the move is a promotion.

impl Move[src]

pub fn to_uci(&self, mode: CastlingMode) -> Uci[src]

Trait Implementations

impl Clone for Move[src]

impl Debug for Move[src]

impl Display for Move[src]

impl Eq for Move[src]

impl PartialEq<Move> for Move[src]

impl StructuralEq for Move[src]

impl StructuralPartialEq for Move[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.