summaryrefslogtreecommitdiff
path: root/model/src/piece.rs
diff options
context:
space:
mode:
Diffstat (limited to 'model/src/piece.rs')
-rw-r--r--model/src/piece.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/model/src/piece.rs b/model/src/piece.rs
new file mode 100644
index 0000000..f36e0a4
--- /dev/null
+++ b/model/src/piece.rs
@@ -0,0 +1,21 @@
+use crate::PieceColor;
+
+#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)]
+pub struct Piece {
+ king: bool,
+ color: PieceColor,
+}
+
+impl Piece {
+ pub(crate) const fn new(king: bool, color: PieceColor) -> Self {
+ Self { king, color }
+ }
+
+ pub const fn is_king(self) -> bool {
+ self.king
+ }
+
+ pub const fn color(self) -> PieceColor {
+ self.color
+ }
+}