diff options
author | eug-vs <eugene@eug-vs.xyz> | 2023-01-23 05:02:30 +0300 |
---|---|---|
committer | eug-vs <eugene@eug-vs.xyz> | 2023-01-23 05:10:48 +0300 |
commit | 9a41a379a8a1f33b6a9d28f1d5ff3c1d0826e1f5 (patch) | |
tree | 58a7ec5f6bdbc701436c011e82a5b6817483bb1c /src/square.rs | |
parent | c61c22208de60465db7f9cf58cdfa5d204826daf (diff) | |
download | chessnost-9a41a379a8a1f33b6a9d28f1d5ff3c1d0826e1f5.tar.gz |
refactor: use Square as type everywhere
Diffstat (limited to 'src/square.rs')
-rw-r--r-- | src/square.rs | 24 |
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 + } +} + + |