2024/08/17追記
iosアプリとしてリリースしているのでこちらからどうぞ!
–追記ここまで–
前回の記事の最後に、次のスコランは色を取りたいとか言っていたら、
その二日後の対バンで、理論編成が組めたので参加しましたが、13位でした。(´·ω·)
ボードに残るためには、ボードの人がどのスキル順で出したスコアかを知る必要があります。
今までは有識者が聞いていましたが、この際自分でスコアできるようになろうと思い立ち、
巻き込みを考慮したスコア計算ツールを作りました。(・ω・´)
とっても複雑なので、ハイレとかスコランやる人向けです。
はじめに
1ノーツあたりのスコア計算式は以下を参考にしています。
ガルパの計算式についての覚え書き
4年以上前の記事ですが、計算式は合っているようです。
スコア計算のための構成
今回の構成は2ファイルのみです。
先述のスコア計算式で使用される数字のうち、
変数にあたるものを「input.json」に記述し、変数と計算ロジックが「scorecalc.js」です。scorecalc.jsはinput.jsonを読み込みスコアを計算します。
最初はGUI作ろうとしていましたが、本筋ではないところでハマりまくったので、CUIで動くやつです。
プログラマーは黒い背景に緑文字が好きです。
実行結果
2ファイルを同一フォルダに置いて、node scorecals.jsと入力するだけです。
結果は以下のように、スキル順(skillorder)と最終スコア(finalscore)が表示されます。
input.json(入力ファイル)
ロジックの方はリファクタリングできてなくてなんか恥ずかしいので、input.jsonをのせておきます。
スコラン時のFreedomの例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
{ "music_level":25, "total_band_score":429766, "total_notes":649, "g_notes":[ { "notes":200 }, { "notes":390 } ], "card":[ { "card_num":1, "skill":"110_F", "g_skill":110 }, { "card_num":2, "skill":"110_S", "g_skill":90 }, { "card_num":3, "skill":120, "g_skill":0 }, { "card_num":4, "skill":115, "g_skill":80 }, { "card_num":5, "skill":125, "g_skill":0 } ], "s1_info":{ "s1_start":96, "s1_end":131 }, "s2_info":{ "s2_start":156, "s2_end":200 }, "s3_info":{ "s3_start":391, "s3_end":438 }, "s4_info":{ "s4_start":461, "s4_end":509 }, "s5_info":{ "s5_start":530, "s5_end":575 }, "s6_info":{ "s6_start":595, "s6_end":632 } } |
変数(曲ごとに違う要素)は、なにが必要かと考え以下のようになりました。
- music_level:楽曲レベル
- total_band_score:総合力
- total_notes:総ノーツ数
- g_notes:Gで取りたいノーツ
- card:使用するカードの詳細
- card_num:連番
- skill:PERFECTの場合のスキル(FとSとかついてるのはGスキルが異なるのを区別するため)
- g_skill:GREATの場合のスキル
- sX_info(Xは1から6、スキル適用範囲の始点と終点)
- sX_start:始点
- sX_end:終点
対応できる巻き込み
今のところ対応できる巻き込みは以下です。(凡例:始点-終点)
- P-P
- P-G
- G-P
- GP-P(P)
これぐらい計算できれば、あらかたいけるとは思いますが、
- スキルノーツと後ろのノーツ入れ替えてGG-G(P)にするでぃ
- ロングの終点を引き伸ばして、後ろにあるスキルに巻き込むでぃ
とかは、順序がぐちゃぐちゃになるのでちょっと難しそうです(´·ω·`)
最後に
これで天井スコアを意識しながら、ハイレやスコランをできるようになりました。
あ、でもたまに計算が合わない時があるみたいです。(FreedomのS1の101~131は1点少ない)
今日も元気にG巻き込みでGOODを出していくでぃということで、また会いましょう*˙︶˙*)ノ”マタネー
コメント