mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33:09 +00:00
Bonus for checking moves
STC: LLR: 2.97 (-2.94,2.94) [0.00,5.00] Total: 14531 W: 2765 L: 2576 D: 9190 LTC: LLR: 3.20 (-2.94,2.94) [0.00,5.00] Total: 52518 W: 8107 L: 7782 D: 36629 Bench: 7556477 Resolves #435
This commit is contained in:
parent
3c0fe1d9b2
commit
9f5b31c21d
1 changed files with 13 additions and 0 deletions
|
@ -184,6 +184,7 @@ namespace {
|
|||
const Score Unstoppable = S( 0, 20);
|
||||
const Score Hanging = S(31, 26);
|
||||
const Score PawnAttackThreat = S(20, 20);
|
||||
const Score Checked = S(20, 20);
|
||||
|
||||
// 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
|
||||
|
@ -440,22 +441,34 @@ namespace {
|
|||
// Enemy queen safe checks
|
||||
b = (b1 | b2) & ei.attackedBy[Them][QUEEN];
|
||||
if (b)
|
||||
{
|
||||
attackUnits += QueenCheck * popcount<Max15>(b);
|
||||
score -= Checked;
|
||||
}
|
||||
|
||||
// Enemy rooks safe checks
|
||||
b = b1 & ei.attackedBy[Them][ROOK];
|
||||
if (b)
|
||||
{
|
||||
attackUnits += RookCheck * popcount<Max15>(b);
|
||||
score -= Checked;
|
||||
}
|
||||
|
||||
// Enemy bishops safe checks
|
||||
b = b2 & ei.attackedBy[Them][BISHOP];
|
||||
if (b)
|
||||
{
|
||||
attackUnits += BishopCheck * popcount<Max15>(b);
|
||||
score -= Checked;
|
||||
}
|
||||
|
||||
// Enemy knights safe checks
|
||||
b = pos.attacks_from<KNIGHT>(ksq) & ei.attackedBy[Them][KNIGHT] & safe;
|
||||
if (b)
|
||||
{
|
||||
attackUnits += KnightCheck * popcount<Max15>(b);
|
||||
score -= Checked;
|
||||
}
|
||||
|
||||
// Finally, extract the king danger score from the KingDanger[]
|
||||
// array and subtract the score from evaluation.
|
||||
|
|
Loading…
Add table
Reference in a new issue