2ステージ式タイムアタック
まず、これは、得点式クリアシステムよりも設置が複雑です。
正男の下の部分だけでなく、ステージの部分の変更も必要です。
もし設置するのであれば、サンプルも参考にしてください。
まず、四ステージ版の正男を用意します。
そして、ステージ1は下のように正男を固定して必ず星を取るようにしてください。
そして、ステージ2に通常のステージを作ってください。そのあと、
stage_maxを2に、score_1up_1、score_1up_2、jibun_left_shokiを0にしてください。
これで、正男の方の設定は完了です。
次にスコアランキングのほうの改造ですが、下の部分を見てください。
まず、上のタグの「time = 1000」の部分は正男に設定したタイムを入れてください。
バグチェックの欄は、あくまでも動作確認&元の値を表示する用なので、
バグチェック用と書いてある列を抜いても動作します。
あと、コメントアウトの部分はメモなので、抜いてもかまいません。
そしたら、実際にこのシステムを使う正男を開いて、
</CENTER>の下に貼り付けてください。(下図参照)
スコアランキング対応版の正男にこれを貼り付ける場合は、
の部分を削除して、その部分に初めのタグのうち、
document.F1.f2.value = c //前回の記録を残す
ctest = b - a //バグチェック用
document.F1.f3.value = ctest //バグチェック用
の部分を削除してから、
「nc = 0 //自動更新用」から、
else if(highscore >= time) {a = new Date();}}の部分までを貼り付けてください。
そのあと、「得点 <input type="text" name="score" size="10" value="0">」の部分を、
「得点 <input type="text" name="score" size="10">」に変更してください。
ただし、注意点は上位になるほどかかったタイムが短くなるため、
sr.cgiを改造して逆順に並べるようにするか、
if (d > c){document.f.score.value = c}の部分を
if (d > c){document.f.score.value = time - c}に変えて、
残りタイムを表示するようにした方がいいです。
※このシステムはスコアランキング対応版の、スコアを読み取る機能を使っています。
なので、mc_c.zipは、必ずスコアランキング対応版のものを使ってください。
ただタイムを表示するだけであれば、jcode.pl・ranking1.dat・sr.cgiは、必要ありません。
スコアランキング対応版として使うときには、上の変更をした上で、
スコアランキング対応版の説明に従ってください。
・おまけ(技術的なことに関して)
タイムはnew Date()で開始時と終了時の時間を取得して、
その差を求めた後、測定開始と測定終了の間のロスの分(5秒)を引いています。
そのため、javascriptの方は実際の時間とほぼ誤差が無いと思いますが、
正男のタイムは負荷によって少し変わるため、実際よりも多くカウントされます。
誤差は5秒単位でしか修正できません。
そのため、正男のタイムとjavascriptによって取得される
タイムに5秒よりも差が出た場合、タイムが通常よりも多くなります。
バグチェック用の欄に表示されるものは、
開始時と終了時の差の分で誤差調整をしていない値です。
・2006年6月5日追記
要望がありましたので、忍耐正男など、
星を取らない正男用のスクリプトも用意しました。
2番目のテキストボックス内の代わりに使ってください。
・星を取らない正男用のソース 忍耐正男サンプル
戻る