public override GenRange Calculate(BodyMassIndex bmi, PersonAge age) { Range <Rating> rangeForPower; if (bmi.BMI > 23 && bmi.Height.Centimeters >= 185) { rangeForPower = MaxRange; } else if (bmi.BMI < 22) { rangeForPower = MinRange; } else { rangeForPower = MediumRange; } // take player's age into account if (age > PersonAge.FromYears(25)) { rangeForPower = new Range <Rating>(rangeForPower.Lower * 1.05, rangeForPower.Upper * 1.05); } else if (age < PersonAge.FromYears(20)) { rangeForPower = new Range <Rating>(rangeForPower.Lower * 0.8, rangeForPower.Upper * 0.9); } return(new GenRange(FeatureType.Power, rangeForPower)); }
public override GenRange Calculate(BodyMassIndex bmi, PersonAge age) { Range <Rating> rangeForSpeed; if (bmi.BMI > 22.8) { rangeForSpeed = MinRange; } else if (bmi.BMI < 21.2) { rangeForSpeed = MaxRange; } else { rangeForSpeed = MediumRange; } // take player age into account if (age > PersonAge.FromYears(30)) { rangeForSpeed = new Range <Rating>(rangeForSpeed.Lower * 0.82, rangeForSpeed.Upper * 0.88); } else if (age < PersonAge.FromYears(23)) { rangeForSpeed = new Range <Rating>(rangeForSpeed.Lower * 1.052, rangeForSpeed.Upper * 1.055); } return(new GenRange(FeatureType.Acceleration, rangeForSpeed)); }
public void ImproveRatingFromAge_2() { Rating rating = new Rating(0.8); var ageRating = new AgeRating(PersonAge.FromYears(27), rating); var newRatingForAge = Phase1Evolution.Value.ImproveRatingFromAge(ageRating, Duration.FromMonths(1)); Assert.IsNotNull(newRatingForAge); Assert.AreEqual(Duration.FromMonths(27 * 12 + 1).Years, newRatingForAge.Age.Years); Assert.AreEqual(0.81, newRatingForAge.Rating.Value); }
public static Phase1Evolution Create(EvolutionCurve evolutionCurve) => new Phase1Evolution(new Range <PersonAge>(PersonAge.FromYears(AGE_MIN), PersonAge.FromYears(AGE_MAX)), evolutionCurve);
public void Phase1Evolution_ImproveRating4() { FeatureImprovementRatio improvement = Phase1Evolution.Value.GetImprovementFromAge(PersonAge.FromYears(28)); Rating rating = new Rating(0.7); var newRating = improvement.ImproveRating(rating); Assert.IsNotNull(newRating); Assert.AreEqual(0.99, newRating.Value); }
public void GetValue_Pass28_ShouldReturnValue() { FeatureImprovementRatio improvement = Phase1Evolution.Value.GetImprovementFromAge(PersonAge.FromYears(28)); Assert.IsNotNull(improvement); Assert.AreEqual(0.5, improvement.Value); }
public void Phase1Evolution_GetValue() { FeatureImprovementRatio improvement = Phase1Evolution.Value.GetImprovementFromAge(PersonAge.FromYears(16)); Assert.IsNotNull(improvement); Assert.AreEqual(0.01, improvement.Value); }
public WeightForAge(int ageInYears, UnitsNet.Mass mass) { Age = PersonAge.FromYears(ageInYears); Mass = mass; }
public StatureForAge(int ageInYears, UnitsNet.Length stature) { Age = PersonAge.FromYears(ageInYears); Stature = stature; }