mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 23:52:57 +08:00
Merge pull request #17976 from frenzibyte/improve-score-grading
Change score accuracy grading logic to be inclusive
This commit is contained in:
commit
51b4821efa
@ -375,13 +375,13 @@ namespace osu.Game.Rulesets.Scoring
|
||||
{
|
||||
if (acc == 1)
|
||||
return ScoreRank.X;
|
||||
if (acc > 0.95)
|
||||
if (acc >= 0.95)
|
||||
return ScoreRank.S;
|
||||
if (acc > 0.9)
|
||||
if (acc >= 0.9)
|
||||
return ScoreRank.A;
|
||||
if (acc > 0.8)
|
||||
if (acc >= 0.8)
|
||||
return ScoreRank.B;
|
||||
if (acc > 0.7)
|
||||
if (acc >= 0.7)
|
||||
return ScoreRank.C;
|
||||
|
||||
return ScoreRank.D;
|
||||
|
@ -212,12 +212,12 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
Padding = new MarginPadding { Vertical = -15, Horizontal = -20 },
|
||||
Children = new[]
|
||||
{
|
||||
new RankBadge(1f, getRank(ScoreRank.X)),
|
||||
new RankBadge(0.95f, getRank(ScoreRank.S)),
|
||||
new RankBadge(0.9f, getRank(ScoreRank.A)),
|
||||
new RankBadge(0.8f, getRank(ScoreRank.B)),
|
||||
new RankBadge(0.7f, getRank(ScoreRank.C)),
|
||||
new RankBadge(0.35f, getRank(ScoreRank.D)),
|
||||
new RankBadge(1, getRank(ScoreRank.X)),
|
||||
new RankBadge(0.95, getRank(ScoreRank.S)),
|
||||
new RankBadge(0.9, getRank(ScoreRank.A)),
|
||||
new RankBadge(0.8, getRank(ScoreRank.B)),
|
||||
new RankBadge(0.7, getRank(ScoreRank.C)),
|
||||
new RankBadge(0.35, getRank(ScoreRank.D)),
|
||||
}
|
||||
},
|
||||
rankText = new RankText(score.Rank)
|
||||
|
@ -23,7 +23,7 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
/// <summary>
|
||||
/// The accuracy value corresponding to the <see cref="ScoreRank"/> displayed by this badge.
|
||||
/// </summary>
|
||||
public readonly float Accuracy;
|
||||
public readonly double Accuracy;
|
||||
|
||||
private readonly ScoreRank rank;
|
||||
|
||||
@ -35,7 +35,7 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
/// </summary>
|
||||
/// <param name="accuracy">The accuracy value corresponding to <paramref name="rank"/>.</param>
|
||||
/// <param name="rank">The <see cref="ScoreRank"/> to be displayed in this <see cref="RankBadge"/>.</param>
|
||||
public RankBadge(float accuracy, ScoreRank rank)
|
||||
public RankBadge(double accuracy, ScoreRank rank)
|
||||
{
|
||||
Accuracy = accuracy;
|
||||
this.rank = rank;
|
||||
@ -90,7 +90,7 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
base.Update();
|
||||
|
||||
// Starts at -90deg (top) and moves counter-clockwise by the accuracy
|
||||
rankContainer.Position = circlePosition(-MathF.PI / 2 - (1 - Accuracy) * MathF.PI * 2);
|
||||
rankContainer.Position = circlePosition(-MathF.PI / 2 - (1 - (float)Accuracy) * MathF.PI * 2);
|
||||
}
|
||||
|
||||
private Vector2 circlePosition(float t)
|
||||
|
Loading…
Reference in New Issue
Block a user