Listing of file='AMAZIN.BAS;01' on disk='vmedia/mazes_1-sector.ccvf'
10 PLOT 12,14:POKE 33289,80 20 REM ODELED FOR BASIC-PLUS BY DAVE AHL, DIGITAL 25 REM CONVERTED FOR COMPUCOLOR 11 BY JDN 29 NOV 80 30 PRINT "THIS PROGRAM PRINTS OUT A MAZE OF DIMENSIONS UP TO 23 X 23." 40 PRINT "(NOTE MAXIMUM SCREEN DIMENSIONS ARE 20 WIDE BY 14 HIGH)" 100 CLEAR 2000 110 DIM W(25,25),V(25,25) 120 INPUT " WIDTH OF MAZE (5 TO 23) :";H:INPUT "HEIGHT OF MAZE (5 TO 23) :";V 122 PRINT 130 IF H< 2OR H> 23OR V< 2OR V> 23THEN 132 131 PLOT 15:GOTO 150 132 PRINT "MEANINGLESS DIMENSIONS, TRY AGAIN" 140 PRINT 141 GOTO 120 150 PRINT 151 PRINT 160 Q= 0 161 Z= 0 162 X= INT (RND (1)* H+ 1) 163 FOR I= 1TO H 170 IF I= XTHEN 173 171 PRINT ":--"; 172 GOTO 180 173 PRINT ": "; 180 NEXT I 190 PRINT ":" 191 C= 1 192 W(X,1)= C 193 C= C+ 1 200 R= X 201 S= 1 202 GOTO 260 210 IF R< > HTHEN 240 211 IF S< > VTHEN 230 220 R= 1 221 S= 1 222 GOTO 250 230 R= 1 231 S= S+ 1 232 GOTO 250 240 R= R+ 1 250 IF W(R,S)= 0THEN 210 260 IF R- 1= 0THEN 530 261 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 IF X= 1THEN 790 321 IF X= 2THEN 820 323 IF X= 3THEN 860 330 IF S< > VTHEN 340 331 IF Z= 1THEN 370 332 Q= 1 333 GOTO 350 340 IF W(R,S+ 1)< > 0THEN 370 350 X= INT (RND (1)* 3+ 1) 360 IF X= 1THEN 790 361 IF X= 2THEN 820 362 IF X= 3THEN 910 370 X= INT (RND (1)* 2+ 1) 380 IF X= 1THEN 790 381 IF X= 2THEN 820 390 IF R= HTHEN 470 400 IF W(R+ 1,S)< > 0THEN 470 401 IF S< > VTHEN 420 410 IF Z= 1THEN 450 411 Q= 1 412 GOTO 430 420 IF W(R,S+ 1)< > 0THEN 450 430 X= INT (RND (1)* 3+ 1) 440 IF X= 1THEN 790 441 IF X= 2THEN 860 442 IF X= 3THEN 910 450 X= INT (RND (1)* 2+ 1) 460 IF X= 1THEN 790 461 IF X= 2THEN 860 470 IF S< > VTHEN 490 480 IF Z= 1THEN 520 481 Q= 1 482 GOTO 500 490 IF W(R,S+ 1)< > 0THEN 520 500 X= INT (RND (1)* 2+ 1) 510 IF X= 1THEN 790 511 IF X= 2THEN 910 520 GOTO 790 530 IF S- 1= 0THEN 670 540 IF W(R,S- 1)< > 0THEN 670 541 IF R= HTHEN 610 542 IF W(R+ 1,S)< > 0THEN 610 550 IF S< > VTHEN 560 551 IF Z= 1THEN 590 552 Q= 1 553 GOTO 570 560 IF W(R,S+ 1)< > 0THEN 590 570 X= INT (RND (1)* 3+ 1) 580 IF X= 1THEN 820 581 IF X= 2THEN 860 582 IF X= 3THEN 910 590 X= INT (RND (1)* 2+ 1) 600 IF X= 1THEN 820 601 IF X= 2THEN 860 610 IF S< > VTHEN 630 620 IF Z= 1THEN 660 621 Q= 1 622 GOTO 640 630 IF W(R,S+ 1)< > 0THEN 660 640 X= INT (RND (1)* 2+ 1) 650 IF X= 1THEN 820 651 IF X= 2THEN 910 660 GOTO 820 670 IF R= HTHEN 740 680 IF W(R+ 1,S)< > 0THEN 740 681 IF S< > VTHEN 700 690 IF Z= 1THEN 730 691 Q= 1 692 GOTO 830 700 IF W(R,S+ 1)< > 0THEN 730 710 X= INT (RND (1)* 2+ 1) 720 IF X= 1THEN 860 721 IF X= 2THEN 910 730 GOTO 860 740 IF S< > VTHEN 760 750 IF Z= 1THEN 780 751 Q= 1 752 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 801 V(R- 1,S)= 2 802 R= R- 1 810 IF C= H* V+ 1THEN 1010 811 Q= 0 812 GOTO 260 820 W(R,S- 1)= C 830 C= C+ 1 840 V(R,S- 1)= 1 841 S= S- 1 842 IF C= H* V+ 1THEN 1010 850 Q= 0 851 GOTO 260 860 W(R+ 1,S)= C 870 C= C+ 1 871 IF V(R,S)= 0THEN 880 872 V(R,S)= 3 873 GOTO 890 880 V(R,S)= 2 890 R= R+ 1 900 IF C= H* V+ 1THEN 1010 902 GOTO 530 910 IF Q= 1THEN 960 920 W(R,S+ 1)= C 921 C= C+ 1 922 IF V(R,S)= 0THEN 940 930 V(R,S)= 3 931 GOTO 950 940 V(R,S)= 1 950 S= S+ 1 951 IF C= H* V+ 1THEN 1010 952 GOTO 260 960 Z= 1 970 IF V(R,S)= 0THEN 980 971 V(R,S)= 3 972 Q= 0 973 GOTO 1000 980 V(R,S)= 1 981 Q= 0 982 R= 1 990 S= 1 991 GOTO 250 1000 GOTO 210 1010 FOR J= 1TO V 1011 PRINT "n"; 1012 FOR I= 1TO H 1013 IF V(I,J)< 2THEN 1030 1020 PRINT " "; 1021 GOTO 1040 1030 PRINT " n"; 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 INPUT "LIKE ANOTHER MAZE? :";R$ 1080 IF R$= "Y" OR R$= "YES" THEN 100