« 原美術館(終了間近)と「ゲイトウエイ」 | トップページ | アマビエ狂想曲 »

N-BASICでプログラム(1)

昔取った杵柄。
パソコンミニのN-BASICで、当時よくあったタイプのゲームを作ってみました。

このゲームのプログラムには、BASICでのゲーム作りによく使うパーツがいくつも含まれています。
BASICプログラムに興味ある方は参考にしてみてください(いるのか、そんな人?)

【 ARIGACHI CHASE! 】

Nbasic05
(ゲーム画面1)

水色のスペードマークを[WASZ]で操作して、赤いクローバーから逃げながら、黄色いダイヤを集めます。
スペースキーで穴(○)を作って、クローバーを落とすと高得点。

*にぶつかったり、クローバーに捕まったり、TIMEが0になるとゲームオーバーです。

 

Nbasic06

敵が移動した跡にはドットが置かれます。
ダイヤやドットを取ると、得点とTIME加算。

まあ、そんな感じのゲームです。

以下がプログラムです。
textファイルにできないので写真で…そこそこの分量ですが…。

定石的な部分に関して、説明も書いてみます。

Nbasic01_640
(クリックで拡大します)

10〜200行。
ゲームスタート〜プレイヤーキャラを動かしている部分の途中まで

CONSOLE 0,25,0,1:WIDTH40,25

画面の諸設定。横40キャラ設定です。おまじないのようなもの。

DEFINT A-Z

変数を整数に限定します。これをやると処理速度が少し早くなる。

PRINT CHR$(12)

画面消去の呪文です(笑)。なぜかこれで画面がクリアされる。

IF INP(2)=253 THEN …

INP関数は、キーが押されているか調べるコマンドです。各キーの対応はこちらのページが詳しいです。
本来、テンキーの2468にするのが遊びやすいんですが、うちのキーボードがテンキーなしなので、WASZにしてます。

IF INKEY$=" " THEN …

こちらもキーボード入力のコマンドで、スペースキー" "を押すことで動作させています。

こっちの方がINPよりわかりやすいのですが、押しっぱなしだと変なキーリピートがかかるなどゲーム操作には使いにくいです。(こちらもINPでもよかったのですが、サンプルとして色々使ってみたかったので)

PK=PEEK(&HF302+(Y+AY)*120+(X+AX)*2)

PEEKで画面の進行方向座標にどんなキャラクター(文字)が描かれているか調べて、当たり判定をしています。
&HF302+Y座標*120+X座標*2 …は画面を調べる時のおまじないみたいなものです。横40モードのみの呪文だったかな。

ちなみに私の当時の愛機X-1には、CHARACTER$(X,Y)というコマンドがあって、わかりやすかった。

Nbasic03_640

210〜400行。
冒頭はプレイヤー関連、250〜は、敵キャラを動かしている部分。
プレイヤーキャラ部分と似たようなことをしているだけなので、特に説明なし。

処理速度が遅いので、毎ループで敵キャラ4体中の1体だけをランダムで選んで動かしています。

Nbasic02_640

400〜500行。
ステージ作成〜スコアやTIMEを書いている部分。

PRINTUSING"SCORE ######";SC

は、SC(得点の数値)を右揃えで表示します。

Nbasic04_640

500行〜。

タイトル部分。
冒頭でここに飛んでタイトルを表示しています。
ゲームオーバー時には620に飛んできます。

IF INKEY$=CHR$(13) THEN …

CHR$(13)はリターンキーのコードです。
リターンを押すと、ゲームスタート/リスタートします。

COLOR RND(1)*7

ループでタイトルを七色にチカチカさせています。当時の定番ですね。

-----

Javascriptなど他の言語に比べても、BASICはやりたいことを圧倒的に簡単に書くことができることを、改めて実感しました。
入門としては素晴らしい言語ですよね、BASIC。ビル・ゲイツ、偉大だ!
(まあ、作れるもののクオリティは、それなりのものになりますけどね)

このプログラムを書きながら、結構、昔の記憶が蘇ってきたのですが、
それでも、思ったように動かずに悩んで時間がかかったところも、いくつかありましたね。
当時だったらもっとすんなりできてたろうに…。

時々キャラクターの色が指定と違うものになることがあります。
プログラム的にはありえない(ように思う)ので、なぜ起こるのかわかってません。
パソコンミニのバグなんじゃないかと思ってますが…。
(まあ、私が気づいてないところで何かプログラムミスがあるのかもしれませんが)

(2020.10.26)

|

« 原美術館(終了間近)と「ゲイトウエイ」 | トップページ | アマビエ狂想曲 »

ゲーム」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 原美術館(終了間近)と「ゲイトウエイ」 | トップページ | アマビエ狂想曲 »