2014年8月4日月曜日

1チップMSXでゲームを BASICのMID$ 32×21マップ ファイル読み書き




 今回も続きます。文字数が増えるとデータエリアを確保する必要があります。
1020行ではCLEARで3000とおおざっぱに書きました。
次に1030行は不具合のあるコードを省いた文字コードを文字列にしています。
1040行は選択画面で1050,1060行が分岐しています。
後は1100行にA$(I)=に32文字の海のコードを入れてから、
DATAから読み込んだREAD文のR$を上書きしています。
 MSXのMID$はA$=MID$と右辺にMID$が多いのですが、
このMID$は左辺のMID$でデータを上書きするようなことができます。
データが0000だった場合に123をMID$で入れると
MID$("0000",1)="123"なら1230、MID$("0000",2)="123"なら0123になります。


というふうに32×21マップという新しいデータ形式に対応させてみました。
あとはF2でLOADとF5でSAVEできます。
ファンクションキーを押せばできるように
ONKEY~GOSUB命令を使いました。
この命令を使うと処理中でも割り込んでしまうので、
入力待ち状態ならば割り込み可能にしてみました。
あと、サブルーチンを書く前にKEY(2)OFFというふうに
割り込みを切るようにします。まぁ
とりあえず、A.GRPのファイル名をロードしてみました。



このようにデータをロードできるようになりました!
これでやっと、建物を作ったり、いろいろなマップを作って保存できますね。

0 件のコメント:

コメントを投稿