From 977b5065876bfcbd5e12843484238b418a87a494 Mon Sep 17 00:00:00 2001 From: smoogipooo <smoogipooo@gmail.com> Date: Fri, 17 Mar 2017 17:06:34 +0900 Subject: [PATCH 1/4] Add TaikoJudgementInfo. --- .../Judgements/TaikoJudgementInfo.cs | 71 +++++++++++++++++++ .../Judgements/TaikoScoreResult.cs | 11 +++ .../osu.Game.Modes.Taiko.csproj | 1 + 3 files changed, 83 insertions(+) create mode 100644 osu.Game.Modes.Taiko/Judgements/TaikoScoreResult.cs diff --git a/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs b/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs index 38b9d784dd..8c42023648 100644 --- a/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs +++ b/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs @@ -7,5 +7,76 @@ namespace osu.Game.Modes.Taiko.Judgements { public class TaikoJudgementInfo : JudgementInfo { + /// <summary> + /// The maximum score value. + /// </summary> + public const TaikoScoreResult MAX_SCORE = TaikoScoreResult.Great; + + /// <summary> + /// The score value. + /// </summary> + public TaikoScoreResult Score; + + /// <summary> + /// The score value for the combo portion of the score. + /// </summary> + public int ScoreValue => ScoreToInt(Score); + + /// <summary> + /// The score value for the accuracy portion of the score. + /// </summary> + public int AccuracyScoreValue => AccuracyScoreToInt(Score); + + /// <summary> + /// The maximum score value for the combo portion of the score. + /// </summary> + public int MaxScoreValue => ScoreToInt(MAX_SCORE); + + /// <summary> + /// The maximum score value for the accuracy portion of the score. + /// </summary> + public int MaxAccuracyScoreValue => AccuracyScoreToInt(MAX_SCORE); + + /// <summary> + /// Whether this Judgement has a secondary hit in the case of finishers. + /// </summary> + public bool SecondHit; + + /// <summary> + /// Computes the score value for the combo portion of the score. + /// For the accuracy portion of the score (including accuracy percentage), see <see cref="AccuracyScoreToInt(TaikoScoreResult)"/>. + /// </summary> + /// <param name="result">The result to compute the score value for.</param> + /// <returns>The int score value.</returns> + protected virtual int ScoreToInt(TaikoScoreResult result) + { + switch (result) + { + default: + return 0; + case TaikoScoreResult.Good: + return 100; + case TaikoScoreResult.Great: + return 300; + } + } + + /// <summary> + /// Computes the score value for the accurac portion of the score. + /// </summary> + /// <param name="result">The result to compute the score value for.</param> + /// <returns>The int score value.</returns> + protected virtual int AccuracyScoreToInt(TaikoScoreResult result) + { + switch (result) + { + default: + return 0; + case TaikoScoreResult.Good: + return 150; + case TaikoScoreResult.Great: + return 300; + } + } } } diff --git a/osu.Game.Modes.Taiko/Judgements/TaikoScoreResult.cs b/osu.Game.Modes.Taiko/Judgements/TaikoScoreResult.cs new file mode 100644 index 0000000000..004b9c4973 --- /dev/null +++ b/osu.Game.Modes.Taiko/Judgements/TaikoScoreResult.cs @@ -0,0 +1,11 @@ +// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>. +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +namespace osu.Game.Modes.Taiko.Judgements +{ + public enum TaikoScoreResult + { + Good, + Great + } +} diff --git a/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj index bc38781b01..f008594509 100644 --- a/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj +++ b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj @@ -50,6 +50,7 @@ <Compile Include="Beatmaps\TaikoBeatmapConverter.cs" /> <Compile Include="Beatmaps\TaikoBeatmapProcessor.cs" /> <Compile Include="Judgements\TaikoJudgementInfo.cs" /> + <Compile Include="Judgements\TaikoScoreResult.cs" /> <Compile Include="TaikoDifficultyCalculator.cs" /> <Compile Include="Objects\Drawable\DrawableTaikoHit.cs" /> <Compile Include="Objects\TaikoBaseHit.cs" /> From ad74797cd48eba7398f7953c32a90adcd9b448f6 Mon Sep 17 00:00:00 2001 From: smoogipooo <smoogipooo@gmail.com> Date: Tue, 21 Mar 2017 21:31:31 +0900 Subject: [PATCH 2/4] End letter oppression. --- osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs b/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs index 8c42023648..aa6901c2f5 100644 --- a/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs +++ b/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs @@ -62,7 +62,7 @@ namespace osu.Game.Modes.Taiko.Judgements } /// <summary> - /// Computes the score value for the accurac portion of the score. + /// Computes the score value for the accuracy portion of the score. /// </summary> /// <param name="result">The result to compute the score value for.</param> /// <returns>The int score value.</returns> From d9524f692d2d92bc468a6bf3fe448a3224a913f2 Mon Sep 17 00:00:00 2001 From: smoogipooo <smoogipooo@gmail.com> Date: Tue, 21 Mar 2017 21:36:05 +0900 Subject: [PATCH 3/4] Renamings. --- ...{TaikoScoreResult.cs => TaikoHitResult.cs} | 2 +- .../Judgements/TaikoJudgementInfo.cs | 35 ++++++++++--------- .../osu.Game.Modes.Taiko.csproj | 2 +- 3 files changed, 20 insertions(+), 19 deletions(-) rename osu.Game.Modes.Taiko/Judgements/{TaikoScoreResult.cs => TaikoHitResult.cs} (84%) diff --git a/osu.Game.Modes.Taiko/Judgements/TaikoScoreResult.cs b/osu.Game.Modes.Taiko/Judgements/TaikoHitResult.cs similarity index 84% rename from osu.Game.Modes.Taiko/Judgements/TaikoScoreResult.cs rename to osu.Game.Modes.Taiko/Judgements/TaikoHitResult.cs index 004b9c4973..d425616b66 100644 --- a/osu.Game.Modes.Taiko/Judgements/TaikoScoreResult.cs +++ b/osu.Game.Modes.Taiko/Judgements/TaikoHitResult.cs @@ -3,7 +3,7 @@ namespace osu.Game.Modes.Taiko.Judgements { - public enum TaikoScoreResult + public enum TaikoHitResult { Good, Great diff --git a/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs b/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs index aa6901c2f5..0448ee5367 100644 --- a/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs +++ b/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs @@ -10,32 +10,32 @@ namespace osu.Game.Modes.Taiko.Judgements /// <summary> /// The maximum score value. /// </summary> - public const TaikoScoreResult MAX_SCORE = TaikoScoreResult.Great; + public const TaikoHitResult MAX_SCORE = TaikoHitResult.Great; /// <summary> /// The score value. /// </summary> - public TaikoScoreResult Score; + public TaikoHitResult TaikoResult; /// <summary> /// The score value for the combo portion of the score. /// </summary> - public int ScoreValue => ScoreToInt(Score); + public int ScoreValue => NumericResultForScore(TaikoResult); /// <summary> /// The score value for the accuracy portion of the score. /// </summary> - public int AccuracyScoreValue => AccuracyScoreToInt(Score); + public int AccuracyScoreValue => NumericResultForAccuracy(TaikoResult); /// <summary> /// The maximum score value for the combo portion of the score. /// </summary> - public int MaxScoreValue => ScoreToInt(MAX_SCORE); + public int MaxScoreValue => NumericResultForScore(MAX_SCORE); /// <summary> /// The maximum score value for the accuracy portion of the score. /// </summary> - public int MaxAccuracyScoreValue => AccuracyScoreToInt(MAX_SCORE); + public int MaxAccuracyScoreValue => NumericResultForAccuracy(MAX_SCORE); /// <summary> /// Whether this Judgement has a secondary hit in the case of finishers. @@ -43,38 +43,39 @@ namespace osu.Game.Modes.Taiko.Judgements public bool SecondHit; /// <summary> - /// Computes the score value for the combo portion of the score. - /// For the accuracy portion of the score (including accuracy percentage), see <see cref="AccuracyScoreToInt(TaikoScoreResult)"/>. + /// Computes the numeric score value for the combo portion of the score. + /// For the accuracy portion of the score (including accuracy percentage), see <see cref="NumericResultForAccuracy(TaikoHitResult)"/>. /// </summary> /// <param name="result">The result to compute the score value for.</param> - /// <returns>The int score value.</returns> - protected virtual int ScoreToInt(TaikoScoreResult result) + /// <returns>The numeric score value.</returns> + protected virtual int NumericResultForScore(TaikoHitResult result) { switch (result) { default: return 0; - case TaikoScoreResult.Good: + case TaikoHitResult.Good: return 100; - case TaikoScoreResult.Great: + case TaikoHitResult.Great: return 300; } } /// <summary> - /// Computes the score value for the accuracy portion of the score. + /// Computes the numeric score value for the accuracy portion of the score. + /// For the combo portion of the score, see <see cref="NumericResultForScore(TaikoHitResult)"/>. /// </summary> /// <param name="result">The result to compute the score value for.</param> - /// <returns>The int score value.</returns> - protected virtual int AccuracyScoreToInt(TaikoScoreResult result) + /// <returns>The numeric score value.</returns> + protected virtual int NumericResultForAccuracy(TaikoHitResult result) { switch (result) { default: return 0; - case TaikoScoreResult.Good: + case TaikoHitResult.Good: return 150; - case TaikoScoreResult.Great: + case TaikoHitResult.Great: return 300; } } diff --git a/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj index cd73566ab3..65ee442d33 100644 --- a/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj +++ b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj @@ -50,7 +50,7 @@ <Compile Include="Beatmaps\TaikoBeatmapConverter.cs" /> <Compile Include="Beatmaps\TaikoBeatmapProcessor.cs" /> <Compile Include="Judgements\TaikoJudgementInfo.cs" /> - <Compile Include="Judgements\TaikoScoreResult.cs" /> + <Compile Include="Judgements\TaikoHitResult.cs" /> <Compile Include="TaikoDifficultyCalculator.cs" /> <Compile Include="Objects\Drawable\DrawableTaikoHit.cs" /> <Compile Include="Objects\TaikoHitObject.cs" /> From 863f49c2bd20daa354f4c95bbf3c20b86d562468 Mon Sep 17 00:00:00 2001 From: smoogipooo <smoogipooo@gmail.com> Date: Tue, 21 Mar 2017 21:38:39 +0900 Subject: [PATCH 4/4] Rename MAX_SCORE -> MAX_HIT_RESULT. --- osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs b/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs index 0448ee5367..d9e81d4d77 100644 --- a/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs +++ b/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs @@ -10,7 +10,7 @@ namespace osu.Game.Modes.Taiko.Judgements /// <summary> /// The maximum score value. /// </summary> - public const TaikoHitResult MAX_SCORE = TaikoHitResult.Great; + public const TaikoHitResult MAX_HIT_RESULT = TaikoHitResult.Great; /// <summary> /// The score value. @@ -30,12 +30,12 @@ namespace osu.Game.Modes.Taiko.Judgements /// <summary> /// The maximum score value for the combo portion of the score. /// </summary> - public int MaxScoreValue => NumericResultForScore(MAX_SCORE); + public int MaxScoreValue => NumericResultForScore(MAX_HIT_RESULT); /// <summary> /// The maximum score value for the accuracy portion of the score. /// </summary> - public int MaxAccuracyScoreValue => NumericResultForAccuracy(MAX_SCORE); + public int MaxAccuracyScoreValue => NumericResultForAccuracy(MAX_HIT_RESULT); /// <summary> /// Whether this Judgement has a secondary hit in the case of finishers.