0 REM Original program author was Jack Hauber of Windsor, Connecticut 10 CLS:PRINTTAB(13)"AMAZING program 20 PRINTTAB(11)"Creative Computing":PRINTTAB(9)"Morristown, New Jersey" 30 ONERRORGOTO1100 40 DEFSNGA-Z 50 INPUT"Where shall I send your maze";A$ 60 OPENA$FOROUTPUTAS1 100 INPUT"What are your width and length";H,V 102 IFH<>1 ANDV<>1THEN110 104 PRINT"Meaningless dimensions. Try again.":GOTO100 110 DIMW(H,V),V(H,V) 120 I=RND(-VAL(RIGHT$(DATE$,2))-100*(VAL(DATE$)-12*(VAL(MID$(DATE$,4,2))-31*(VAL(TIME$)-24*(VAL(MID$(TIME$,4,2))-60*VAL(RIGHT$(TIME$,2))))))) 160 Q=0:Z=0:X=INT(RND(1)*H+1) 165 FORI=1TOH 170 IFI=XTHEN173 171 PRINT#1,".--";:GOTO180 173 PRINT#1,". "; 180 NEXTI 190 PRINT#1,"." 195 C=1:W(X,1)=C:C=C+1 200 R=X:S=1:GOTO260 210 IFR<>HTHEN240 215 IFS<>VTHEN230 220 R=1:S=1:GOTO250 230 R=1:S=S+1:GOTO250 240 R=R+1 250 IFW(R,S)=0THEN210 260 IFR-1=0THEN530 265 IFW(R-1,S)<>0THEN530 270 IFS-1=0THEN390 280 IFW(R,S-1)<>0THEN390 290 IFR=HTHEN330 300 IFW(R+1,S)<>0THEN330 310 X=INT(RND(1)*3+1) 320 ONXGOTO790,820,860 330 IFS<>VTHEN340 334 IFZ=1THEN370 338 Q=1:GOTO350 340 IFW(R,S+1)<>0THEN370 350 X=INT(RND(1)*3+1) 360 ONXGOTO790,820,910 370 X=INT(RND(1)*2+1) 380 ONXGOTO790,820 390 IFR=HTHEN470 400 IFW(R+1,S)<>0THEN470 405 IFS<>VTHEN420 410 IFZ=1THEN450 415 Q=1:GOTO430 420 IFW(R,S+1)<>0THEN450 430 X=INT(RND(1)*3+1) 440 ONXGOTO790,860,910 450 X=INT(RND(1)*2+1) 460 ONXGOTO790,860 470 IFS<>VTHEN490 480 IFZ=1THEN520 485 Q=1:GOTO500 490 IFW(R,S+1)<>0THEN520 500 X=INT(RND(1)*2+1) 510 ONXGOTO790,910 520 GOTO790 530 IFS-1=0THEN670 540 IFW(R,S-1)<>0THEN670 545 IFR=HTHEN610 547 IFW(R+1,S)<>0THEN610 550 IFS<>VTHEN560 552 IFZ=1THEN590 554 Q=1:GOTO570 560 IFW(R,S+1)<>0THEN590 570 X=INT(RND(1)*3+1) 580 ONXGOTO820,860,910 590 X=INT(RND(1)*2+1) 600 ONXGOTO820,860 610 IFS<>VTHEN630 620 IFZ=1THEN660 625 Q=1:GOTO640 630 IFW(R,S+1)<>0THEN660 640 X=INT(RND(1)*2+1) 650 ONXGOTO820,910 660 GOTO820 670 IFR=HTHEN740 680 IFW(R+1,S)<>0THEN740 685 IFS<>VTHEN700 690 IFZ=1THEN730 695 Q=1:GOTO830 700 IFW(R,S+1)<>0THEN730 710 X=INT(RND(1)*2+1) 720 ONXGOTO860,910 730 GOTO860 740 IFS<>VTHEN760 750 IFZ=1THEN780 755 Q=1:GOTO770 760 IFW(R,S+1)<>0THEN780 770 GOTO910 780 GOTO1000 790 W(R-1,S)=C 800 C=C+1:V(R-1,S)=2:R=R-1 810 IFC=H+V+1THEN1010 815 Q=0:GOTO260 820 W(R,S-1)=C 830 C=C+1 840 V(R,S-1)=1:S=S-1:IFC=H*V+1THEN1010 850 Q=0:GOTO260 860 W(R+1,S)=C 870 C=C+1:IFV(R,S)=0THEN880 875 V(R,S)=3:GOTO890 880 V(R,S)=2 890 R=R+1 900 IFC=H*V+1THEN1010 905 GOTO530 910 IFQ=1THEN960 920 W(R,S+1)=C:C=C+1:IFV(R,S)=0THEN940 930 V(R,S)=3:GOTO950 940 V(R,S)=1 950 S=S+1:IFC=H*V+1THEN1010 955 GOTO260 960 Z=1 970 IFV(R,S)=0THEN980 975 V(R,S)=3:Q=0:GOTO1000 980 V(R,S)=1:Q=0:R=1:S=1:GOTO250 1000 GOTO210 1010 FORJ=1TOV 1011 PRINT#1,"I"; 1012 FORI=1TOH 1013 IFV(I,J)<2THEN1030 1020 PRINT#1," "; 1021 GOTO1040 1030 PRINT#1," I"; 1040 NEXTI 1041 PRINT#1,"" 1043 FORI=1TOH 1045 IFV(I,J)=0THEN1060 1050 IFV(I,J)=2THEN1060 1051 PRINT#1,": "; 1052 GOTO1070 1060 PRINT#1,":--"; 1070 NEXTI 1071 PRINT#1,"." 1072 NEXTJ 1073 CLOSE1:END 1100 IFERL=110 ORERR=9THENRESUME104 1101 IFERR=55THENRESUME50 1110 PRINT"Error"ERR"at"ERL:STOP