home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib27b.dsk / THATS.AMAZING.bas < prev    next >
BASIC Source File  |  2023-02-26  |  17KB  |  328 lines

  1. 10  REM  **********************
  2. 20  REM  *   THATS.AMAZING    *
  3. 30  REM  * BY JAMES B. PURVIS *
  4. 40  REM  * COPYRIGHT (C) 1986 *
  5. 50  REM  * BY MICROSPARC, INC *
  6. 60  REM  * CONCORD, MA  01742 *
  7. 70  REM  **********************
  8. 80 D$ =  CHR$(4)
  9. 90  ONERR  GOTO 3250
  10. 100  PRINT  CHR$(4);"BLOAD SOUND"
  11. 110  POKE 232,35: POKE 233,3
  12. 120  PRINT D$;"BLOAD ARROW"
  13. 130  POKE 216,0: HOME 
  14. 140  FOR M1 = 15 TO 255  STEP 15:M2 = 10: GOSUB 2620: NEXT M1
  15. 150  REM  START
  16. 160  HOME :: HTAB 13: PRINT "THAT'S AMAZING "
  17. 170  HTAB 19: PRINT "BY": HTAB 13: PRINT "JAMES B. PURVIS"
  18. 180  PRINT : PRINT "** COPYRIGHT 1986 BY MICROSPARC, INC **"
  19. 190  PRINT : PRINT "     THE OBJECT IS TO MANEUVER YOURSELF AROUND A MAZE AND FIND AN EXIT.  YOU    START IN THE LOWER LEFT-HAND CORNER AND MUST MOVE TO THE EXIT(S) IN THE OTHER   CORNERS."
  20. 200  PRINT "     ON THE SCREEN YOU WILL SEE A MAP OFTHE MAZE, UNLESS YOU CHOOSE THE HARDEST LEVEL.  YOU WILL ALSO SEE A 3-D VIEW OF YOUR POSITION IN THE MAZE."
  21. 210  PRINT "     USE THE I, J, K, AND M KEYS TO MOVEFORWARD, LEFT, RIGHT, AND BACKWARDS     RESPECTIVELY.  NOTE: THE KEYS DO NOT    MOVE YOU UP, DOWN, AND SO ON.  IF YOU   ARE FACING WEST AND YOU PRESS I, YOU    WILL MOVE WEST, NOT NORTH."
  22. 220  PRINT : PRINT "PRESS <RETURN>";: GET A$
  23. 230  HOME : PRINT : PRINT : PRINT "     WHEN THE 'INPUT' SIGN APPEARS YOU  MUST PRESS I, J, K, OR M.  IF YOU PRESS ANY OTHER KEY OR TRY TO GO THROUGH A    WALL, THEN AN 'ERROR' SIGN WILL APPEAR."
  24. 240  PRINT : PRINT "HOW MANY EXITS DO YOU WANT?"
  25. 250  PRINT "     1) ONE EXIT"
  26. 260  PRINT "     2) TWO EXITS"
  27. 270  PRINT "     3) THREE EXITS"
  28. 280  VTAB 13: INPUT "CHOOSE ONE: ";L$:L =  VAL(L$)
  29. 290  IF L <1  OR L >3  THEN  VTAB 14: INPUT "PLEASE CHOOSE 1,2, OR 3: ";L$:L =  VAL(L$): GOTO 290
  30. 300  VTAB 15: INPUT "DO YOU WANT A HARD MAZE? ";H$:H$ =  LEFT$(H$,1)
  31. 310  IF  LEN(H$) < >0  THEN ZZ =  ASC(H$): IF ZZ >96  THEN ZZ = ZZ -32:H$ =  CHR$(ZZ)
  32. 320  IF H$ < >"Y"  AND H$ < >"N"  THEN  VTAB 16: INPUT "PLEASE ANSWER Y OR N: ";H$:H$ =  LEFT$(H$,1): GOTO 310
  33. 330  IF H$ = "Y"  THEN H$ = "H"
  34. 340  VTAB 17: INPUT "WOULD YOU LIKE A MAP OF THE MAZE? ";M$:M$ =  LEFT$(M$,1)
  35. 350  IF  LEN(M$) < >0  THEN ZZ =  ASC(M$): IF ZZ >96  THEN ZZ = ZZ -32:M$ =  CHR$(ZZ)
  36. 360  IF M$ < >"Y"  AND M$ < >"N"  THEN  VTAB 18: INPUT "PLEASE ANSWER Y OR N: ";M$:M$ =  LEFT$(M$,1): GOTO 350
  37. 370  VTAB 19: INPUT "WOULD YOU LIKE THE COMPUTER TO SHOW YOU WHICH WAY YOU ARE FACING AND HOW CLOSE  TO THE CORNERS YOU ARE? ";L$:L$ =  LEFT$(L$,1)
  38. 380  IF  LEN(L$) < >0  THEN ZZ =  ASC(L$): IF ZZ >96  THEN ZZ = ZZ -32:L$ =  CHR$(ZZ)
  39. 390  IF L$ < >"Y"  AND L$ < >"N"  THEN  VTAB 22: INPUT "PLEASE ANSWER Y OR N: ";L$:L$ =  LEFT$(L$,1): GOTO 380
  40. 400  PRINT : PRINT "PRESS <RETURN>";
  41. 410  GET A$
  42. 420  HOME : VTAB 12: HTAB 12: PRINT "PLEASE WAIT.": HTAB 12: PRINT "------------"
  43. 430  FOR M1 = 255 TO 15  STEP  -15:M2 = 10: GOSUB 2620: NEXT M1
  44. 440  DIM N(100),S(100),E(100),W(100)
  45. 450  FOR I = 1 TO 10
  46. 460 W(I) = 1
  47. 470 N(I *10) = 1
  48. 480 S((I *10) -9) = 1
  49. 490 E(90 +I) = 1
  50. 500  NEXT I
  51. 510  FOR I = 1 TO 89
  52. 520 X =  INT( RND(1) *3) +1
  53. 530  IF X = 1  THEN  POKE 780,50: POKE 781,10: CALL 787
  54. 540  IF X = 2  THEN  POKE 780,100: POKE 781,10: CALL 787
  55. 550  IF X = 3  THEN  POKE 780,150: POKE 781,10: CALL 787
  56. 560  IF X = 4  THEN  POKE 780,250: POKE 781,20: CALL 787
  57. 570  IF H$ = "H"  THEN X =  INT( RND(1) *4) +1
  58. 580  IF X = 1  THEN E(I) = 1: IF I <90  THEN W(I +10) = 1
  59. 590  IF H$ < >"H"  THEN  IF X = 2  THEN E(I) = 1: IF I <90  THEN W(I +10) = 1
  60. 600  IF X = 3  THEN N(I) = 1:S(I +1) = 1:I = I +1: IF I >100  THEN 680
  61. 610  IF H$ = "H"  THEN  IF X = 2  THEN E(I +1) = 1: IF I <90  THEN W(I +11) = 1
  62. 620  IF H$ = "H"  THEN  IF X = 4  THEN N(I +3) = 1:S(I +4) = 1
  63. 630  NEXT I
  64. 640  IF L = 1  THEN N(100) = 0:E(100) = 0
  65. 650  IF L = 2  THEN N(100) = 0:E(100) = 0:E(91) = 0
  66. 660  IF L = 3  THEN N(100) = 0:E(100) = 0:E(91) = 0:W(10) = 0
  67. 670  GOSUB 2810
  68. 680 P = 1:D$ = "N"
  69. 690 M = M +1
  70. 700  HOME 
  71. 710  GOSUB 2020
  72. 720  GOSUB 1120
  73. 730  REM  INPUT
  74. 740  HCOLOR= 3: GOSUB 2410: HCOLOR= 0: GOSUB 2480: GET A$: ON A$ =  CHR$(27) GOTO 2790: IF  LEN(A$) < >0  THEN ZZ =  ASC(A$): IF ZZ >96  THEN ZZ = ZZ -32:A$ =  CHR$(ZZ)
  75. 750  HCOLOR= 3: GOSUB 2480: HCOLOR= 0: GOSUB 2410
  76. 760  IF A$ < >"I"  THEN  IF A$ < >"J"  THEN  IF A$ < >"K"  THEN  IF A$ < >"M"  THEN  GOSUB 2250: GOTO 740
  77. 770  IF A$ = "I"  THEN  IF D$ = "W"  THEN  IF W(P) = 0  THEN P = P -10: GOTO 970
  78. 780  IF A$ = "I"  THEN  IF D$ = "N"  THEN  IF N(P) = 0  THEN P = P +1: GOTO 970
  79. 790  IF A$ = "I"  THEN  IF D$ = "E"  THEN  IF E(P) = 0  THEN P = P +10: GOTO 970
  80. 800  IF A$ = "I"  THEN  IF D$ = "S"  THEN  IF S(P) = 0  THEN P = P -1: GOTO 970
  81. 810  IF A$ = "I"  THEN  GOSUB 2250: GOTO 740
  82. 820  IF A$ = "J"  THEN  IF D$ = "N"  THEN  IF W(P) = 0  THEN P = P -10: GOTO 970
  83. 830  IF A$ = "J"  THEN  IF D$ = "W"  THEN  IF S(P) = 0  THEN P = P -1: GOTO 970
  84. 840  IF A$ = "J"  THEN  IF D$ = "S"  THEN  IF E(P) = 0  THEN P = P +10: GOTO 970
  85. 850  IF A$ = "J"  THEN  IF D$ = "E"  THEN  IF N(P) = 0  THEN P = P +1: GOTO 970
  86. 860  IF A$ = "J"  THEN  GOSUB 2250: GOTO 740
  87. 870  IF A$ = "K"  THEN  IF D$ = "N"  THEN  IF E(P) = 0  THEN P = P +10: GOTO 970
  88. 880  IF A$ = "K"  THEN  IF D$ = "E"  THEN  IF S(P) = 0  THEN P = P -1: GOTO 970
  89. 890  IF A$ = "K"  THEN  IF D$ = "S"  THEN  IF W(P) = 0  THEN P = P -10: GOTO 970
  90. 900  IF A$ = "K"  THEN  IF D$ = "W"  THEN  IF N(P) = 0  THEN P = P +1: GOTO 970
  91. 910  IF A$ = "K"  THEN  GOSUB 2250: GOTO 740
  92. 920  IF A$ = "M"  THEN  IF D$ = "N"  THEN  IF S(P) = 0  THEN P = P -1: GOTO 970
  93. 930  IF A$ = "M"  THEN  IF D$ = "E"  THEN  IF W(P) = 0  THEN P = P -10: GOTO 970
  94. 940  IF A$ = "M"  THEN  IF D$ = "S"  THEN  IF N(P) = 0  THEN P = P +1: GOTO 970
  95. 950  IF A$ = "M"  THEN  IF D$ = "W"  THEN  IF E(P) = 0  THEN P = P +10: GOTO 970
  96. 960  IF A$ = "M"  THEN  GOSUB 2250: GOTO 740
  97. 970  REM 
  98. 980  IF A$ = "J"  THEN  IF D$ = "N"  THEN D$ = "W": GOTO 1100
  99. 990  IF A$ = "J"  THEN  IF D$ = "W"  THEN D$ = "S": GOTO 1100
  100. 1000  IF A$ = "J"  THEN  IF D$ = "S"  THEN D$ = "E": GOTO 1100
  101. 1010  IF A$ = "J"  THEN  IF D$ = "E"  THEN D$ = "N": GOTO 1100
  102. 1020  IF A$ = "K"  THEN  IF D$ = "N"  THEN D$ = "E": GOTO 1100
  103. 1030  IF A$ = "K"  THEN  IF D$ = "W"  THEN D$ = "N": GOTO 1100
  104. 1040  IF A$ = "K"  THEN  IF D$ = "S"  THEN D$ = "W": GOTO 1100
  105. 1050  IF A$ = "K"  THEN  IF D$ = "E"  THEN D$ = "S": GOTO 1100
  106. 1060  IF A$ = "M"  THEN  IF D$ = "N"  THEN D$ = "S": GOTO 1100
  107. 1070  IF A$ = "M"  THEN  IF D$ = "W"  THEN D$ = "E": GOTO 1100
  108. 1080  IF A$ = "M"  THEN  IF D$ = "S"  THEN D$ = "N": GOTO 1100
  109. 1090  IF A$ = "M"  THEN  IF D$ = "E"  THEN D$ = "W"
  110. 1100  IF P = 0  OR P = 110  OR P = 101  THEN  GOTO 2630
  111. 1110  GOTO 690
  112. 1120  REM  DETERMINE POSITION & DRAW IT
  113. 1130  IF D$ < >"N"  THEN 1200
  114. 1140  IF W(P) = 1  THEN  GOSUB 1400
  115. 1150  IF W(P) = 0  THEN  GOSUB 1710
  116. 1160  IF N(P) = 1  THEN  GOSUB 1670
  117. 1170  IF E(P) = 1  THEN  GOSUB 1540
  118. 1180  IF E(P) = 0  THEN  GOSUB 1880
  119. 1190  RETURN 
  120. 1200  IF D$ < >"E"  THEN 1270
  121. 1210  IF N(P) = 1  THEN  GOSUB 1400
  122. 1220  IF N(P) = 0  THEN  GOSUB 1710
  123. 1230  IF E(P) = 1  THEN  GOSUB 1670
  124. 1240  IF S(P) = 1  THEN  GOSUB 1540
  125. 1250  IF S(P) = 0  THEN  GOSUB 1880
  126. 1260  RETURN 
  127. 1270  IF D$ < >"S"  THEN 1340
  128. 1280  IF E(P) = 1  THEN  GOSUB 1400
  129. 1290  IF E(P) = 0  THEN  GOSUB 1710
  130. 1300  IF S(P) = 1  THEN  GOSUB 1670
  131. 1310  IF W(P) = 1  THEN  GOSUB 1540
  132. 1320  IF W(P) = 0  THEN  GOSUB 1880
  133. 1330  RETURN 
  134. 1340  IF S(P) = 1  THEN  GOSUB 1400
  135. 1350  IF S(P) = 0  THEN  GOSUB 1710
  136. 1360  IF W(P) = 1  THEN  GOSUB 1670
  137. 1370  IF N(P) = 1  THEN  GOSUB 1540
  138. 1380  IF N(P) = 0  THEN  GOSUB 1880
  139. 1390  RETURN 
  140. 1400  REM  DRAW LEFT WALL CLOSED
  141. 1410  HPLOT 0,25 TO 55,75 TO 55,150 TO 0,185
  142. 1420 Y2 = 75:Y1 = 25
  143. 1430  FOR I = 1 TO 10
  144. 1440 Y1 = Y1 +16.1:Y2 = Y2 +7.5
  145. 1450  HPLOT 0,Y1 TO 55,Y2
  146. 1460  NEXT I
  147. 1470  HPLOT 0,25 TO 0,185
  148. 1480 Y1 = 25:Y2 = 185
  149. 1490  FOR X = 0 TO 55  STEP 4.3
  150. 1500 Y1 = Y1 +3.6
  151. 1510 Y2 = Y2 -2.7
  152. 1520  HPLOT X,Y1 TO X,Y2: NEXT X
  153. 1530  RETURN 
  154. 1540  REM  DRAW RIGHT WALL CLOSED
  155. 1550  HPLOT 170,25 TO 104,75 TO 104,150 TO 170,185 TO 170,25
  156. 1560 Y1 = 25:Y2 = 75
  157. 1570  FOR I = 1 TO 10
  158. 1580 Y1 = Y1 +16.1:Y2 = Y2 +7.5
  159. 1590  HPLOT 104,Y2 TO 170,Y1
  160. 1600  NEXT I
  161. 1610 Y1 = 25:Y2 = 185
  162. 1620  FOR X = 170 TO 104  STEP  -4.265
  163. 1630 Y1 = Y1 +3.1
  164. 1640 Y2 = Y2 -2.2
  165. 1650  HPLOT X,Y1 TO X,Y2: NEXT X
  166. 1660  RETURN 
  167. 1670  REM  DRAW NORTH WALL CLOSED
  168. 1680  FOR Y = 75 TO 150  STEP 10: HPLOT 55,Y TO 104,Y: NEXT Y: HPLOT 55,150 TO 104,150
  169. 1690  FOR X = 55 TO 104  STEP 4.263: HPLOT X,75 TO X,150: NEXT X
  170. 1700  RETURN 
  171. 1710  REM  DRAW LEFT WALL OPEN
  172. 1720  HPLOT 0,25 TO 17,39 TO 17,175 TO 0,185 TO 0,25
  173. 1730 Y2 = 39:Y1 = 25
  174. 1740  FOR I = 1 TO 10: HPLOT 17,Y2 TO 0,Y1:Y2 = Y2 +13.6:Y1 = Y1 +16.1: NEXT I
  175. 1750  HPLOT 4,28 TO 4,183: HPLOT 9,32 TO 9,180: HPLOT 13,35 TO 13,177
  176. 1760  HPLOT 34,53 TO 55,75 TO 55,150 TO 34,164 TO 34,53
  177. 1770 Y1 = 53:Y2 = 75
  178. 1780  FOR I = 1 TO 10: HPLOT 34,Y1 TO 54,Y2:Y1 = Y1 +11.1:Y2 = Y2 +7.5: NEXT I
  179. 1790  HPLOT 38,57 TO 38,161: HPLOT 43,61 TO 43,159: HPLOT 47,66 TO 47,156: HPLOT 51,71 TO 51,153
  180. 1800  HPLOT 34,53 TO 17,65: HPLOT 17,160 TO 34,164
  181. 1810  HCOLOR= 1: FOR Y = 164 TO 175: HPLOT 18,Y TO 35,Y: NEXT Y: HPLOT 18,163 TO 30,163: HPLOT 18,162 TO 26,162: HPLOT 18,162 TO 23,162: HPLOT 18,161 TO 21,161
  182. 1820  HCOLOR= 3
  183. 1830 Y1 = 65:Y2 = 53: FOR I = 1 TO 10: HPLOT 18,Y1 TO 34,Y2:Y1 = Y1 +9.9:Y2 = Y2 +11.1: NEXT I
  184. 1840  HPLOT 30,55 TO 30,163
  185. 1850  HPLOT 26,59 TO 26,162
  186. 1860  HPLOT 21,62 TO 21,161
  187. 1870  RETURN 
  188. 1880  REM  DRAW RIGHT SIDE OPEN
  189. 1890  HPLOT 170,25 TO 153,37 TO 153,177 TO 170,186 TO 170,25
  190. 1900 Y1 = 37:Y2 = 25
  191. 1910  FOR I = 1 TO 10:Y1 = Y1 +13.9:Y2 = Y2 +16.1: HPLOT 153,Y1 TO 170,Y2: NEXT I
  192. 1920  HPLOT 166,28 TO 166,183: HPLOT 161,31 TO 161,181: HPLOT 156,34 TO 156,179
  193. 1930  HPLOT 136,49 TO 136,168 TO 104,150 TO 104,75 TO 136,49
  194. 1940 Y1 = 75:Y2 = 49: FOR I = 1 TO 10: HPLOT 104,Y1 TO 136,Y2:Y1 = Y1 +7.5:Y2 = Y2 +11.9: NEXT I
  195. 1950  HPLOT 132,52 TO 132,166: HPLOT 127,56 TO 127,164: HPLOT 123,60 TO 123,161: HPLOT 119,63 TO 119,159: HPLOT 114,66 TO 114,157: HPLOT 110,70 TO 110,155: HPLOT 106,74 TO 106,153
  196. 1960  HPLOT 136,49 TO 152,65: HPLOT 136,168 TO 152,162
  197. 1970 Y1 = 49:Y2 = 65: FOR I = 1 TO 10: HPLOT 136,Y1 TO 152,Y2:Y2 = Y2 +9.7:Y1 = Y1 +11.9: NEXT I
  198. 1980  HCOLOR= 1: FOR Y = 168 TO 180: HPLOT 136,Y TO 152,Y: NEXT Y: HPLOT 152,167 TO 140,167: HPLOT 152,166 TO 143,166: HPLOT 152,165 TO 146,165: HPLOT 152,164 TO 148,164
  199. 1990  HCOLOR= 3
  200. 2000  HPLOT 140,52 TO 140,166: HPLOT 144,57 TO 144,165: HPLOT 149,63 TO 149,163
  201. 2010  RETURN 
  202. 2020  REM  GREEN BLANKET
  203. 2030  HCOLOR= 3: GOSUB 2360
  204. 2040 FG = FG +1: IF FG >1  THEN  GOSUB 2240: HCOLOR= 0: HPLOT 1,64 TO 30,64
  205. 2050 GG = 0:GN = 0:GG = P
  206. 2060  IF GG >10  THEN GG = GG -10:GN = GN +1: GOTO 2060
  207. 2070 X = 175 +(GN *10):Y = 190 -(GG *10)
  208. 2080  HCOLOR= 1
  209. 2090  IF L$ = "N"  THEN 2140
  210. 2100  SCALE= 1: HCOLOR= 3: IF D$ = "N"  THEN  ROT= 0: DRAW 1 AT X +5,Y -5
  211. 2110  IF D$ = "S"  THEN  ROT= 32: DRAW 1 AT X +5,Y -15
  212. 2120  IF D$ = "W"  THEN  ROT= 48: DRAW 1 AT X +10,Y -10
  213. 2130  IF D$ = "E"  THEN  ROT= 16: DRAW 1 AT X,Y -10
  214. 2140  HCOLOR= 1: IF FG >1  THEN 2210
  215. 2150 X1 = 55:X2 = 104
  216. 2160  FOR Y = 151 TO 185
  217. 2170  HPLOT X1,Y TO X2,Y
  218. 2180 X1 = X1 -1.46:X2 = X2 +1.82
  219. 2190  NEXT Y
  220. 2200  HCOLOR= 0: GOSUB 2360
  221. 2210  HCOLOR= 3: HPLOT 0,25 TO 170,25 TO 170,185 TO 0,185 TO 0,25: IF FG >1  THEN  RETURN 
  222. 2220  POKE 60,0: POKE 61,64: POKE 62,255: POKE 63,95: POKE 64,255: POKE 65,127: POKE 66,0: POKE 67,96: CALL  -468
  223. 2230  RETURN 
  224. 2240  POKE 60,0: POKE 61,96: POKE 62,255: POKE 63,127: POKE 64,255: POKE 65,95: POKE 66,0: POKE 67,64: CALL  -468: RETURN 
  225. 2250  REM  ERROR
  226. 2260  HCOLOR= 3
  227. 2270  HPLOT 178,28 TO 220,28 TO 220,38 TO 178,38 TO 178,28
  228. 2280  HPLOT 186,30 TO 180,30 TO 180,33 TO 183,33: HPLOT 180,33 TO 180,36 TO 186,36
  229. 2290  HPLOT 196,36 TO 196,30 TO 202,30 TO 202,33 TO 196,33 TO 202,36
  230. 2300  HPLOT 188,36 TO 188,30 TO 194,30 TO 194,33 TO 188,33 TO 194,36
  231. 2310  HPLOT 204,30 TO 210,30 TO 210,36 TO 204,36 TO 204,30
  232. 2320  HPLOT 212,36 TO 212,30 TO 218,30 TO 218,33 TO 212,33 TO 218,36
  233. 2330  IF FT = 1  THEN FT = 0: RETURN 
  234. 2340  POKE 780,255: POKE 781,255: CALL 787: FOR I = 1 TO 500: NEXT I
  235. 2350  HCOLOR= 0:FT = 1: GOTO 2270
  236. 2360  REM  O.K.
  237. 2370  HPLOT 178,38 TO 200,38 TO 200,48 TO 178,48 TO 178,38
  238. 2380  HPLOT 180,40 TO 186,40 TO 186,46 TO 180,46 TO 180,40: HPLOT 188,46
  239. 2390  HPLOT 190,40 TO 190,46: HPLOT 196,40 TO 190,43 TO 196,46: HPLOT 198,46
  240. 2400  RETURN 
  241. 2410  REM  INPUT
  242. 2420  HPLOT 178,48 TO 216,48 TO 216,58 TO 178,58 TO 178,48
  243. 2430  HPLOT 180,50 TO 180,56: HPLOT 183,56 TO 183,50 TO 189,56 TO 189,50
  244. 2440  HPLOT 192,56 TO 192,50 TO 198,50 TO 198,53 TO 192,53
  245. 2450  HPLOT 200,50 TO 200,56 TO 206,56 TO 206,50
  246. 2460  HPLOT 208,50 TO 214,50: HPLOT 211,50 TO 211,56
  247. 2470  RETURN 
  248. 2480  REM  LETTER
  249. 2490  HPLOT 238,28 TO 262,28 TO 262,47 TO 238,47 TO 238,28
  250. 2500  IF A$ < >"I"  THEN 2530
  251. 2510  HPLOT 240,30 TO 260,30: HPLOT 250,30 TO 250,45: HPLOT 240,45 TO 260,45
  252. 2520  RETURN 
  253. 2530  IF A$ < >"J"  THEN 2560
  254. 2540  HPLOT 240,30 TO 260,30: HPLOT 250,30 TO 250,45: HPLOT 240,45 TO 250,45
  255. 2550  RETURN 
  256. 2560  IF A$ < >"K"  THEN 2590
  257. 2570  HPLOT 244,30 TO 244,45: HPLOT 254,30 TO 244,38 TO 254,45
  258. 2580  RETURN 
  259. 2590  IF A$ < >"M"  THEN  RETURN 
  260. 2600  HPLOT 242,45 TO 242,30 TO 250,37 TO 258,30 TO 258,45
  261. 2610  RETURN 
  262. 2620  POKE 780,M1: POKE 781,M2: CALL 787: RETURN 
  263. 2630  REM  YOU WIN
  264. 2640  HGR2 : HCOLOR= 1: FOR Y = 140 TO 161: HPLOT 0,Y TO 279,Y: NEXT Y
  265. 2650  HCOLOR= 3: HPLOT 30,140 TO 30,30 TO 90,0 TO 180,0 TO 240,30 TO 240,140 TO 30,140
  266. 2660  HPLOT 30,30 TO 240,30
  267. 2670  HPLOT 40,40 TO 80,40 TO 80,80 TO 40,80 TO 40,40
  268. 2680  HPLOT 230,40 TO 190,40 TO 190,80 TO 230,80 TO 230,40
  269. 2690  HPLOT 100,140 TO 100,70 TO 170,70 TO 170,140
  270. 2700  HPLOT 110,80 TO 160,80 TO 160,100 TO 110,100 TO 110,80
  271. 2710  HPLOT 40,100 TO 80,100 TO 80,130 TO 40,130 TO 40,100
  272. 2720  HPLOT 230,100 TO 190,100 TO 190,130 TO 230,130 TO 230,100
  273. 2730  REM  MUSIC
  274. 2740 M1 = 126:M2 = 150: GOSUB 2620:M1 = 170: GOSUB 2620
  275. 2750  FOR I = 1 TO 50: NEXT I:M2 = 100: GOSUB 2620
  276. 2760 M1 = 151:M2 = 100: GOSUB 2620:M1 = 170: GOSUB 2620:M1 = 190: GOSUB 2620
  277. 2770 M1 = 203:M2 = 150: GOSUB 2620:M1 = 255:M2 = 200: GOSUB 2620
  278. 2780  FOR I = 1 TO 2000: NEXT I
  279. 2790  TEXT : HOME : INPUT "AGAIN? ";A$:A$ =  LEFT$(A$,1): IF A$ = "Y"  OR A$ =  CHR$(121)  THEN  RUN 130
  280. 2800  END 
  281. 2810  REM  DRAW MAP
  282. 2820  HGR2 
  283. 2830  HCOLOR= 3
  284. 2840  FOR I = 1 TO 100
  285. 2850 P = I:N = 0
  286. 2860  IF P >10  THEN P = P -10:N = N +1: GOTO 2860
  287. 2870 M = 175 +(N *10)
  288. 2880  IF W(I) = 1  THEN  HPLOT M,185 -(P *10) TO M,175 -(P *10)
  289. 2890  NEXT I
  290. 2900  FOR I = 90 TO 100
  291. 2910 P = I:N = 0
  292. 2920  IF P >10  THEN P = P -10:N = N +1: GOTO 2920
  293. 2930 M = 175 +(N *10)
  294. 2940  IF E(I) = 1  THEN  HPLOT M +10,185 -(P *10) TO M +10,175 -(P *10)
  295. 2950  NEXT I
  296. 2960  FOR I = 1 TO 100
  297. 2970 P = I:N = 0
  298. 2980  IF P >10  THEN P = P -10:N = N +1: GOTO 2980
  299. 2990 M = 175 +(N *10)
  300. 3000  IF S(I) = 1  THEN  HPLOT M,185 -(P *10) TO M +10,185 -(P *10)
  301. 3010  NEXT I
  302. 3020  FOR I = 1 TO 100
  303. 3030 P = I:N = 0
  304. 3040  IF P >10  THEN P = P -10:N = N +1: GOTO 3040
  305. 3050 M = 175 +(N *10)
  306. 3060  IF N(I) = 1  THEN  HPLOT M,175 -(P *10) TO M +10,175 -(P *10)
  307. 3070  NEXT I
  308. 3080  IF M$ = "N"  THEN  FOR I = 1 TO 1000: NEXT I: FOR I = 75 TO 175: HCOLOR= 1: HPLOT 175,I TO 275,I: NEXT I
  309. 3090  REM  TITLE
  310. 3100  HCOLOR= 3: FOR I = 8 TO 22: HPLOT 8,I TO 200,I: NEXT I: HCOLOR= 4
  311. 3110  HPLOT 10,12 TO 10,10 TO 20,10 TO 20,12: HPLOT 15,10 TO 15,20 TO 13,20 TO 17,20
  312. 3120  HPLOT 38,20 TO 42,20: HPLOT 40,20 TO 45,10 TO 50,20: HPLOT 48,20 TO 52,20: HPLOT 43,15 TO 47,15
  313. 3130  HPLOT 23,20 TO 27,20: HPLOT 23,10 TO 27,10: HPLOT 33,10 TO 37,10: HPLOT 33,20 TO 37,20: HPLOT 25,10 TO 25,20: HPLOT 35,10 TO 35,20: HPLOT 25,15 TO 35,15
  314. 3140  HPLOT 50,12 TO 50,10 TO 60,10 TO 60,12: HPLOT 55,10 TO 55,20 TO 53,20 TO 57,20
  315. 3150  HPLOT 63,10 TO 63,12: HPLOT 64,10 TO 64,12: HPLOT 65,10 TO 65,15
  316. 3160  HPLOT 80,12 TO 80,10 TO 70,10 TO 70,15 TO 80,15 TO 80,20 TO 70,20 TO 70,18
  317. 3170  HPLOT 88,20 TO 92,20: HPLOT 90,20 TO 95,10 TO 100,20: HPLOT 98,20 TO 102,20: HPLOT 93,15 TO 97,15
  318. 3180  HPLOT 105,20 TO 105,10 TO 110,15 TO 115,10 TO 115,20: HPLOT 103,20 TO 107,20: HPLOT 113,20 TO 117,20
  319. 3190  HPLOT 118,20 TO 122,20: HPLOT 120,20 TO 125,10 TO 130,20: HPLOT 128,20 TO 132,20: HPLOT 123,15 TO 127,15
  320. 3200  HPLOT 135,12 TO 135,10 TO 145,10 TO 135,20 TO 145,20 TO 145,18
  321. 3210  HPLOT 150,12 TO 150,10 TO 160,10 TO 160,12: HPLOT 150,18 TO 150,20 TO 160,20 TO 160,18: HPLOT 155,10 TO 155,20
  322. 3220  HPLOT 165,20 TO 165,10 TO 175,20 TO 175,10: HPLOT 163,20 TO 167,20: HPLOT 173,10 TO 177,10
  323. 3230  HPLOT 190,13 TO 190,10 TO 180,10 TO 180,20 TO 190,20 TO 190,15: HPLOT 187,15 TO 193,15
  324. 3240  RETURN 
  325. 3250  HOME : VTAB 10: PRINT "CANNOT LOAD SOUND AND ARROW FILES": PRINT 
  326. 3260  PRINT "CHECK DISK AND PRESS <RETURN> "
  327. 3270  GET CH$: PRINT CH$:
  328. 3280  POKE 216,0: GOTO 80