コンボ・スコア計算
このページでは、コンボ数の計算や、スコアの計算の方法を紹介します
コンボ
プロセカのコンボ計算では、単ノーツ(タップノーツ・フリックノーツ)それぞれが一つとして数えられ、スライドノーツでは、まず始点及び終点が二つ、ダイアモンドが置かれている中継点(可視中継点+無視中継点)の数、及び経過している半拍の数を合わせた数である。
総コンボ数 total_combo の計算は以下のような擬似コードの通りである。
function calculate_diamonds(steps) := filter(λ(step).(step.diamond), steps).length()
function calculate_hidden(head, tail) := floor((tail.tick - head.tick) / (TICK_PER_BEAT / 2) - 0.5)
function calculate_slide(slide) := 2 + calculate_diamonds(slide.steps) + calculate_hidden(slide.head, slide.tail) // head (=1) + tail (=1) + diamonds + hidden
total_combo ← singles.length() + sum(map(calculate_slide, slides))
スコア計算
現在有力な計算式は
(総合力÷重み付きノーツ数)×4×重み×判定係数×レベル倍率×コンボボーナス×スキル倍率
である。
総合力
文字通り。
重み付きノーツ数
ノーツにはそれぞれ重みがある。
タップ : 1
フリック : 1
スライド始点・終点 : 1
スライド中継点・中継判定: 0.1
クリティカルタップ : 2
クリティカルフリック : 3
クリティカルスライド始点・終点 : 2
クリティカルスライド中継点 : 0.2
クリティカルスライド中継判定 : 0.1
また、可視・不可視中継点が重なっている場合は両方のスコアが加算される。
判定係数
PERFECT : 1.0
GREAT : 0.7
GOOD : 0.5
BAD : 0
MISS : 0
AUTO : 0.5
レベル倍率
レベル5から1レベル毎に0.5%上昇する。(例:レベル33 = 114%)
コンボボーナス
100コンボ毎に1%上昇する。
スキル倍率
カードのスコアアップでの倍率。