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:
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;
|
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;
|
||||||
|
|
Loading…
Add table
Reference in a new issue