public override int Rate() { // Final actions if (OpHeroHp < 1) { return(Int32.MaxValue); } if (HeroHp < 1) { return(Int32.MinValue); } int result = 0; result += HeroHp * Values[0]; result -= OpHeroHp * Values[1]; result += BoardZone.Count() * Values[2]; result -= OpBoardZone.Count() * Values[3]; result += MinionTotAtk * Values[4]; result -= OpMinionTotAtk * Values[5]; result += MinionTotHealth * Values[6]; result -= OpMinionTotHealth * Values[7]; result += MinionTotHealthTaunt * Values[8]; result -= OpMinionTotHealthTaunt * Values[9]; return(result); }
public override int Rate() { if (OpHeroHp < 1) { return(int.MaxValue); } if (HeroHp < 1) { return(int.MinValue); } float score = 0; score += HeroHp - OpHeroHp; score += BoardZone.Count() - OpBoardZone.Count(); score += HeroAtk - OpHeroAtk; foreach (Minion Minion in BoardZone) { score += MinionScore(Minion, true); } foreach (Minion Minion in OpBoardZone) { score -= MinionScore(Minion, false); } return((int)Math.Round(score)); }