N-BASICでプログラム(2)
以前の記事に引き続き、またパソコンミニのN-BASICで、当時よくあったタイプのゲームを作ってみました。
今度は、画面スクロールするゲーム。
画面下端にキャラクターを表示すると強制的に上にスクロールするという仕様を使ったもので、当時よくこの手法が使われてました。
【 ARIGACHI DIVE! 】
海底洞窟を下に向かってどんどん下降していきます。下がれば下がるほどスコアが上がります。
赤い怪魚や、側面の壁にぶつかったり、酸素(OXIGEN)が0になるとゲームオーバー。
黄色いタンクを取ると酸素が加算されます。
スコアが上がると、洞窟は徐々に狭くなります。
ちなみに、処理速度の問題で、動作はかなりゆっくりです…。
ちょっとコツがつかめると、永遠に終わらないかもしれません…。
以下がプログラムです。
10〜210行。
ゲームスタート〜メイン。
155行で スクロールさせるためのサブルーチン220行にGOSUBで飛んでいます。
そのほか特に目新しいことはなし。
220〜400行
305行で、Y座標25の場所に両側の壁を描いていますが、これによって画面が上に強制スクロールします。
LOCATE RX,25:PRINT"□□□□";:FOR I=0 TO LN:PRINT" ";:NEXT:PRINT"□□□□"
久しぶりで忘れていたのですが…
処理速度を上げるため、通常PRINT文のダブルクオートの後には"XXXX";のように;を書いているのですが、スクロールさせたい時には、;を書いてしまうとうまくいかなくなるようです。(改行しなくなるからだと思う)
ちなみにPRINT文の間のFOR〜NEXTは、スコアによって洞窟の幅を変える処理です。
400行〜
死亡処理と、タイトル画面。前回とほぼ同じですね(手抜き)。
ところで…今回RENUMをし忘れて、行番号が10刻みになってません。
後で気がつきました…。
2回にわたって、N-BASICのプログラムを書いてみました。
今になってN-BASICをやろうと思う人はまずいない、とは思いますが…
今回、私自身がネットで調べても情報が少なくて困ったこともあり、滅多に使われないレガシー情報でも、書いておけば稀に助かる人もいるかもしれない…と思った次第です。
(2020.11.30)
最近のコメント