Author: Ferdinand S. Mosca
Date: 23:18:48 11/24/01
Go up one level in this thread
On November 24, 2001 at 16:09:08, Michel Langeveld wrote:
>Just a donate from me for everyone who might be interested:
>
> #define PAWNGROUPS_PENALTY 30
> #define PAWNISOLATED_PENALTY 30
> #define PAWNPASSER_BONUS 80
> #define PAWNDOUBLE_PENALTY 40
> #define PAWNTRIPLE_PENALTY 110
>
> ///////////////////////////////////////////////////////////////////
> //Pawn evaluation code by Michel Langeveld
> ///////////////////////////////////////////////////////////////////
> //conist of:
> //-grouping rule
> //-isolated pawns
> //-passers
> //-double and triple pawns
> ///////////////////////////////////////////////////////////////////
>
> bool whiteGroup = false;
> bool blackGroup = false;
> int whiteGroups = 0;
> int blackGroups = 0;
> bool whiteIsolated = false;
> bool blackIsolated = false;
>
> for (int i=0; i<8; i++)
> {
> if (evalStructure.whitePawnsPlace[i] > 0)
> {
>
> //double pawns
> if (evalStructure.whitePawnsPlace[i] == 2) score -= PAWNDOUBLE_PENALTY;
> if (evalStructure.whitePawnsPlace[i] == 3) score -= PAWNTRIPLE_PENALTY;
>
> //passer?
> if (evalStructure.blackPawnsPlace[i] == 0)
> {
> if ( blackGroup == 0 || (i != 7 &&
>evalStructure.blackPawnsPlace[i+1] == 0 ) )
> {
> score += PAWNPASSER_BONUS;
> }
> }
>
> //grouping rule and isolated pawns
> if (whiteGroup == false)
> {
> whiteGroup = true;
> whiteGroups++;
> score -= PAWNGROUPS_PENALTY; //pawngroup bonus
> whiteIsolated = true;
> score -= PAWNISOLATED_PENALTY; //this pawn is isolated if nomore
>follow
> }
> else
> {
> if (whiteIsolated)
> {
> whiteIsolated = false;
> score += PAWNISOLATED_PENALTY;
> }
> }
> }
> else
> {
> whiteGroup = false;
> whiteIsolated = false;
> }
>
> if (evalStructure.blackPawnsPlace[i] > 0)
> {
> //double pawns
> if (evalStructure.blackPawnsPlace[i] == 2) score += PAWNDOUBLE_PENALTY;
> if (evalStructure.blackPawnsPlace[i] == 3) score += PAWNTRIPLE_PENALTY;
>
> //passer?
> if (evalStructure.blackPawnsPlace[i] > 0 &&
> evalStructure.whitePawnsPlace[i] == 0)
> {
> if ( whiteGroup == 0 ||
> (i != 7 && evalStructure.whitePawnsPlace[i+1] == 0) )
> {
> score -= PAWNPASSER_BONUS;
> }
> }
>
> //grouping rule and isolated pawns
> if (blackGroup == false)
> {
> blackGroup = true;
> blackGroups++;
> score += PAWNGROUPS_PENALTY; //pawngroup bonus
> blackIsolated = true;
> score += PAWNISOLATED_PENALTY; //this pawn is isolated if nomore
>follow
> }
> else
> {
> if (blackIsolated)
> {
> blackIsolated = false;
> score -= PAWNISOLATED_PENALTY;
> }
> }
> }
> else
> {
> blackGroup = false;
> blackIsolated = false;
> }
> }
Hello Michel,
What PAWNGROUPS_PENALTY is all about? Thanks for the post.
Regards,
Dinan
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.