Example #1
0
        public override void AddEvaluations()
        {
            base.AddEvaluations();

            //	We need to update the pawn structure evaluation to inform it
            //	that pawns promote on the 5th rank.  This is important for
            //	proper evaluation of passed pawns.
            PawnStructureEvaluation eval = (PawnStructureEvaluation)FindEvaluation(typeof(PawnStructureEvaluation));

            eval.PassedPawnEvaluation = true;
            eval.PawnPromotionRank    = 5;
        }
Example #2
0
        public override void AddEvaluations()
        {
            base.AddEvaluations();

            //	Replace the development evaluation function with an updated one that
            //	understands that there is no castling and the rooks are already connected
            Evaluations.Grand.GrandChessDevelopmentEvaluation newDevelopentEval = new Evaluations.Grand.GrandChessDevelopmentEvaluation();
            ReplaceEvaluation(FindEvaluation(typeof(DevelopmentEvaluation)), newDevelopentEval);

            //	We also need to update the pawn structure evaluation to inform it
            //	that pawns promote on the 5th rank.  This is important for
            //	proper evaluation of passed pawns.
            PawnStructureEvaluation eval = (PawnStructureEvaluation)FindEvaluation(typeof(PawnStructureEvaluation));

            eval.PassedPawnEvaluation = true;
            eval.PawnPromotionRank    = 5;

            if (Marshall != null && Marshall.Enabled)
            {
                RookTypeEval.AddRookOn7thBonus(Marshall, King, 2, 8);
            }
        }