[−][src]Enum myopic_core::pieces::Piece
Value type wrapping a single integer representing one of the 12 different pieces in a game of chess.
Variants
Implementations
impl Piece
[src]
pub fn iter() -> impl Iterator<Item = Piece>
[src]
Create an iterator traversing over all pieces in order.
pub fn iter_w() -> impl Iterator<Item = Piece>
[src]
Create an iterator traversing over all white pieces in order.
pub fn iter_b() -> 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 on_side(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]
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
[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 Eq for Piece
[src]
impl Hash for Piece
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for Piece
[src]
fn cmp(&self, other: &Piece) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<Piece> for Piece
[src]
impl PartialOrd<Piece> for Piece
[src]
fn partial_cmp(&self, other: &Piece) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[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
impl RefUnwindSafe for Piece
impl Send for Piece
impl Sync for Piece
impl Unpin for Piece
impl UnwindSafe for Piece
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,
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.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
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.
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>,