[−]Enum myopic_brain::Piece
Value type wrapping a single integer representing one of the 12 different pieces in a game of chess.
Variants
Implementations
impl Piece
pub fn all() -> impl Iterator<Item = Piece>
Create an iterator traversing over all pieces in order.
pub fn whites() -> impl Iterator<Item = Piece>
Create an iterator traversing over all white pieces in order.
pub fn blacks() -> impl Iterator<Item = Piece>
Create an iterator traversing over all black pieces in order.
pub fn king(side: Side) -> Piece
Returns the king which belongs to the given side.
pub fn queen(side: Side) -> Piece
Returns the queen which belongs to the given side.
pub fn rook(side: Side) -> Piece
Returns the rook belonging to the given side.
pub fn pawn(side: Side) -> Piece
Returns the pawn which belongs to the given side.
pub fn of(side: Side) -> impl Iterator<Item = Piece>
Returns a slice containing all pieces belonging to the given side.
pub fn side(self) -> Side
Returns the side that this piece belongs to.
pub fn is_pawn(self) -> bool
Checks whether this piece is either a white or black pawn.
pub fn is_knight(self) -> bool
Checks whether this piece is either a white or black knight.
pub fn control(
self,
loc: Square,
whites: BitBoard,
blacks: BitBoard
) -> BitBoard
self,
loc: Square,
whites: BitBoard,
blacks: BitBoard
) -> BitBoard
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
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
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
pub fn clone(&self) -> Piece
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for Piece
impl Debug for Piece
impl Display for Piece
impl Eq for Piece
impl FromStr for Piece
type Err = Error
The associated error which can be returned from parsing.
pub fn from_str(s: &str) -> Result<Piece, <Piece as FromStr>::Err>
impl Hash for Piece
pub fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
__H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for Piece
pub fn cmp(&self, other: &Piece) -> Ordering
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<Piece> for Piece
impl PartialOrd<Piece> for Piece
pub fn partial_cmp(&self, other: &Piece) -> Option<Ordering>
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl Reflectable for Piece
We reflect a piece to it's correspondent on the opposite side.
impl StructuralEq for Piece
impl StructuralPartialEq for Piece
Auto Trait Implementations
impl RefUnwindSafe for Piece
[src]
impl Send for Piece
[src]
impl Sync for Piece
[src]
impl Unpin for Piece
[src]
impl UnwindSafe for Piece
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,