public override PowersDictionary <double> GetScore(Board board) { FeatureMeasurementCollection features = _featureToolCollection.GetMeasurements(board); var result = _featureWeightGroup.GetWeightedScores(features); return(result); }
public FeatureMeasurementCollection GetMeasurements(Board board) { var result = new FeatureMeasurementCollection(); foreach (FeatureTool tool in this) { board.GetMeasurements(tool, result); } return(result); }
public FeatureMeasurementCollection GetMeasurements(Game game) { var result = new FeatureMeasurementCollection(); foreach (FeatureTool tool in this) { game.GetMeasurements(tool, result); game.CurrentBoard.GetMeasurements(tool, result); } return(result); }
public PowersDictionary <double> GetWeightedScores(FeatureMeasurementCollection features) { var result = new PowersDictionary <double>(); result.Init(0d); foreach (var measurement in features) { if (measurement.Power == Powers.None) { continue; } if (ContainsKey(measurement.Name)) { result[measurement.Power] += (measurement.Value * this[measurement.Name]); } } return(result); }