mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33:09 +00:00
Simplified discovered check connected_moves()
No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
36bb57a47e
commit
4894231ff7
1 changed files with 6 additions and 8 deletions
|
@ -1549,6 +1549,7 @@ split_point_start: // At split points actual search starts from here
|
|||
|
||||
Square f1, t1, f2, t2;
|
||||
Piece p1, p2;
|
||||
Square ksq;
|
||||
|
||||
assert(m1 && move_is_ok(m1));
|
||||
assert(m2 && move_is_ok(m2));
|
||||
|
@ -1577,16 +1578,13 @@ split_point_start: // At split points actual search starts from here
|
|||
return true;
|
||||
|
||||
// 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)
|
||||
&& bit_is_set(squares_between(t1, pos.king_square(pos.side_to_move())), f2)
|
||||
&& !bit_is_set(squares_between(t1, pos.king_square(pos.side_to_move())), t2))
|
||||
&& bit_is_set(squares_between(t1, ksq), f2))
|
||||
{
|
||||
// discovered_check_candidates() works also if the Position's side to
|
||||
// move is the opposite of the checking piece.
|
||||
Color them = opposite_color(pos.side_to_move());
|
||||
Bitboard dcCandidates = pos.discovered_check_candidates(them);
|
||||
|
||||
if (bit_is_set(dcCandidates, f2))
|
||||
Bitboard occ = pos.occupied_squares();
|
||||
clear_bit(&occ, f2);
|
||||
if (bit_is_set(pos.attacks_from(p1, t1, occ), ksq))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
Loading…
Add table
Reference in a new issue