★あそびかた
画面上から次々と増殖してくる球をクリックして消していくだけです。俗に言う「落ち物」の一種です。データイーストのマジカル・ドロップ2を見て作成しました(別物になってしまいました^^)
同じ色の球を消していくと、得点倍率が上がっていきます。
ただし、その列の一番下にある球しか消すことはできません。
次第に球が増殖する速度が速くなります。
★得点配分
各色の球の得点は以下のようになっています。同じ球をクリックして消していくことにより倍率が上がっていきますので、以下の得点に倍率をかけたものが実際に加算されるスコアになります。
10点
20点
30点
40点
★プログラムで使用している変数および関数
プログラムで使用している変数の役割(用途)と関数の一覧です。
◆変 数
scrn |
仮想画面 |
line |
1列の球の数(長さ) |
bdr |
実際の画像オブジェクトの位置 |
high |
ハイスコア(未使用) |
score |
スコア |
speed |
速 度 |
tID |
割り込み用 |
bai |
倍 率 |
old |
以前の球の番号 |
sy |
実際の画面の表示座標 |
img |
プレロード画像用 |
◆関 数
makeScreen() |
ゲーム画面描画(初期化) |
start() |
ゲーム開始処理 |
main() |
メイン処理 |
check(no) |
クリック時の当たり判定処理 |
上記以外の変数は一時的に使用されているものです(ループカウンタ用など)。プログラムの最後の方で
var img = new Image()
img.src = "gdata/1.gif"
とありますが、これは画面に表示せずに画像を読み込ませるためのものです。画像のプレロードとも言います。このゲームだけが、この方法を使用しており、その他のゲームでは別の方法で読み込んでいます。
★注意事項
プログラム上での注意事項を書きます。Netscape Navigatorは、1回目にタグをチェックし2回目にタグとスクリプトを実行します。そのため、画像の配列を使用する場合、今回のようなスクリプトで書いたものは1回目に読み込まれた画像配列番号の次の番号からになります。例えば
(1)<IMG SRC="1.gif">
(2)(スクリプトで<IMG SRC="0.gif">を書き出す)
(3)<IMG SRC="2.gif">
という場合は配列参照番号は以下のようになります。
(1)【参照番号0】
(2)【参照番号2】
(3)【参照番号1】
つまり順番が変わってしまうという事ですので、プログラム作成時には注意する必要があります。