[BMS]トータルゲージ計算機

Information

Delight Delight Reduplication Support PageのBBSからの転載。

From: Kappe<mkappe@livedoor.com>
Date: 2001/07/18 16:37:23
In-Reply-To: #3195
Comments: #3213 

>にっくる様へ

あれから、TOTAL値の出し方をもう一度調べて、
計算式を考えてみたんですが、最終版としては、

T.NOTESが「1〜399」の時は「200+(T.NOTES/5)」
 「400〜599」の時は「280+((T.NOTES-400)/2.5)
 「600〜」の時は「360+((T.NOTES-600)/5)

っていう風になりました・・・。
この計算式で出すと、もうバッチリ本家の感覚です。
かなり自信があります、これは。

・・・でも、こういう事はにっくる様に任せますね。
一応、要望という事でお願いします。

一方BMSの標準解釈はBM98ヘルプファイルより、

#TOTAL xxx 
ゲージの増量を設定します。
"xxx"には十進数の数字が入り、全てのオブジェでGreatを出すとxxx%分のゲージが増えます。
省略した場合は、 200+オブジェ数と見なされます。

だそうです。どちらもかなり古い記事なので現在のIIDXやBMS再生ソフトがどのように変化しているかは定かではありませんが、これらをJavaScriptにて表現すると例えば以下のとおりです。

外部スクリプト

//total.js
//トータルノートからトータルゲージを計算

function calc_total(){
    Gauge = eval(0);
    Note = eval(document.form.T_note.value);

    if (Note < 1){
        Gauge = 0;
    }
    else if (Note < 400){
        Gauge = 200+(Note/5);
    }
    else if (Note < 600){
        Gauge = 280+((Note-400)/2.5);
    }
    else if (Note >= 600){
        Gauge = 360+((Note-600)/5);
    }

    document.form.Message1.value = (Gauge);
}

function calc_default(){
    Gauge = eval(0);
    Note = eval(document.form.T_note.value);

    if (Note < 1){
        Gauge = 0;
    }
    else{
        Gauge = 200 + Note;
    }
    document.form.Message2.value = (Gauge);
}
HTML部

<script type="text/JavaScript" src="./total.js"></script>
<noscript><p><em>JavaScriptが無効のようなので動作しませんです…。</em></p></noscript>

<form name="form" action="#">
<ul>
<li>トータルノート
<input type="text" size="10" name="T_note" value="0" 
onkeyup="calc_total();calc_default()" 
onmouseup="calc_total();calc_default()"><ul>
<li>トータルゲージ (#total)
<input type="text" size="20" name="Message1" value="0" readonly></li>
<li>#total省略時の標準解釈
<input type="text" size="20" name="Message2" value="0" readonly></li>
</ul></li>
</ul>
</form>

これを実際に動作させると以下のフォームのようになります。BMS作成で利用したい人はどうぞ。

フォーム

使い方

計算させるには

  1. トータルノートの入力欄に半角数字を打ち込む。

以上(笑)。だって本当にそれだけだから。

連絡先

admin #268
mail&msn pms268sugarplum@[ホットメール]