Beispiel #1
0
        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);
        }
Beispiel #4
0
        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);
        }