exch-bms2 / beatoraja

Cross-platform rhythm game based on Java and libGDX.
GNU General Public License v3.0
642 stars 148 forks source link

Fixed of score calculation process related to score ranks #744

Closed Getaji closed 1 year ago

Getaji commented 1 year ago

スコアランク (AAAなど) に関連する一部の計算処理を修正します。

in ScoreDataProperty

nextrankの算出時、次のランクまでの差分の小数点以下の四捨五入を切り上げに修正しました。

例えば、1771ノーツの譜面のAランク下限スコアは (1771 * 2) * (6 / 9) = 2361.3333333333335 です。そして「Aランクの下限以上 (Greater than or Equal)」の最小の整数は2362なので、スコア2361はA-1となります。従来は四捨五入だったのでA-0になり、それ以上(AAまで)計算されていませんでした。B(A+0)やAA(AAA+0)のような表記になることが稀にあるのはこれが原因です。

in StaticTargetProperty, NextRankTargetProperty

スコアランクのレートからターゲットスコアを算出する際に小数点以下の切り捨てを切り上げに修正しました。前項の例だとAランクのスコアが2361から2362になります。もっと確認しやすい例だと2000ノーツのAAAスコアが3555から3556になります。