>>683
@LOOP
GOSUB@BTN
VSYNC 1
GOTO@LOOP
@BTN
B=BUTTON()
IF B AND 1THEN Y=Y-1
IF B AND 2THEN Y=Y+1
IF B AND 4THEN X=X-1
IF B AND 8THEN X=X+1
LOCATE X,Y:?"人
RETURN
こんなんでいいんじゃね
@LOOP
GOSUB@BTN
VSYNC 10
GOTO@LOOP
@BTN
B=BUTTON()
IF (B AND 1) AND Y>0 THEN Y=Y-1
IF (B AND 2) AND Y<23 THEN Y=Y+1
IF (B AND 4) AND X>0 THEN X=X-1
IF (B AND 8) AND X<32 THEN X=X+1
LOCATE X,Y:?"人
RETURN
>>703
そのプログラムだと、障害物ごとにIFが必要なのかな?
もし、そうなら次の2つの方法がある。
1)配列変数
DATA 障害物左端座標,上端,右端,下端
FOR I=0 TO 障害物数-1
READ SLX(I),SLY(I),SRX(I),SRY(I)
NEXT
'----
FOR I=0 TO 障害物数-1
IF BB>SLX(I) AND BG>SLY(I) AND BB<SRX(I) AND BG<SRY(I) THEN NS=1
NEXT