1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 08:43:09 +00: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:
Marco Costalba 2010-01-17 14:55:53 +01:00
parent 0edad63b44
commit 66d5c13a88
2 changed files with 8 additions and 4 deletions

View file

@ -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;

View file

@ -58,7 +58,7 @@ public:
private:
void score_captures();
void score_noncaptures();
void score_evasions();
void score_evasions_or_checks();
void go_next_phase();
const Position& pos;