PC6001NOTE No.9 - バランス

Home PC-6001mkII Program etc

同人誌投稿プログラムの余談

バランス (PC6000NOTE No.9)
◆遊び方◆

 画面内の数字を取っていくアクションゲームです。

画像

 画面内の数字を左右の自機でバランスよく取っていくアクションゲームです。

 カーソルキーの左右で、2つの自機(V)を同時に操作します。自機のどちらかが数字を取ると、取った数字の二乗の得点が入ります。

 画面上部の●は、バランスゲージを表します。左の自機で取ると左方向に、右の自機で取ると右方向に、取った数字の分だけ移動します。

 バランスゲージが左右の端を越えるか、もしくは左右の自機のどちらかが障害物(*)に当たるとゲームオーバーとなります。 あなたのバランス感覚はいかほどか?


◆プログラムについて◆

 バランスゲージの振れ具合と障害物のあたり判定は、今回配列変数を使いました。
 判定で登場するキャラクタは、空白(キャラ番号32), 数字(同48〜57), 障害物(同42)の12種類です。今回の仕様では、1行に2つ以上の数字または障害物が出ることはないので、左右の自機のうちどちらかは必ず空白(32)となります。

 ということで、左右の自機位置にあるキャラ番号の差分をとり、さらに結果が0以上になるように補正で+25して、配列変数への代入を行いました。
 0〜8:右に振れる(設定値9〜1)
 42〜50:左に振れる(設定値-1〜-9)
 0:どちらにも振れない(設定値0)
 15 or 35:障害物に当たった(設定値99)

 音は、久々にPLAY文のNコマンドを使用しました。変数の値を音階に変えて出力するという変わった機能ですが、今回は割と効果があったように思います。


◆リスト◆

(同人誌 No.9に記載しています。)


◆その他余談◆

 今回は、2つの自機を気に掛けるだけでなく、どちらかが多く数字を取りすぎないように気を配るという、人生の縮図のようなゲーム(大げさ)です。
 この「バランス」をどう視覚化するかで、今回結構悩みました。状態によって自機の表示を変えるか、画面上に数値表示するか…。
 結局、画面上にマーク表示でようやく落ち着きました。

 このゲーム、作成中はエミュのN60-拡張BASICで作っていた(ディスクイメージに保存する方が楽なので)のですが、一通り作成してからN60-BASICで試すと、なぜか「?OS Error(Out of String Space Error)」が…。
 N60-拡張BASIC の方が、未定義で使用できる文字領域が大きい事に初めて気づき、プログラムの変更を余儀なくされました。



PC-6001mkII