aboutsummaryrefslogtreecommitdiff
path: root/src/square.rs
diff options
context:
space:
mode:
authoreug-vs <eugene@eug-vs.xyz>2023-01-23 12:48:03 +0300
committereug-vs <eugene@eug-vs.xyz>2023-01-23 12:48:03 +0300
commite65b0854174c9c90d5eff850428fd07c6912960c (patch)
treed281c0da8368da6b922eac8f12f65f4f4ae4281b /src/square.rs
parente6102cda73e854b3050cceb86b9f66bac0b81345 (diff)
downloadchessnost-e65b0854174c9c90d5eff850428fd07c6912960c.tar.gz
feat: basic En Passant implementation
Diffstat (limited to 'src/square.rs')
-rw-r--r--src/square.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/square.rs b/src/square.rs
index ed2877c..1adca83 100644
--- a/src/square.rs
+++ b/src/square.rs
@@ -19,6 +19,22 @@ impl Square {
pub fn to_bitboard(&self) -> Bitboard {
1u64 << *self as u8
}
+ /// 0-based rank
+ pub fn rank(&self) -> u8 {
+ *self as u8 / 8
+ }
+ /// 0-based file
+ pub fn file(&self) -> u8 {
+ *self as u8 % 8
+ }
+
+ pub fn nort_one(&self) -> Self {
+ Self::from(*self as u8 + 8)
+ }
+
+ pub fn sout_one(&self) -> Self {
+ Self::from(*self as u8 - 8)
+ }
}