Listing of file='MAZE.BAS;01' on disk='vmedia/ncc_4-sector.ccvf'
5 PLOT 12,15 10 PRINT TAB( 15);"A MAZE GENERATING PROGRAM" 20 PRINT TAB( 10);"ADOPTED BY WILLIAM LEE FOR COMPUCOLOR 11" 30 PRINT 100 INPUT "WHAT ARE YOUR WIDTH AND LENGTH (20,12 MAX) ";H,V 102 IF H< > 1AND V< > 1THEN 110 104 PRINT "MEANINGLESS DEMENSTIONS. TRY AGAIN.":GOTO 100 110 DIM W(H,V),V(H,V) 120 PRINT 160 Q= 0:Z= 0:X= INT (RND (1)* H+ 1) 165 FOR I= 1TO H 170 IF I= XTHEN 173 171 PRINT ".--";:GOTO 180 173 PRINT ". "; 180 NEXT I 190 PRINT "." 195 C= 1:W(X,1)= C:C= C+ 1 200 R= X:S= 1:GOTO 260 210 IF R< > HTHEN 240 215 IF S< > VTHEN 230 220 R= 1:S= 1:GOTO 250 230 R= 1:S= S+ 1:GOTO 250 240 R= R+ 1 250 IF W(R,S)= 0THEN 210 260 IF R- 1= 0THEN 530 265 IF W(R- 1,S)< > 0THEN 530 270 IF S- 1= 0THEN 390 280 IF W(R,S- 1)< > 0THEN 390 290 IF R= HTHEN 330 300 IF W(R+ 1,S)< > 0THEN 330 310 X= INT (RND (1)* 3+ 1) 320 ON XGOTO 790,820,860 330 IF S< > VTHEN 340 334 IF Z= 1THEN 370 338 Q= 1:GOTO 350 340 IF W(R,S+ 1)< > 0THEN 370 350 X= INT (RND (1)* 3+ 1) 360 ON XGOTO 790,820,910 370 X= INT (RND (1)* 2+ 1) 380 ON XGOTO 790,820 390 IF R= HTHEN 470 400 IF W(R+ 1,S)< > 0THEN 470 405 IF S< > VTHEN 420 410 IF Z= 1THEN 450 415 Q= 1:GOTO 430 420 IF W(R,S+ 1)< > 0THEN 450 430 X= INT (RND (1)* 3+ 1) 440 ON XGOTO 790,860,910 450 X= INT (RND (1)* 2+ 1) 460 ON XGOTO 790,860 470 IF S< > VTHEN 490 480 IF Z= 1THEN 520 485 Q= 1:GOTO 500 490 IF W(R,S+ 1)< > 0THEN 520 500 X= INT (RND (1)* 2+ 1) 510 ON XGOTO 790,910 520 GOTO 790 530 IF S- 1= 0THEN 670 540 IF W(R,S- 1)< > 0THEN 670 545 IF R= HTHEN 610 547 IF W(R+ 1,S)< > 0THEN 610 550 IF S< > VTHEN 560 552 IF Z= 1THEN 590 554 Q= 1:GOTO 570 560 IF W(R,S+ 1)< > 0THEN 590 570 X= INT (RND (1)* 3+ 1) 580 ON XGOTO 820,860,910 590 X= INT (RND (1)* 2+ 1) 600 ON XGOTO 860 610 IF S< > VTHEN 630 620 IF Z= 1THEN 660 625 Q= 1:GOTO 640 630 IF W(R,S+ 1)< > 0THEN 660 640 X= INT (RND (1)* 2+ 1) 650 ON XGOTO 820,910 660 GOTO 820 670 IF R= HTHEN 740 680 IF W(R+ 1,S)< > 0THEN 740 685 IF S< > VTHEN 700 690 IF Z= 1THEN 730 695 Q= 1:GOTO 830 700 IF W(R,S+ 1)< > 0THEN 730 710 X= INT (RND (1)* 2+ 1) 720 ON XGOTO 860,910 730 GOTO 860 740 IF S< > VTHEN 760 750 IF Z= 1THEN 780 755 Q= 1:GOTO 770 760 IF W(R,S+ 1)< > 0THEN 780 770 GOTO 910 780 GOTO 1000 790 W(R- 1,S)= C 800 C= C+ 1:V(R- 1,S)= 2:R= R- 1 810 IF C= H* V+ 1THEN 1010 815 Q= 0:GOTO 260 820 W(R,S- 1)= C 830 C= C+ 1 840 V(R,S- 1)= 1:S= S- 1:IF C= H* V+ 1THEN 1010 850 Q= 0:GOTO 260 860 W(R+ 1,S)= C 870 C= C+ 1:IF V(R,S)= 0THEN 880 875 V(R,S)= 3:GOTO 890 880 V(R,S)= 2 890 R= R+ 1 900 IF C= H* V+ 1THEN 1010 905 GOTO 530 910 IF Q= 1THEN 960 920 W(R,S+ 1)= C:C= C+ 1:IF V(R,S)= 0THEN 940 930 V(R,S)= 3:GOTO 950 940 V(R,S)= 1 950 S= S+ 1:IF C= H* V+ 1THEN 1010 955 GOTO 260 960 Z= 1 970 IF V(R,S)= 0THEN 980 975 V(R,S)= 3:Q= 0:GOTO 1000 980 V(R,S)= 1:Q= 0:R= 1:S= 1:GOTO 250 1000 GOTO 210 1010 FOR J= 1TO V 1011 PRINT "I"; 1012 FOR I= 1TO H 1013 IF V(I,J)< 2THEN 1030 1020 PRINT " "; 1021 GOTO 1040 1030 PRINT " I"; 1040 NEXT I 1041 PRINT 1043 FOR I= 1TO H 1045 IF V(I,J)= 0THEN 1060 1050 IF V(I,J)= 2THEN 1060 1051 PRINT ": "; 1052 GOTO 1070 1060 PRINT ":--"; 1070 NEXT I 1071 PRINT "." 1072 NEXT J 1073 END