The MAZE mini

「壁延ばし法で最大15x15」という線を死守しつつ、ノーマルPB-100の544ステップに収めたバージョンです。

妥協した点は

・壁延ばしの起点を「端から順」にしたので、若干迷路に「癖」がある。

・壁延ばしの際の上下左右スキャンを、2方向で打ち切りにした。(壁が延々と伸びるのを防ぐため)半面、時々壁のない「広場」が生じることを許容した。

・迷路サイズ入力の際、サイズの上限や奇数チェックを省略した。

・3D表示の際、表示範囲を一マス分に縮小した。

・ゴールの設定を省略した。(従って迷路にゴールはありません)

[P0]

1 VAC:INPUT L:GOSUB #3:E=2:F=2

2 $=")]([\SQ\CR":X=E+H:Y=F-G:GOSUB #4:B$=MID(Z+1,1)

3 X=E-H:Y=F+G:GOSUB #4:D$=MID(Z+3,1)

4 X=E+G:Y=F+H:GOSUB #4:C$=MID(Z+5,1):PRINT:PRINT B$;C$;D$;

7 $=KEY:IF $="" THEN 7

8 IF $="5";IF C$="\CR";E=X:F=Y

9 IF $="1";K=G:G=H:H=-K

10 IF $="3";K=G:G=-H:H=K

11 GOTO 2


[P3]

1 Z=1:FOR Y=2 TO L-1:FOR X=2 TO L-1:GOSUB #5:NEXT X:NEXT Y

2 FOR I=1 TO L STEP 2:FOR J=1 TO L STEP 2:E=J:F=I

3 X=E:Y=F:GOSUB #4:IF Z=1 THEN 9

4 A=90*INT(RAN#*4:FOR A=A TO A+90 STEP 90:G=COS A:H=SIN A

5 X=E+G:Y=F+H:GOSUB #4:IF Z=0 THEN 8

6 X=X+G:Y=Y+H:GOSUB #4:IF Z=0 THEN 8

7 E=X:F=Y:Z=0:GOSUB #5:X=E-G:Y=F-H:GOSUB #5:GOTO 4

8 NEXT A

9 NEXT J:NEXT I:RETURN


[P4]

1 GOSUB #7:Z=INT(M/N)-2*INT(M/2/N:RETURN


[P5]

1 GOSUB #7:O(Y/2)=N*(Z+INT(M/N/2)*2+M/N-INT(M/N)):RETURN


[P7]

1 N=2^(X+34*FRAC(Y/2):M=O(Y/2):RETURN


実機形式

お絵描きAI作

「ダンジョンからの脱出」