010 REM MINE 100 CLV:CLS 110 X=15:Y=11 120 FOR I=0 TO 22 130 LC 0,I:? CHR$(01): LC 30,I:? CHR$(01) 140 NEXT 150 FOR I=0 TO 30 160 LC I,0:? CHR$(01): LC I,22:? CHR$(01) 170 NEXT 180 Q=RND(27)+2: R=RND(19)+2 190 IF (X==Q)OR(Y==R) GOTO 180 191 REM LC Q,R:? CHR$(#FF) 200 FOR I=1 TO 5 210 [2*I-1]=RND(27)+2: [2*I]=RND(19)+2 220 IF (X==[2*I-1])OR(Y==[2*I]) GOTO 210 230 REM LC [2*I-1],[2*I]: ? "*" 240 NEXT 250 LC X,Y:? CHR$(#ED) 260 A=X:B=Y 270 IF BTN(LEFT) X=X-1 280 IF BTN(RIGHT) X=X+1 290 IF BTN(UP) Y=Y-1 300 IF BTN(DOWN) Y=Y+1 310 IF BTN(SPACE) GOTO 999 320 IF X<2 X=2 330 IF X>28 X=28 340 IF Y<2 Y=2 350 IF Y>20 Y=20 360 IF (X==Q)AND(Y==R) THEN GOTO 990 370 FOR Z=1 TO 5 380 S=[2*Z-1]: T=[2*Z] 390 IF (X==S)AND(Y==T) THEN GOTO 995 400 IF(((S-1<=X)AND(X<=S+1))AND((T-1<=Y)AND(Y<=T+1))) THEN PLAY "O2E32R32E32" 410 NEXT 420 IF(((Q-1<=X)AND(X<=Q+1))AND((R-1<=Y)AND(Y<=R+1))) THEN PLAY "O5C16R16C32R32C32" 430 LC A,B:? " " 440 GOTO 250 990 PLAY "O4G16R16B32R32O5C32R32": GOTO 999 995 PLAY "O4G8B-16C16": GOTO 999 999 CLS:END
ところでIchigoJamのver1.2.3で実行すると、400行目と420行目でComplex expressionエラーが起きてしまいます。これは()の入れ子が深くなりすぎたために起きるエラーです。一番外の()は不要なので、これを取ると動くようになります。他にも、比較演算子の評価値を別の変数に入れておくとか、ABSコマンドを使うなどの改良方法もあります(可読性を考えるならこちらの改良が良いでし
音だけをヒントにゴールを目指すシステムが面白いですね。一歩一歩に緊張感があって楽しい!