mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Fix easy re-capture case
We detect an easy move as a recapture with an high margin on the second best move. Unfortunatly the recapture detection is broken becuase we identify as a recapture any move that follows an opponent's previous capture ! This patch fix the logic to correctly detect a real re-capture. No functional change.
This commit is contained in:
parent
0d68b523a3
commit
def50020ad
1 changed files with 6 additions and 1 deletions
|
@ -442,11 +442,16 @@ namespace {
|
|||
if (Time::now() - SearchTime > (TimeMgr.available_time() * 62) / 100)
|
||||
stop = true;
|
||||
|
||||
bool recapture = pos.is_capture(RootMoves[0].pv[0])
|
||||
&& pos.captured_piece_type()
|
||||
&& SetupMoves->size()
|
||||
&& to_sq(SetupMoves->back()) == to_sq(RootMoves[0].pv[0]);
|
||||
|
||||
// Stop search early if one move seems to be much better than others
|
||||
if ( depth >= 12
|
||||
&& !stop
|
||||
&& PVSize == 1
|
||||
&& ( (bestMoveNeverChanged && pos.captured_piece_type())
|
||||
&& ( (bestMoveNeverChanged && recapture)
|
||||
|| Time::now() - SearchTime > (TimeMgr.available_time() * 40) / 100))
|
||||
{
|
||||
Value rBeta = bestValue - 2 * PawnValueMg;
|
||||
|
|
Loading…
Add table
Reference in a new issue