1'AMAZE.BAS -- COPYRIGHT (C) 2021 RENAUD FIVET 10 PRINT "WHAT ARE YOUR WIDTH AND LENGTH";\INPUT H,V 20 IF H<2 THEN 30\IF H>13 THEN 30\IF V<2 THEN 30\IF V<=13 THEN 40 30 PRINT "MEANINGLESS DIMENSIONS. TRY AGAIN."\GOTO 10 40 DIM W(12,12),V(12,12) 50 RANDOMIZE 60 PRINT\PRINT 70 DEF FNR(X)=INT(RND(1)*X+1) 80 C=H*V\V=V-1 90 R=FNR(H)-1\H=H-1 100 PRINT " "; 110 FOR I=0 TO H 120 IF I=R THEN 140 130 PRINT ".--";\GOTO 150 140 PRINT ". "; 150 NEXT I 160 PRINT "." 190 S=0 200 W(R,S)=1\C=C-1\IF C=0 THEN 2000 210 Q=0\GOSUB 1000 220 ON T+1 GOTO 400,600,700,303,800,305,306,307,900,309,310,311,312,313,314 303 ON FNR(2) GOTO 600,700 305 ON FNR(2) GOTO 600,800 306 ON FNR(2) GOTO 700,800 307 ON FNR(3) GOTO 600,700,800 309 ON FNR(2) GOTO 600,900 310 ON FNR(2) GOTO 700,900 311 ON FNR(3) GOTO 600,700,900 312 ON FNR(2) GOTO 800,900 313 ON FNR(3) GOTO 600,800,900 314 ON FNR(3) GOTO 700,800,900 400 FOR S=0 TO V 410 FOR R=0 TO H 420 IF W(R,S)<>0 THEN 450 430 Q=1\GOSUB 1000 440 IF T<>0 THEN 470 450 NEXT R 460 NEXT S 470 IF T<8 THEN 480\V(R,S)=V(R,S)+1\GOTO 510 480 IF T<4 THEN 490\V(R,S)=V(R,S)+2\GOTO 510 490 IF T<2 THEN 500\V(R,S-1)=V(R,S-1)+1\GOTO 510 500 V(R-1,S)=V(R-1,S)+2 510 GOTO 200 600 R=R-1\V(R,S)=V(R,S)+2 610 GOTO 200 700 S=S-1\V(R,S)=V(R,S)+1 710 GOTO 200 800 V(R,S)=V(R,S)+2\R=R+1 810 GOTO 200 900 V(R,S)=V(R,S)+1\S=S+1 910 GOTO 200 1000 T=0 1010 IF R=0 THEN 1020\IF W(R-1,S)<>Q THEN 1020\T=1 1020 IF S=0 THEN 1030\IF W(R,S-1)<>Q THEN 1030\T=T+2 1030 IF R=H THEN 1040\IF W(R+1,S)<>Q THEN 1040\T=T+4 1040 IF S=V THEN 1050\IF W(R,S+1)<>Q THEN 1050\T=T+8 1050 RETURN 2000 R=FNR(H+1)-1\V(R,V)=V(R,V)+1 2010 FOR J=0 TO V 2011 PRINT " I"; 2012 FOR I=0 TO H 2013 IF V(I,J)<2 THEN 2016 2014 PRINT " "; 2015 GOTO 2017 2016 PRINT " I"; 2017 NEXT I 2018 PRINT\PRINT " "; 2019 FOR I=0 TO H 2020 IF V(I,J)=0 THEN 2024 2021 IF V(I,J)=2 THEN 2024 2022 PRINT ": "; 2023 GOTO 2025 2024 PRINT ":--"; 2025 NEXT I 2026 PRINT ":" 2027 NEXT J 2046 END