Exemplo n.º 1
0
        protected override double StrainValueOf(HitObject hitObject)
        {
            double distance = hitObject.GetPrevStartDistance();

            // determines speed based on distance to the note, where the further spaced the streams are the more speed is given
            // basically describes how fast you're forced to move your cursor at the same time as clicking
            double speedValue;

            if (distance > singleSpacingThreshold)
            {
                speedValue = 2.5;
            }
            else if (distance > streamSpacingThreshold)
            {
                speedValue = 1.6 + 0.9 * (distance - streamSpacingThreshold) / (singleSpacingThreshold - streamSpacingThreshold);
            }
            else if (distance > almostDiameter)
            {
                speedValue = 1.2 + 0.4 * (distance - almostDiameter) / (streamSpacingThreshold - almostDiameter);
            }
            else if (distance > almostDiameter / 2)
            {
                speedValue = 0.95 + 0.25 * (distance - almostDiameter / 2) / (almostDiameter / 2);
            }
            else
            {
                speedValue = 0.95;
            }

            return(speedValue / hitObject.GetPrevDeltaStartTime());
        }
Exemplo n.º 2
0
        protected override double StrainValueOf(HitObject anObject)
        {
            double distance = anObject.GetPrevStartDistance();
            double time     = anObject.GetPrevDeltaStartTime();

            double strainValue = Math.Pow(distance, 0.99) / time;

            return(strainValue);
        }