[][src]Enum myopic_core::Piece

pub enum Piece {
    WP,
    WN,
    WB,
    WR,
    WQ,
    WK,
    BP,
    BN,
    BB,
    BR,
    BQ,
    BK,
}

Value type wrapping a single integer representing one of the 12 different pieces in a game of chess.

Variants

WP
WN
WB
WR
WQ
WK
BP
BN
BB
BR
BQ
BK

Implementations

impl Piece[src]

pub fn all() -> impl Iterator<Item = Piece>[src]

Create an iterator traversing over all pieces in order.

pub fn whites() -> impl Iterator<Item = Piece>[src]

Create an iterator traversing over all white pieces in order.

pub fn blacks() -> impl Iterator<Item = Piece>[src]

Create an iterator traversing over all black pieces in order.

pub fn king(side: Side) -> Piece[src]

Returns the king which belongs to the given side.

pub fn queen(side: Side) -> Piece[src]

Returns the queen which belongs to the given side.

pub fn rook(side: Side) -> Piece[src]

Returns the rook belonging to the given side.

pub fn pawn(side: Side) -> Piece[src]

Returns the pawn which belongs to the given side.

pub fn of(side: Side) -> impl Iterator<Item = Piece>[src]

Returns a slice containing all pieces belonging to the given side.

pub fn side(self) -> Side[src]

Returns the side that this piece belongs to.

pub fn is_pawn(self) -> bool[src]

Checks whether this piece is either a white or black pawn.

pub fn is_knight(self) -> bool[src]

Checks whether this piece is either a white or black knight.

pub fn control(
    self,
    loc: Square,
    whites: BitBoard,
    blacks: BitBoard
) -> BitBoard
[src]

Computes the control set for this piece given it's location and the locations of all the white and black pieces on the board.

pub fn empty_control(self, loc: Square) -> BitBoard[src]

Computes the control set for this piece given it's location on an empty board.

pub fn moves(self, loc: Square, whites: BitBoard, blacks: BitBoard) -> BitBoard[src]

Computes the set of legal moves for this piece given it's location and the locations of all the white and black pieces on the board. Note that this method does not take into account special restrictions for or due to the king, e.g. can't move in such a way to put the king into check.

Trait Implementations

impl Clone for Piece[src]

impl Copy for Piece[src]

impl Debug for Piece[src]

impl Display for Piece[src]

impl Eq for Piece[src]

impl FromStr for Piece[src]

type Err = Error

The associated error which can be returned from parsing.

impl Hash for Piece[src]

impl Ord for Piece[src]

impl PartialEq<Piece> for Piece[src]

impl PartialOrd<Piece> for Piece[src]

impl Reflectable for Piece[src]

We reflect a piece to it's correspondent on the opposite side.

impl StructuralEq for Piece[src]

impl StructuralPartialEq for Piece[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.