mirror of
https://github.com/sockspls/badfish
synced 2025-07-12 03:59:15 +00:00
Add a penalty for low mobility pieces
Passed both STC LLR: 2.96 (-2.94,2.94) [-1.50,4.50] Total: 81857 W: 14652 L: 14342 D: 52863 and LTC LLR: 2.97 (-2.94,2.94) [0.00,6.00] Total: 45400 W: 6999 L: 6697 D: 31704 bench: 7716978
This commit is contained in:
parent
5c75455c8e
commit
8863afeb84
1 changed files with 6 additions and 0 deletions
|
@ -171,6 +171,7 @@ namespace {
|
||||||
const Score UndefendedMinor = make_score(25, 10);
|
const Score UndefendedMinor = make_score(25, 10);
|
||||||
const Score TrappedRook = make_score(90, 0);
|
const Score TrappedRook = make_score(90, 0);
|
||||||
const Score Unstoppable = make_score( 0, 20);
|
const Score Unstoppable = make_score( 0, 20);
|
||||||
|
const Score LowMobPenalty = make_score(40, 20);
|
||||||
|
|
||||||
// Penalty for a bishop on a1/h1 (a8/h8 for black) which is trapped by
|
// Penalty for a bishop on a1/h1 (a8/h8 for black) which is trapped by
|
||||||
// a friendly pawn on b2/g2 (b7/g7 for black). This can obviously only
|
// a friendly pawn on b2/g2 (b7/g7 for black). This can obviously only
|
||||||
|
@ -186,6 +187,8 @@ namespace {
|
||||||
(FileCBB | FileDBB | FileEBB | FileFBB) & (Rank7BB | Rank6BB | Rank5BB)
|
(FileCBB | FileDBB | FileEBB | FileFBB) & (Rank7BB | Rank6BB | Rank5BB)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const Bitboard EdgeBB = Rank1BB | Rank8BB | FileABB | FileHBB;
|
||||||
|
|
||||||
// King danger constants and variables. The king danger scores are taken
|
// King danger constants and variables. The king danger scores are taken
|
||||||
// from KingDanger[]. Various little "meta-bonuses" measuring the strength
|
// from KingDanger[]. Various little "meta-bonuses" measuring the strength
|
||||||
// of the enemy attack are added up into an integer, which is used as an
|
// of the enemy attack are added up into an integer, which is used as an
|
||||||
|
@ -491,6 +494,9 @@ Value do_evaluate(const Position& pos) {
|
||||||
|
|
||||||
mobility[Us] += MobilityBonus[Pt][mob];
|
mobility[Us] += MobilityBonus[Pt][mob];
|
||||||
|
|
||||||
|
if (mob <= 1 && (EdgeBB & s))
|
||||||
|
score -= LowMobPenalty;
|
||||||
|
|
||||||
// Decrease score if we are attacked by an enemy pawn. The remaining part
|
// Decrease score if we are attacked by an enemy pawn. The remaining part
|
||||||
// of threat evaluation must be done later when we have full attack info.
|
// of threat evaluation must be done later when we have full attack info.
|
||||||
if (ei.attackedBy[Them][PAWN] & s)
|
if (ei.attackedBy[Them][PAWN] & s)
|
||||||
|
|
Loading…
Add table
Reference in a new issue