mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-19 08:36:33 +08:00
Order check moves used in qsearch
Use the same scoring system used for evasions. Small if any increase, but should be in at least for completeness. After 999 games at 1+0 Mod vs Orig +208 =601 -190 +6 ELO Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
@@ -141,7 +141,7 @@ void MovePicker::go_next_phase() {
|
||||
case PH_EVASIONS:
|
||||
assert(pos.is_check());
|
||||
lastMove = generate_evasions(pos, moves);
|
||||
score_evasions();
|
||||
score_evasions_or_checks();
|
||||
return;
|
||||
|
||||
case PH_QCAPTURES:
|
||||
@@ -150,8 +150,8 @@ void MovePicker::go_next_phase() {
|
||||
return;
|
||||
|
||||
case PH_QCHECKS:
|
||||
// Perhaps we should order moves move here? FIXME
|
||||
lastMove = generate_non_capture_checks(pos, moves);
|
||||
score_evasions_or_checks();
|
||||
return;
|
||||
|
||||
case PH_STOP:
|
||||
@@ -224,7 +224,7 @@ void MovePicker::score_noncaptures() {
|
||||
}
|
||||
}
|
||||
|
||||
void MovePicker::score_evasions() {
|
||||
void MovePicker::score_evasions_or_checks() {
|
||||
// Try good captures ordered by MVV/LVA, then non-captures if
|
||||
// destination square is not under attack, ordered by history
|
||||
// value, and at the end bad-captures and non-captures with a
|
||||
@@ -232,6 +232,10 @@ void MovePicker::score_evasions() {
|
||||
Move m;
|
||||
int seeScore;
|
||||
|
||||
// Skip if we don't have at least two moves to order
|
||||
if (lastMove < moves + 2)
|
||||
return;
|
||||
|
||||
for (MoveStack* cur = moves; cur != lastMove; cur++)
|
||||
{
|
||||
m = cur->move;
|
||||
|
||||
Reference in New Issue
Block a user