mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
Give bonus for bishops that are alligned with enemy kingring.
Inspired by the succesful patch "Give bonus for rooks that are alligned with enemy kingring" from Vizvezdenec, this idea has been reused for bishops. Here, we only consider attacks that are not blocked by any pawn. Also we have a 50% higher bonus than for the rooks. STC: LLR: 2.94 (-2.94,2.94) {-0.50,1.50} Total: 68960 W: 13495 L: 13202 D: 42263 Ptnml(0-2): 1213, 8018, 15802, 8157, 1290 https://tests.stockfishchess.org/tests/view/5ed27495042fa6d77c3553aa LTC: LLR: 2.96 (-2.94,2.94) {0.25,1.75} Total: 54560 W: 7105 L: 6780 D: 40675 Ptnml(0-2): 379, 4986, 16254, 5253, 408 https://tests.stockfishchess.org/tests/view/5ed30375596e6dc1e1f97425 closes https://github.com/official-stockfish/Stockfish/pull/2708 Bench: 4860021
This commit is contained in:
parent
8c3d9d996a
commit
d1ec10cd4f
1 changed files with 5 additions and 0 deletions
|
@ -128,6 +128,7 @@ namespace {
|
||||||
|
|
||||||
// Assorted bonuses and penalties
|
// Assorted bonuses and penalties
|
||||||
constexpr Score BishopPawns = S( 3, 7);
|
constexpr Score BishopPawns = S( 3, 7);
|
||||||
|
constexpr Score BishopOnKingRing = S( 24, 0);
|
||||||
constexpr Score BishopXRayPawns = S( 4, 5);
|
constexpr Score BishopXRayPawns = S( 4, 5);
|
||||||
constexpr Score CorneredBishop = S( 50, 50);
|
constexpr Score CorneredBishop = S( 50, 50);
|
||||||
constexpr Score FlankAttacks = S( 8, 0);
|
constexpr Score FlankAttacks = S( 8, 0);
|
||||||
|
@ -288,9 +289,13 @@ namespace {
|
||||||
kingAttackersWeight[Us] += KingAttackWeights[Pt];
|
kingAttackersWeight[Us] += KingAttackWeights[Pt];
|
||||||
kingAttacksCount[Us] += popcount(b & attackedBy[Them][KING]);
|
kingAttacksCount[Us] += popcount(b & attackedBy[Them][KING]);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (Pt == ROOK && (file_bb(s) & kingRing[Them]))
|
else if (Pt == ROOK && (file_bb(s) & kingRing[Them]))
|
||||||
score += RookOnKingRing;
|
score += RookOnKingRing;
|
||||||
|
|
||||||
|
else if (Pt == BISHOP && (attacks_bb<BISHOP>(s, pos.pieces(PAWN)) & kingRing[Them]))
|
||||||
|
score += BishopOnKingRing;
|
||||||
|
|
||||||
int mob = popcount(b & mobilityArea[Us]);
|
int mob = popcount(b & mobilityArea[Us]);
|
||||||
|
|
||||||
mobility[Us] += MobilityBonus[Pt - 2][mob];
|
mobility[Us] += MobilityBonus[Pt - 2][mob];
|
||||||
|
|
Loading…
Add table
Reference in a new issue