diff options
Diffstat (limited to 'src/board/color.rs')
-rw-r--r-- | src/board/color.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/board/color.rs b/src/board/color.rs new file mode 100644 index 0000000..80d5b4e --- /dev/null +++ b/src/board/color.rs @@ -0,0 +1,24 @@ +use super::piece::Piece; + +#[derive(Debug, Clone, Copy, PartialEq, num_enum::FromPrimitive)] +#[repr(u8)] +pub enum Color { + #[default] + White, + Black, +} +impl Color { + pub fn flip(&self) -> Self { + match self { + Self::White => Self::Black, + Self::Black => Self::White, + } + } + pub fn from_piece(piece: Piece) -> Self { + if (piece as u8) < 6 { + Self::White + } else { + Self::Black + } + } +} |