aboutsummaryrefslogtreecommitdiff
path: root/src/board/color.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/board/color.rs')
-rw-r--r--src/board/color.rs24
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
+ }
+ }
+}