久しぶりにJavaScriptを使ってのプログラムを作成中。
ちょっと前に上げたトリックスターのExcelをブラウザで見れるようにしようと目論んでます。
現段階では、
レベルを入力したらそのレベルで挑戦することが出来るクエスト、それで得られる総経験値等を出力できます。
JavaScriptはどこで何を間違えたかさっぱり分からないのが辛いですよね。
functionとfucntionの打ち間違いに気付かずに数十分停滞しましたよ(´д⊂
ブラウザの左下に「エラーが発生しました」とか出るだけで何をどう間違えてるのか分からんから、
1個ずつ検証していって地道に潰していくしかないんですよね。
やっかいなのは普通のプログラムとは違ってどこまで動くかというチェックが出来ないということ。
Visual Studio .NETとかだったら特定の行まできたら強制中断を掛けることだって出来ます。
もし出来ない開発環境でも、
cout << "check point 1" << endl;
の1行加えるだけで十分検証可能です。
今回の場合、
最初は一つの関数で全て処理してたのですが、
そこから別関数に分離しました。
そこでエラー発生。
ここで間違えるとしたら引数の受け渡しが殆ど。
しかし、受け渡す内容はコピペで設定したから間違えてるわけがない。
何か宣言し忘れた変数があるのか?
分離した関数の中を全てコメントアウト。
しかしエラー。
呼び出しそのものに問題があるのか?
その状態から呼び出すところもコメントアウト。
エラー。
……(´д⊂
どないせーっつーねん(´д⊂
で、気付くのにどえらい時間が掛かった、と。
関数名には注目したけど、
まさか型で間違えてるとは予想外だった。
そこのソースコード。
function RealLevel( PLv, Exp, Sum ){
var Count = 0;
while( true ){
if( Exp <= Sum ){
Sum = Sum Exp;
Count ++;
Exp = Exp + 20 * PLv * ( PLv + Count ) + 60; // 次のレベルの必要経験値に修正
}
else{
break;
}
}
Count = Sum / Exp + Count;
document.write(Count);
}
これ失敗だなぁ……。
これだと再計算できない(´д⊂
敵のレベルを上回ったとき獲得経験値が大幅に変更されるんですけど、
それに全く対処できない(´д⊂
うーん……。
どうしよう。
考えてるうちにもう寝る時間(´д⊂
そういや納豆に卵とめんつゆ掛けて食うのってめちゃくちゃ美味いですn