Compucolor.org – Virtual Media

Listing of file='MAZE.BAS;01' on disk='vmedia/ccug_14b-sector.ccvf'

0 GOTO 40000
1 PLOT 6,4,12,11,14
2 PRINT "MAZE.":PRINT
3 PRINT "DO YOU NEED INSTRUCTIONS?";
5 INPUT " ";A$:IF LEFT$ (A$,1)= "Y"THEN 2000
10 PRINT :INPUT "INPUT HEIGHT, WIDTH: ";L,W
11 TM= 39994
12 L= INT (L):IF L< 1THEN L= 1
13 IF L> 31THEN L= 31
14 IF W< 1THEN W= 1
15 IF W> 63THEN W= 63
16 PRINT :INPUT "INPUT 0 FOR YOU SOLVE, 1 FOR I SOLVE: ";X
20 PLOT 6,4
21 FOR I= 1TO 8:POKE TM+ I,INT (RND (1)* 256):NEXT I
22 POKE TM+ 9,0
23 POKE TM+ 10,L
24 POKE TM+ 11,W
25 PLOT 12,3,64,0
26 Z= CALL (5)
1505 Z= CALL (1)
1555 I= 28:OP= 0
1560 P= 24707
1570 G= 24707+ 2* (W- 1)+ 128* (L- 1)
1575 IF X= 1THEN 30000
1576 PLOT 3,64,0
1577 FOR I= 33209TO 33211:POKE I,0:NEXT I
1578 OUT 8,255
1579 OUT 8,247
1580 POKE P,12
1581 IF P= GTHEN 1780
1590 REM
1600 OUT 8,255:I= CALL (2)
1601 OUT 8,247
1610 IF I= 25THEN 1660
1620 IF I= 28THEN 1680
1630 IF I= 26THEN 1700
1640 IF I= 8THEN 1720
1645 IF I= 10THEN 1720
1650 GOTO 1600
1660 IF PEEK (P- 1)= 2OR PEEK (P- 1)= 13THEN 1590
1670 NP= P+ 2:GOTO 1740
1680 IF PEEK (P- 129)= 13OR PEEK (P- 129)= 31THEN 1590
1690 NP= P- 128:GOTO 1740
1700 IF PEEK (P- 3)= 2OR PEEK (P- 3)= 13THEN 1590
1710 NP= P- 2:GOTO 1740
1720 IF PEEK (P- 1)= 13OR PEEK (P- 1)= 31THEN 1590
1730 NP= P+ 128
1740 IF NP= GTHEN 1780
1750 IF PEEK (NP)= 12THEN POKE P,4
1760 P= NP:GOTO 1580
1780 POKE G,20
1800 T= PEEK (33210)* 60+ PEEK (33209)
1801 OUT 8,255:PLOT 15
1802 PLOT 6,3,3,0,25:PRINT "TIME =";T;
1804 T$= " SECOND"
1806 IF T< > 1THEN T$= T$+ "S"
1810 PRINT T$;".  PLAY AGAIN? ";:INPUT "";A$
1820 IF LEFT$ (A$,1)= "Y"THEN CLEAR :GOTO 10
1830 PLOT 1
2000 PLOT 12,14
2010 PRINT "     THIS PROGRAM CREATES A MAZE, AND THEN LETS YOU SOLVE IT."
2020 PRINT
2025 PRINT "     ";
2030 PRINT "YOU INPUT THE DIMENSIONS OF THE MAZE, THE COMPUTER CREATES"
2040 PRINT "IT, AND THEN YOU TRY TO MOVE FROM THE UPPER LEFT CORNER TO THE"
2050 PRINT "LOWER RIGHT CORNER.  MOVE LEFT, RIGHT, UP, AND DOWN BY PRESSING"
2060 PRINT "THE APPROPRIATE CURSOR CONTROL (ARROW) KEYS AT THE UPPER RIGHT"
2070 PRINT "CORNER OF THE KEYBOARD."
2100 PRINT :INPUT "     PRESS 'ENTER' FOR YOUR FIRST MAZE. ";A$
2110 GOTO 10
30000 REM
30070 POKE TM+ 158,INT (G/ 256)
30080 POKE TM+ 157,G- 256* PEEK (TM+ 158)- 1
30105 POKE TM+ 161,0
30110 FOR I= 33209TO 33211:POKE I,0:NEXT
30120 Z= CALL (0)
30130 GOTO 1800
40000 CLEAR 1000:POKE 32940,58:POKE 32941,156
40010 CLEAR 50:PLOT 27,4:PRINT "LOAD MAZE.XXX":PLOT 27,27
40020 POKE 33283,35:POKE 33284,159
40030 GOTO 1