aboutsummaryrefslogtreecommitdiff
path: root/src/square.rs
diff options
context:
space:
mode:
authoreug-vs <eugene@eug-vs.xyz>2023-01-23 05:02:30 +0300
committereug-vs <eugene@eug-vs.xyz>2023-01-23 05:10:48 +0300
commit9a41a379a8a1f33b6a9d28f1d5ff3c1d0826e1f5 (patch)
tree58a7ec5f6bdbc701436c011e82a5b6817483bb1c /src/square.rs
parentc61c22208de60465db7f9cf58cdfa5d204826daf (diff)
downloadchessnost-9a41a379a8a1f33b6a9d28f1d5ff3c1d0826e1f5.tar.gz
refactor: use Square as type everywhere
Diffstat (limited to 'src/square.rs')
-rw-r--r--src/square.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/square.rs b/src/square.rs
new file mode 100644
index 0000000..ed2877c
--- /dev/null
+++ b/src/square.rs
@@ -0,0 +1,24 @@
+use crate::bitboard::Bitboard;
+
+/// Aliases to board square indexes
+#[allow(dead_code)]
+#[derive(Debug, Clone, Copy, PartialEq, Eq, num_enum::FromPrimitive)]
+#[repr(u8)]
+pub enum Square {
+ #[default]
+ A1, B1, C1, D1, E1, F1, G1, H1,
+ A2, B2, C2, D2, E2, F2, G2, H2,
+ A3, B3, C3, D3, E3, F3, G3, H3,
+ A4, B4, C4, D4, E4, F4, G4, H4,
+ A5, B5, C5, D5, E5, F5, G5, H5,
+ A6, B6, C6, D6, E6, F6, G6, H6,
+ A7, B7, C7, D7, E7, F7, G7, H7,
+ A8, B8, C8, D8, E8, F8, G8, H8,
+}
+impl Square {
+ pub fn to_bitboard(&self) -> Bitboard {
+ 1u64 << *self as u8
+ }
+}
+
+