!!!担当 佐々木優菜子 !!!モジュール概要 判定関連のモジュールです。譜面データの仕様に大きく依存するので、譜面データの仕様ができるまでは作れないと思います。 !!!initjudge(void) 各判定数を初期化します。clear画面でデータを使い終わった時、gameover画面、game画面の最初で呼び出してください。返り値はありません。 !!!judgejudge(引数未定) game画面で、ボタンを押された時に呼び出してください。そのときの判定を返します。 !!返り値 ||0|判定なし(ノートは消えず、ライフやスコアの増減もありません) ||==1==|==MISS==(以下、判定ラインに一番近いノートを消してください) ||2|GOOD ||3|GREAT ボタンが押された時のMISS判定削除の理由は後述メモにて !!!missjudge(引数未定) game画面で、毎フレーム呼び出してください。押されるべきキーが一定時間押されなかった時、miss判定があったことを返します。 !!返り値 ||0|判定なし ||1|MISS発生 !!!confirmjudge(var judge) 各判定の数が知りたい時に呼び出してください。引数に応じた各判定の個数を返します。 !!judge ||1|MISS ||2|GOOD ||3|GREAT !!返り値 judgeで指定された判定の個数。引数がおかしい場合は-1を返します。 !!!判定の仕様 細かい数値は変更の可能性があります。 !!GREAT 正しいタイミングから±25フレーム(±約0.42秒に相当)以内 !!GOOD 正しいタイミングから±60フレーム(±1秒に相当)以内かつGREATではない !!MISS 正しいタイミングから+61フレーム以上(つまりは、ノートを逃した時)
これだけはmissjudgeで判定します。 !!判定なし ボタンを押したタイミングがあまりにもずれすぎている場合は判定をカウントしません。 !!メモ もともとは押したタイミングがずれすぎている時にもMISS判定を出そうかなと思っていましたが、ハードなのはコンセプトに合わないかなと思い、ノートを押し忘れたときだけMISSを出す仕様にしました。判定がゆるめなのも。