mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 09:13:08 +00:00
Normalize twice supported pawns
Align codying style to current conventions and move formula for twice supported pawns to Pawns::init() where it should be. No functional change.
This commit is contained in:
parent
fce799294c
commit
8a2c4134a6
1 changed files with 11 additions and 15 deletions
|
@ -50,8 +50,8 @@ namespace {
|
||||||
{ S(20, 28), S(29, 31), S(33, 31), S(33, 31),
|
{ S(20, 28), S(29, 31), S(33, 31), S(33, 31),
|
||||||
S(33, 31), S(33, 31), S(29, 31), S(20, 28) } };
|
S(33, 31), S(33, 31), S(29, 31), S(20, 28) } };
|
||||||
|
|
||||||
// Connected pawn bonus by opposed, phalanx flags and rank
|
// Connected pawn bonus by opposed, phalanx, twice supported and rank
|
||||||
Score Connected[2][2][RANK_NB];
|
Score Connected[2][2][2][RANK_NB];
|
||||||
|
|
||||||
// Levers bonus by rank
|
// Levers bonus by rank
|
||||||
const Score Lever[RANK_NB] = {
|
const Score Lever[RANK_NB] = {
|
||||||
|
@ -192,13 +192,8 @@ namespace {
|
||||||
if (backward)
|
if (backward)
|
||||||
score -= Backward[opposed][f];
|
score -= Backward[opposed][f];
|
||||||
|
|
||||||
if (connected) {
|
if (connected)
|
||||||
score += Connected[opposed][phalanx][relative_rank(Us, s)];
|
score += Connected[opposed][phalanx][more_than_one(supported)][relative_rank(Us, s)];
|
||||||
if (more_than_one(supported)) {
|
|
||||||
//apex bonus: pawn on s is supported twice
|
|
||||||
score += Connected[opposed][phalanx][relative_rank(Us, s)] / 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lever)
|
if (lever)
|
||||||
score += Lever[relative_rank(Us, s)];
|
score += Lever[relative_rank(Us, s)];
|
||||||
|
@ -228,11 +223,12 @@ void init()
|
||||||
|
|
||||||
for (int opposed = 0; opposed <= 1; ++opposed)
|
for (int opposed = 0; opposed <= 1; ++opposed)
|
||||||
for (int phalanx = 0; phalanx <= 1; ++phalanx)
|
for (int phalanx = 0; phalanx <= 1; ++phalanx)
|
||||||
|
for (int apex = 0; apex <= 1; ++apex)
|
||||||
for (Rank r = RANK_2; r < RANK_8; ++r)
|
for (Rank r = RANK_2; r < RANK_8; ++r)
|
||||||
{
|
{
|
||||||
int bonus = Seed[r] + (phalanx ? (Seed[r + 1] - Seed[r]) / 2 : 0);
|
int v = (Seed[r] + (phalanx ? (Seed[r + 1] - Seed[r]) / 2 : 0)) >> opposed;
|
||||||
bonus >>= opposed;
|
v += (apex ? v / 2 : 0);
|
||||||
Connected[opposed][phalanx][r] = make_score( 3 * bonus / 2, bonus);
|
Connected[opposed][phalanx][apex][r] = make_score(3 * v / 2, v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue