check_buddy_core/piece/
piece_type.rs1use std::fmt::Debug;
2
3pub const NONE: u32 = 0;
4pub const KING: u32 = 1;
5pub const PAWN: u32 = 2;
6pub const KNIGHT: u32 = 3;
7pub const BISHOP: u32 = 4;
8pub const ROOK: u32 = 5;
9pub const QUEEN: u32 = 6;
10
11pub const WHITE: u32 = 8;
12pub const BLACK: u32 = 16;
13
14#[derive(Debug, PartialOrd, PartialEq, Eq, Clone, Copy)]
15pub enum PieceType {
16 Rook,
17 Pawn(bool),
18 King,
19 Queen,
20 Bishop,
21 Knight,
22}
23
24impl PieceType {
25 pub(crate) fn to_value(self) -> u32 {
26 match self {
27 PieceType::Rook => ROOK,
28 PieceType::Pawn(_) => PAWN,
29 PieceType::King => KING,
30 PieceType::Queen => QUEEN,
31 PieceType::Bishop => BISHOP,
32 PieceType::Knight => KNIGHT,
33 }
34 }
35}