1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 16:53:09 +00:00

Simplified discovered check connected_moves()

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2011-07-16 09:36:03 +01:00
parent 36bb57a47e
commit 4894231ff7

View file

@ -1549,6 +1549,7 @@ split_point_start: // At split points actual search starts from here
Square f1, t1, f2, t2; Square f1, t1, f2, t2;
Piece p1, p2; Piece p1, p2;
Square ksq;
assert(m1 && move_is_ok(m1)); assert(m1 && move_is_ok(m1));
assert(m2 && move_is_ok(m2)); assert(m2 && move_is_ok(m2));
@ -1577,16 +1578,13 @@ split_point_start: // At split points actual search starts from here
return true; return true;
// Case 5: Discovered check, checking piece is the piece moved in m1 // Case 5: Discovered check, checking piece is the piece moved in m1
ksq = pos.king_square(pos.side_to_move());
if ( piece_is_slider(p1) if ( piece_is_slider(p1)
&& bit_is_set(squares_between(t1, pos.king_square(pos.side_to_move())), f2) && bit_is_set(squares_between(t1, ksq), f2))
&& !bit_is_set(squares_between(t1, pos.king_square(pos.side_to_move())), t2))
{ {
// discovered_check_candidates() works also if the Position's side to Bitboard occ = pos.occupied_squares();
// move is the opposite of the checking piece. clear_bit(&occ, f2);
Color them = opposite_color(pos.side_to_move()); if (bit_is_set(pos.attacks_from(p1, t1, occ), ksq))
Bitboard dcCandidates = pos.discovered_check_candidates(them);
if (bit_is_set(dcCandidates, f2))
return true; return true;
} }
return false; return false;