mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Introduce PawnsQtyTable[] to refine pawn's drawish calculation
Also fix dimension of UnpairedPawnsTable[] to accomodate the case in which we have 8 unpaired pawns, i.e. only one side has pawns, the other side has no pawns. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
fc89dbcab2
commit
97f5d19bdc
1 changed files with 5 additions and 2 deletions
|
@ -72,7 +72,10 @@ namespace {
|
|||
|
||||
// UnpairedPawnsTable[] gives a score according to the number
|
||||
// of panws that do not have an enemy pawn in front of them.
|
||||
const int UnpairedPawnsTable[8] = { 32, 48, 64, 80, 96, 112, 128, 128 };
|
||||
const int UnpairedPawnsTable[16] = { 32, 48, 64, 80, 96, 112, 128, 128, 128 };
|
||||
|
||||
// PawnsQtyTable[] gives a score according to the number of panws
|
||||
const int PawnsQtyTable[16] = { 16, 16, 16, 16, 16, 16, 16, 16, 16 };
|
||||
|
||||
// Pawn storm tables for positions with opposite castling
|
||||
const int QStormTable[64] = {
|
||||
|
@ -347,7 +350,7 @@ Score PawnInfoTable::evaluate_pawns(const Position& pos, Bitboard ourPawns,
|
|||
}
|
||||
|
||||
// Calculate a scale factor to be used to evaluate if position is drawish
|
||||
pi->factor[Us] = UnpairedPawnsTable[unpairedPawnsNum];
|
||||
pi->factor[Us] = UnpairedPawnsTable[unpairedPawnsNum] * PawnsQtyTable[pos.piece_count(Us, PAWN)] / 16;
|
||||
|
||||
return value;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue