Пример #1
0
        public double GetMatchConfidence(CollisionSlice sourceSlice, CollisionSlice targetSlice)
        {
            var bad  = CollisionListMatchAnalyzer.GetMatchConfidence(sourceSlice.BadCollisions, targetSlice.BadCollisions, 1.0);
            var food = CollisionListMatchAnalyzer.GetMatchConfidence(sourceSlice.FoodCollisions, targetSlice.FoodCollisions, 0.001);
            var self = CollisionListMatchAnalyzer.GetMatchConfidence(sourceSlice.SelfCollisions, targetSlice.SelfCollisions, 0.01);

            return(BaseSliceValue + bad + food + self);
        }
Пример #2
0
        public double GetMaximumMatchValue(CollisionSlice slice)
        {
            var bad  = CollisionListMatchAnalyzer.GetMaximumMatchValue(slice.BadCollisions, 1.0);
            var food = CollisionListMatchAnalyzer.GetMaximumMatchValue(slice.FoodCollisions, 0.001);
            var self = CollisionListMatchAnalyzer.GetMaximumMatchValue(slice.SelfCollisions, 0.01);

            return(BaseSliceValue + bad + food + self);
        }
        public CollisionSlice ProcessSlice(SlitherFrame slitherFrame, double angleStart, double angleEnd, int distanceStep)
        {
            var slice = new CollisionSlice();

            slice.BadCollisions  = _badCollisionSliceProcessor.ProcessSlice(slitherFrame, angleStart, angleEnd, distanceStep);
            slice.FoodCollisions = _foodSliceProcessor.ProcessSlice(slitherFrame, angleStart, angleEnd, distanceStep);
            slice.SelfCollisions = _selfSliceProcessor.ProcessSlice(slitherFrame, angleStart, angleEnd, distanceStep);
            return(slice);
        }