Ejemplo n.º 1
0
        protected override void UpdateDifficultyPoints(AimPoint aimPoint)
        {
            CurrentDiffPoints.Add(aimPoint);

            if (CurrentDiffPoints.Count == 4)
            {
                CurrentDiffPoints.RemoveAt(0);
            }
        }
Ejemplo n.º 2
0
        protected override void UpdateDifficultyPoints(ReadingPoint readingPoint)
        {
            // Add readingPoint to currentDiffPoints
            CurrentDiffPoints.Add(readingPoint);

            // Remove points that are no longer visible
            double currentTime = readingPoint.Offset - readingPoint.ApproachTime;   // Visual points are processed at the moment they first appear

            CurrentDiffPoints.RemoveAll(rp => rp.Offset < currentTime);
        }
Ejemplo n.º 3
0
        protected override void UpdateDifficultyPoints(ClickPoint clickPoint)
        {
            // Add diffPoint to currentDiffPoints
            CurrentDiffPoints.Add(clickPoint);

            // Update pool
            if (CurrentDiffPoints.Count == 3)
            {
                CurrentDiffPoints.RemoveAt(0);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Difficulty of determining the position and order of aim points
        /// </summary>
        /// <returns>Difficulty as a double</returns>
        private double AimReading()
        {
            // Step 1: Assign point a focal weight
            ReadingPointA.FocalWeight = FocalWeight(ReadingPointA, ReadingPointB);

            // Step 2: Search for nearest note
            var nearestPoint = CurrentDiffPoints.Take(CurrentDiffPoints.Count - 1).OrderBy(rp => NormalisedDistance(rp, ReadingPointA)).FirstOrDefault();

            // Step 3: Calculate overlap bonus
            double overlapBonus = OverlapBonus(ReadingPointA, nearestPoint);

            return(FocalTotal * ReadingPointA.FocalWeight * overlapBonus);
        }