From 1336c7022d0ffd82bca4d9442ea52ec5741fd370 Mon Sep 17 00:00:00 2001 From: eug-vs Date: Sun, 22 Jan 2023 03:03:36 +0300 Subject: feat: compute queen attacks --- src/attacks.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/attacks.rs') diff --git a/src/attacks.rs b/src/attacks.rs index 6cf2a66..4562f25 100644 --- a/src/attacks.rs +++ b/src/attacks.rs @@ -265,6 +265,10 @@ impl Attacks { self.kindergarten_attacks_file(occupancy, vertical, square) | self.kindergarten_attacks_base(occupancy, horizontal, square) } + + fn queen(&self, occupancy: Bitboard, square: u8) -> Bitboard { + self.rook(occupancy, square) | self.bishop(occupancy, square) + } } #[cfg(test)] @@ -393,4 +397,19 @@ mod tests { print(bb); } + + #[test] + fn test_queen_attacks() { + let attacks = Attacks::new(); + let square = Square::E4 as u8; + let occupancy = + 1 << Square::B7 as usize | + 1 << Square::B1 as usize | + 1 << Square::C2 as usize | + 1 << Square::E3 as usize | + 1 << Square::F3 as usize; + let bb = attacks.queen(occupancy, square); + print(occupancy); + print(bb); + } } -- cgit v1.2.3