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; }
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); } }