#[repr(u8)]pub enum PieceKind {
Pawn = 0,
Knight = 1,
Bishop = 2,
Rook = 3,
Queen = 4,
King = 5,
}
Expand description
Variants§
Implementations§
Source§impl PieceKind
impl PieceKind
Sourcepub const fn all() -> [PieceKind; 6]
pub const fn all() -> [PieceKind; 6]
An array of all 6 PieceKind
s.
In the order: Pawn
, Knight
, Bishop
, Rook
, Queen
, King
.
Sourcepub const fn all_except_king() -> [PieceKind; 5]
pub const fn all_except_king() -> [PieceKind; 5]
An array of 5 non-King PieceKind
s.
In the order: Pawn
, Knight
, Bishop
, Rook
, Queen
.
Sourcepub fn iter() -> impl Iterator<Item = PieceKind>
pub fn iter() -> impl Iterator<Item = PieceKind>
An iterator over all PieceKind
s, starting with Pawn.
Sourcepub const fn from_bits_unchecked(bits: u8) -> PieceKind
pub const fn from_bits_unchecked(bits: u8) -> PieceKind
Sourcepub fn from_uci(kind: char) -> Result<PieceKind, Error>
pub fn from_uci(kind: char) -> Result<PieceKind, Error>
Creates a new PieceKind
from a character, according to the Universal Chess Interface notation.
Will return a anyhow::Error
if kind
is not a valid character.
§Example
let queen = PieceKind::from_uci('Q');
assert!(queen.is_ok());
assert_eq!(queen.unwrap(), PieceKind::Queen);
Sourcepub const fn to_uci(&self) -> char
pub const fn to_uci(&self) -> char
Converts this PieceKind
to a character, according to the Universal Chess Interface notation.
Will always be a lowercase letter.
§Example
let queen = PieceKind::Queen;
assert_eq!(queen.to_uci(), 'q');
Sourcepub const fn char(&self) -> char
pub const fn char(&self) -> char
Alias for PieceKind::to_uci
.
Trait Implementations§
Source§impl Ord for PieceKind
impl Ord for PieceKind
Source§impl PartialOrd for PieceKind
impl PartialOrd for PieceKind
impl Copy for PieceKind
impl Eq for PieceKind
impl StructuralPartialEq for PieceKind
Auto Trait Implementations§
impl Freeze for PieceKind
impl RefUnwindSafe for PieceKind
impl Send for PieceKind
impl Sync for PieceKind
impl Unpin for PieceKind
impl UnwindSafe for PieceKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more