LAST:2009-03-24
簡単なゲームをつくってみました。
モニタで
USER 15D0
R
として、PCからHITOG101.HEXを転送してください。
G100
でゲームが始まります。
※PC-G850Vでのみ動作確認しています。
[4][6][2][8]……カーソル移動
[SPACE]……強制スクロール
[CLS]……効果音ON/OFF切り替え
[SHIFT]……ポーズ/解除
[BREAK]……終了
一筆書きの要領で線を引いてスクロールしてくるブロックを消すゲームです。
カーソルを動かすと、墨が残ります。墨は縦に一列そろうと点滅して消えます。このときブロックを含んでいれば得点になります。
画面は右から左にスクロールしていきます。カーソル、ブロック、墨のどれかが左の点線を越えるとゲームオーバーです。また、カーソルが移動不能の場合もゲームオーバーです。
ブロックをひとつ消すと10点、列が点滅中さらにブロックを消すと得点は倍になります。
なお、点滅中カーソルは左右にしか移動できません。
スクロールは一定時間ごとに速くなります。
無駄にプログラムが大きくなってしまいました。
プログラムは0100Hから0E26Hまでで、それ以降はワークです。またリザーブエリアの0C8H〜も使用しています。
LIB.ASM はキー入力や仮想VRAM表示等のゲームに必須のルーチンをまとめたものです。
仮想VRAMは無駄に大きく(横256ドット×7段で1972Byteも!)取ってあります。こうすると座標計算が楽になるので^^
キー入力ですがポート12Hに出力するのはビット6,7ではなくて0,1ですね。しばらく悩んでしまいました。
E500版は5行、こちらは8行表示です。行数が偶数だと難易度がけっこう上がってしまいますね。難しいかな……。
それと、出来ればブザーを付けてプレイしてみてくださいね。
ゲーム制作にあたって、ネット上のさまざまな解析情報を参考にさせていただきました。
LINK:秋日和 さん
LINK:Gadget Factory さん
LINK:COSMO PATROL さん
ほか多数。感謝!
#1.00 2006-09-15 初版。
#1.01 2006-09-28 細かい修正。