From 5b3e84dab0d14efe7ed7f3f98eaf75c48dedb2e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Varga=20D=C3=A1vid=20Lajos?= Date: Thu, 20 Nov 2025 12:35:46 +0100 Subject: [PATCH] implemented move generation method or king capture moves --- engine/src/bitboard/movegen/kings.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/engine/src/bitboard/movegen/kings.rs b/engine/src/bitboard/movegen/kings.rs index 101ca04..883d082 100644 --- a/engine/src/bitboard/movegen/kings.rs +++ b/engine/src/bitboard/movegen/kings.rs @@ -32,4 +32,23 @@ impl Board { } } } + fn add_king_captures(&self, buffer: &mut MoveBuffer, move_mask: u64) { + let offset = 6 * self.side_to_move as usize; + let mut kings: u64 = self.bitboards[5 + offset]; + let opponents = self.occupancy[1 - self.side_to_move as usize]; + while kings != 0 { + let next_sq: u32 = pop_lsb(&mut kings); + let mut attacks: u64 = self.get_pseudo_king_moves(next_sq) & opponents & move_mask; + attacks = self.get_pin_masked_moves(attacks, next_sq); + + while attacks != 0 { + let to_sq = pop_lsb(&mut attacks); + buffer.add(BitMove::capture( + next_sq as u8, + to_sq as u8, + None + )); + } + } + } } \ No newline at end of file