マイコンBASICマガジン1994年5月号掲載・シューティング


固定画面のシューティング。この滑らかな動きに注目

氷の上でBUG退治

1994年2月17日 作成



氷の上でBUG退治のイラスト


遊びかた

RUNして57秒待つとタイトル画面がでます。スペース・キー,またはトリガAでゲーム・スタートです。自機をカーソル・キー,またはジョイスティックで8方向に移動します。氷の上での移動なので,少しすべりやすくなっています。
スペース・キー,またはトリガAを押すと,自機の向いている方向に弾を発射(3連射)します。キーを押しっぱなしにするとPOWERがたまり,このとき画面上に4個あるボールの上でキーをはなすと,自機の向いている方向にボールを飛ばすことができます。
敵は,形と色で3×4=12種類いて,8方向(目玉のような敵は4方向)にランダム移動し,そのうちハエと目玉は,自機へ向けて弾を撃ってきます。敵を倒すには,2〜9発自機の弾を当てるか,ボールを敵に当て,上下左右の壁にぶつけると倒せます。ボールで倒したほうが,弾で倒すより高得点(+20点)です。
敵を倒すとENEMYのメーターが減り,0になると面クリアです。このとき,その面の得点がスコアに加算されます。全56面で単純な(?)エンディングがあります。
自機が敵や敵の弾に当たるとダメージを受け,6回ダメージを受けるとアウト。5回アウトでゲーム・オーバー。その面の最初からコンティニューできます。



プログラムについて

このゲームはSCREEN 5を使用し,ページ0がメイン画面,ページ1に表示文字を書き,COPY文でメイン画面に転送表示しています。ページ0,1だけを使用しているので,VRAM64KのMSX2でもOKです。
スプライトは最大32枚を使用し,すべてマシン語で1ドット単位で動かしています。また,正面向きと斜め向きのキャラクターをそれぞれ90度単位で回転させることにより,キャラクターが8方向を向くようにしています。



苦労した点

キャラクター(とくに斜め向き)の作成。ボールと敵,壁との衝突判定。



最後に

ボールの移動について説明します。ボールを飛ばすときPOWERが高いほど高速で遠くまで飛ばすことができます。ボールが壁に当たると第1図のように反射します。ボールが他のボールに当たると,移動量が交換されます。

≪第1図≫ ボールの反射




≪第1表≫ 変数表
I,J ・・・・・・ ループ用
N,P,N$ ・・・・・・ 雑用
C ・・・・・・ 面数
D ・・・・・・ 自機の残機
S ・・・・・・ スコア
R ・・・・・・ DA00H(ワークエリア用)
FNN(n) ・・・・・・ N$のn番目の文字を読む


≪第2表≫ メモリマップ
D1E0 ・・・・・・ メイン・ルーチン
D205 ・・・・・・ 自機移動
D3A8 ・・・・・・ 自機の弾移動
D3E7 ・・・・・・ ボール移動
D478 ・・・・・・ 敵の弾移動
D49C ・・・・・・ 敵の移動
D591 ・・・・・・ 敵の出現
D61E ・・・・・・ スプライト初期設定
D68C ・・・・・・ 敵との衝突判定
D709 ・・・・・・ スプライトの表示
D776 ・・・・・・ メーターの表示
D7CA ・・・・・・ 自機との衝突判定
D809 ・・・・・・ その他のサブ・ルーチン
D870 ・・・・・・ 移動方向データ
D880 ・・・・・・ キャラクター・データ
DA00 ・・・・・・ ワークエリア
DAC0 ・・・・・・ 敵の登場パターン



画面写真

ゲーム画面

≪写真1≫
これがタイトル画面です。ジョイスティ
ックとキーボードの両対応です
≪写真2≫
壁の外からはいってくるモンスターを
撃ち倒していきます
≪写真3≫
ボールの上でMAXパワーの弾を
撃つと飛んでいき敵を押しつぶす
ことができます
≪写真4≫
残機がなくなってしまうと
ゲーム・オーバーです



概要その1へ
概要その1へ戻る
シルゴンハーゲンのホームページ・MSX編へ
MSX編 トップへ戻る
シルゴンハーゲンのホームページ・メインへ
ホームページ トップへ戻る