PC-6001/mkII/6601/SR★おれたちP6系 Part16

このエントリーをはてなブックマークに追加
736733
クッキリ画面で見てみたかったので、N88(86)BASIC用にしてみました。
こんな短いリストですごい立派な迷路が出来てる。
5 DIM A(4)
10 SCREEN 0,1,0,1:CLS 3
20 INPUT "サイズは(よこ1-126,たて1-94)";M,N:Q1=M*2:R1=N*2
30 LINE (1,1)-(Q1+1,R1+1),1,BF:PSET (2,2),0
40 X=2:Y=2:Q=2:R=0
50 A(1)=1:A(2)=2:A(3)=3:A(4)=4
60 A1=INT(RND(1)*4+1):B1=INT(RND(1)*4+1)
70 C=A(A1):A(A1)=A(B1):A(B1)=C
80 XH=X:YH=Y:I=1
90 ON A(I) GOTO 100,120,140,160
100 IF POINT(X,Y-2)=0 THEN 200
110 PSET (X,Y-2),0:PSET (X,Y-1),0:Y=Y-2:GOTO 60
120 IF POINT(X+2,Y)=0 THEN 200
130 PSET (X+1,Y),0:PSET (X+2,Y),0:X=X+2:GOTO 60
140 IF POINT(X,Y+2)=0 THEN 200
150 PSET (X,Y+2),0:PSET (X,Y+1),0:Y=Y+2:GOTO 60
160 IF POINT(X-2,Y)=0 THEN 200
170 PSET(X-1,Y),0:PSET(X-2,Y),0:X=X-2:GOTO 60
200 I=I+1:IF I<5 THEN 90
210 IF XH<>X OR YH<>Y THEN 60
220 R=R+2:IF R>R1 THEN R=2:Q=Q+2:IF Q>Q1 THEN 250
230 IF POINT(Q,R)=0 THEN X=Q:Y=R:GOTO 60
240 GOTO 220
250 CLS 1
260 IF INKEY$="" GOTO 260