【音ツツ】最初にExcelで作ってみる【音ゲーツールを作ろう】 #001
[2024/04/17]
割と思い付きで始めた企画なので、方向性があまり定まっていなかったりしますw
作りたいものをイメージする
「プログラミング=コードを書く」って思われがち、というか少なくとも自分はそう考えていました。
もちろんコードを書くことは必要ですが、「どうやったらそれが作れるか」を考えるのが重要だと思うようになりました。
例えばIIDXのスコアレートを算出するプログラムを作るとします。
スコアレートであれば計算式を知ってる人も多いと思いますが、まずはどういう計算式になっているかを確認します。
今回のスコアレートの場合は、「スコアレート=EXスコア÷理論値(ノート数×2)」という式になっています。
ぶっちゃけこのくらいの計算式であれば頭の中で整理もできますが、もっと複雑な処理になったときは頭の中で整理しきれないこともあります。
まずはExcelで作ってみる
頭の中で整理できない。その時に自分は、まずExcelで作ってみます。
いわゆる仕様書やフローチャートにあたる部分?で分かりやすく言えば設計書を、自分の場合はExcelで試しに作るという方法を取ることが多いです。
インプットとして「EXスコア」と「ノート数」があり、わかりやすいようにいったん理論値を計算。そして最後にスコアレートを算出。
Excelであればどういう処理をしているかがわかる人も多いはず。
これをJavaScriptのコードにすると以下の通りになります。
let ex_score = 3933
let notes_count = 2000
const max_score = notes_count * 2
const score_rate = ex_score / max_score
実際は直接数値を入れたりはしませんが、だいたいこんな感じです。
インプットの値を取得したり、結果を出力するコードは必要ですが、計算するコードはExcelの計算式とほとんど変わりません。
Excelで苦労するものはプログラムでも苦労する?
何かを自動計算するツールを作るときに、Excelで試しに作っている訳ですが、内容によってはExcelで作るのに苦労またはうまく実現できないこともあります。
「こういう計算ツールを作りたい!」というイメージを、Excelで具体的なものにすることでどうやって作るかが見えてるんですが、Excelに落とし込めないものはプログラミングでもうまく作れないです。(絶対作れない訳ではないですが)
今回作成したコード
さいごに
スコアレートを計算するだけのプログラムでは需要はないと思います。
でも、IIDXのスコア関係のツールを作る際は必ず出てくる処理です。自分も何度この処理を書いたことか…。