home *** CD-ROM | disk | FTP | other *** search
- 1000 DIMW(23,23),V(50,50)
- 1010 'THIS VERSION RUNS IN 48K-CHANGE DIM STATEMENTS IN LINE 20
- 1020 'FOR DIFFERENT MEMORY SIZES.......
- 1030 'ALSO NOTE SUCH CHANGES IN LINES 170 AND 240
- 1040 PRINT" ----------- MAZE -----------":PRINT:PRINT:PRINT
- 1050 INPUT"WANT INSTRUCTIONS (Y OR N)";I$
- 1060 IFI$="Y"THEN1080
- 1070 IFI$="N"THEN1170ELSE1050
- 1080 PRINT
- 1090 PRINT"THIS PROGRAM WILL PRINT OUT A DIFFERENT MAZE EVERY TIME IT"
- 1100 PRINT"IS RUN AND GUARANTEES ONLY ONE PATH THROUGH. YOU CAN CHOOSE"
- 1110 PRINT"THE DIMENSIONS OF THE MAZE. I.E. NUMBER OF SQUARES WIDE"
- 1120 PRINT"AND THE NUMBER OF SQUARES LONG.
- 1130 PRINT"THE MAXIMUM WIDTH OF THE MAZE IS 23 SQUARES; AND THE MAXIMUM"
- 1140 PRINT"LENGTH IS 50 SQUARES"
- 1150 PRINT
- 1160 PRINT
- 1170 INPUT" WIDTH";H
- 1180 INPUT" LENGTH";V
- 1190 PRINT
- 1200 IFH<2 OR H>23 THEN 1220 ELSE 1250
- 1210 IFV<2 OR V>50 THEN 1220 ELSE 1250
- 1220 PRINT"MEANINGLESS DIMENSIONS, TRY AGAIN."
- 1230 PRINT
- 1240 GOTO1170
- 1250 PRINTCHR$(26):PRINT
- 1260 PRINT
- 1270 Q=0
- 1280 Z=0
- 1290 X= INT(RND(7)*H+1)
- 1300 FOR I=1 TO H
- 1310 IF I=X THEN 1340
- 1320 PRINT":--";
- 1330 GOTO1350
- 1340 PRINT": ";
- 1350 NEXTI
- 1360 PRINT":"
- 1370 C=1
- 1380 W(X,1)=C
- 1390 C=C+1
- 1400 R=X
- 1410 S=1
- 1420 GOTO1530
- 1430 IF R<>H THEN 1510
- 1440 IF S<>V THEN 1480
- 1450 R=1
- 1460 S=1
- 1470 GOTO1520
- 1480 R=1
- 1490 S=S+1
- 1500 GOTO1520
- 1510 R=R+1
- 1520 IFW(R,S)=0 THEN 1430
- 1530 IFR-1=0 THEN 1890
- 1540 IFW(R-1,S)<>0 THEN 1890
- 1550 IF S-1=0 THEN 1700
- 1560 IFW(R,S-1)<>0 THEN 1700
- 1570 IF R=H THEN 1610
- 1580 IFW(R+1,S)<>0 THEN 1610
- 1590 X=INT(RND(7)*3+1)
- 1600 ON X GOTO 2270,2340,2410
- 1610 IFS<>V THEN 1650
- 1620 IFZ=1 THEN 1680
- 1630 Q=1
- 1640 GOTO 1660
- 1650 IFW(R,S+1)<>0 THEN 1680
- 1660 X=INT(RND(7)*3+1)
- 1670 ONX GOTO 2270,2340,2510
- 1680 X=INT(RND(7)*2+1)
- 1690 ON X GOTO 2270,2340
- 1700 IFR=H THEN 1810
- 1710 IFW(R+1,S)<>0 THEN 1810
- 1720 IFS<>V THEN 1760
- 1730 IFZ=1 THEN 1790
- 1740 Q=1
- 1750 GOTO 1770
- 1760 IFW(R,S+1)<>0 THEN 1790
- 1770 X=INT(RND(7)*3+1)
- 1780 ON X GOTO2270,2410,2510
- 1790 X=INT(RND(7)*3)
- 1800 ONXGOTO2270,2410
- 1810 IFS<>VTHEN1850
- 1820 IFZ=1THEN1880
- 1830 Q=1
- 1840 GOTO1860
- 1850 IFW(R,S+1)<>0THEN1880
- 1860 X=INT(RND(7)*3)
- 1870 ONXGOTO2270,2510
- 1880 GOTO2270
- 1890 IFS-1=0THEN2100
- 1900 IFW(R,S-1)<>0THEN2100
- 1910 IFR=HTHEN2020
- 1920 IFW(R+1,S)<>0THEN2020
- 1930 IFS<>VTHEN1970
- 1940 IFZ=1THEN2000
- 1950 Q=1
- 1960 GOTO1980
- 1970 IFW(R,S+1)<>0THEN2000
- 1980 X=INT(RND(7)*4)
- 1990 ONXGOTO2340,2410,2510
- 2000 X=INT(RND(7)*3)
- 2010 ONXGOTO2340,2410
- 2020 IFS<>VTHEN2060
- 2030 IFZ=1THEN2090
- 2040 Q=1
- 2050 GOTO2070
- 2060 IFW(R,S+1)<>0THEN2090
- 2070 X=INT(RND(8)*3)
- 2080 ONXGOTO2340,2510
- 2090 GOTO2340
- 2100 IFR=HTHEN2200
- 2110 IFW(R+1,S)<>0THEN2200
- 2120 IFS<>VTHEN2160
- 2130 IFZ=1THEN2190
- 2140 Q=1
- 2150 GOTO2170
- 2160 IFW(R,S+1)<>0THEN2190
- 2170 X=INT(RND(8)*3)
- 2180 ONXGOTO2410,2510
- 2190 GOTO2410
- 2200 IFS<>VTHEN2240
- 2210 IFZ=1THEN2260
- 2220 Q=1
- 2230 GOTO2250
- 2240 IFW(R,S+1)<>0THEN2260
- 2250 GOTO2510
- 2260 GOTO2710
- 2270 W(R-1,S)=C
- 2280 C=C+1
- 2290 V(R-1,S)=2
- 2300 R=R-1
- 2310 IFC=H*V+1THEN2720
- 2320 Q=0
- 2330 GOTO1530
- 2340 W(R,S-1)=C
- 2350 C=C+1
- 2360 V(R,S-1)=1
- 2370 S=S-1
- 2380 IFC=H*V+1THEN2720
- 2390 Q=0
- 2400 GOTO1530
- 2410 W(R+1,S)=C
- 2420 C=C+1
- 2430 IFV(R,S)=0THEN2460
- 2440 V(R,S)=3
- 2450 GOTO2470
- 2460 V(R,S)=2
- 2470 R=R+1
- 2480 IFC=H*V+1THEN2720
- 2490 Q=0
- 2500 GOTO1890
- 2510 IFQ=1THEN2610
- 2520 W(R,S+1)=C
- 2530 C=C+1
- 2540 IFV(R,S)=0THEN2570
- 2550 V(R,S)=3
- 2560 GOTO2580
- 2570 V(R,S)=1
- 2580 S=S+1
- 2590 IFC=H*V+1THEN2720
- 2600 GOTO1530
- 2610 Z=1
- 2620 IFV(R,S)=0THEN2660
- 2630 V(R,S)=3
- 2640 Q=0
- 2650 GOTO2710
- 2660 V(R,S)=1
- 2670 Q=0
- 2680 R=1
- 2690 S=1
- 2700 GOTO1520
- 2710 GOTO1430
- 2720 FORJ=1TOV
- 2730 PRINT"I";
- 2740 FORI=1TOH
- 2750 IFV(I,J)<2THEN2780
- 2760 PRINT" ";
- 2770 GOTO2790
- 2780 PRINT" I";
- 2790 NEXTI
- 2800 PRINT
- 2810 FORI=1TOH
- 2820 IFV(I,J)=0THEN2860
- 2830 IFV(I,J)=2THEN2860
- 2840 PRINT": ";
- 2850 GOTO2870
- 2860 PRINT":--";
- 2870 NEXTI
- 2880 PRINT":"
- 2890 NEXTJ
- 2900 RESET
-