Compucolor.org – Virtual Media

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