さっそく、
・MAP(1面だけ)
・MAP表示
・移動
プログラムを作成。
MAPは昨日作ったものを DATA文にして、単純にREAD命令で画面に表示しています。
昨日のの画面はPRINT命令やCOLOR命令で表示しただけです。
どんな感じになるか、確認する上で重要です。
移動は進行方向に壁がない場合進むしか判断していないので、移動すると
荷物とか消しまくります。これも操作がどんな感じになるか確認するためです。
@MOVE
B=BUTTON(1):DX=0:DY=0
IF B==0 THEN RETURN
IF B==1 THEN DY=-1
IF B==2 THEN DY=1
IF B==4 THEN DX=-1
IF B==8 THEN DX=1
CK1=CHKCHR(PX+DX,PY+DY)
IF CK1==ASC("壁") THEN RETURN
LOCATE PX,PY:?" "
PX=PX+DX:PY=PY+DY
LOCATE PX,PY:?"人"
WAIT 2
RETURN
この辺は基本的な手法なので説明はいらないですよね。
ココでプチコンらしい命令を紹介します。
BREPEAT命令 です マニュアル見ていて発見しました
この命令は『ボタン連射情報の設定』で、パソコンのキーボードのオートリピートの
役割をしてくれます。
具体的に言うとキーを短い時間押しても1つしか文字は入力されないけどある
一定の時間押し続けると連続して入力されますよね。その設定ができるのです。
FOR I=0 TO 3
BREPEAT I,40,10
NEXT
これをプログラムの最初に設定しておけば、
ボタンを押した瞬間 入力 そのまま押していれば 40/60秒後に次の 入力 が始まり
更にそのまま押していれば、10/60秒間隔で 入力 を切り返してくれます。
この機能は元来自分でプログラム書いていたんですが標準命令で用意して
あるのは便利ですね。(この機能が無いと全速で人が移動しまくるのでGAMEにならない)