Advertisement
jargon

Dugeon XAMPP Builder (MkPut)

Sep 22nd, 2021
2,719
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PCRE 136.29 KB | None | 0 0
  1. CFG[array{[string(8) "swap.GFX"] => string(561) "(IF)\s([A-Z]+|[0-9]+)\(([A-Z]+|[0-9]+)(|((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+)),([A-Z]+|[0-9]+)(|((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+))\)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+)(\s|(AND|OR|XOR|NOT)\s([A-Z]+|[0-9]+)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+))\s(THEN|ELSE)\s(PUT|GET)\s\(\(([A-Z]+|[0-9]+)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+)\)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+),\(([A-Z]+|[0-9]+)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+)\)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+)\),([A-Z]+|[0-9]+)",[string(14) "swap.SIMPLEPUT"] => string(87) "([0-9]{4}) IF MAP\(T,TT\)=((|\-)[0-9]+) THEN PUT\(\(T\-1\)\*16,\(TT\-1\)\*16\),([A-Z]+)",[string(13) "swap.QUICKMAP"] => string(21) "([0-9]{4}) IF MAP(.*)"}]
  2. miscdun/DUN001.BAS
  3. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=1:Y=1
  4. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  5. 50 C$=" ":GOTO 105
  6. 100 C$=INPUT$(1):XM$="":YM$="":IF C$="" THEN C$=" "
  7. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  8. 106 XX=X:YY=Y
  9. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  10. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  11. 130 IF INSTR("369",C$)>0 THEN X=X+1
  12. 140 IF INSTR("147",C$)>0 THEN X=X-1
  13. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  14. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  15. 190 '
  16. 1000 '
  17. 1010 PCOPY 2,1
  18. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  19. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  20. 1040 NEXT T:NEXT TT
  21. 1045 IF POINT(X,Y)<>0 THEN X=XX:Y=YY:GOTO 1010
  22. 1050 LINE(0,0)-(319,199),0,BF
  23. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  24. 1065 IF MAP(T,TT)=0 THEN PUT((T-1)*16,(TT-1)*16),GD
  25. 1070 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  26. 1080 IF MAP(T,TT)=2 THEN PUT((T-1)*16,(TT-1)*16),GB
  27. 1090 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GC
  28. 1100 NEXT T:NEXT TT
  29. 1105 LOCATE 20,1:PRINT X;",";Y;
  30. 1108 GOSUB 5000
  31. 1111 PCOPY 1,0
  32. 1120 GOTO 100
  33. 2000 '
  34. 2010 DIM GA(16,16)
  35. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  36. 2030 READ R:PSET(T,TT),R
  37. 2040 NEXT T:NEXT TT
  38. 2050 GET(1,1)-(16,16),GA
  39. 2051 CLS
  40. 2110 DIM GB(16,16)
  41. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  42. 2130 READ R:PSET(T,TT),R
  43. 2140 NEXT T:NEXT TT
  44. 2150 GET(1,1)-(16,16),GB
  45. 2151 CLS
  46. 2210 DIM GC(16,16)
  47. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  48. 2230 READ R:PSET(T,TT),R
  49. 2240 NEXT T:NEXT TT
  50. 2250 GET(1,1)-(16,16),GC
  51. 2251 CLS
  52. 2310 DIM GD(16,16)
  53. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  54. 2330 READ R:PSET(T,TT),R
  55. 2340 NEXT T:NEXT TT
  56. 2350 GET(1,1)-(16,16),GD
  57. 2351 CLS
  58. 2410 DIM GR(16,16)
  59. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  60. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  61. 2430 INPUT #1,R:PSET(T,TT),R
  62. 2440 NEXT T:NEXT TT
  63. 2445 CLOSE 1
  64. 2450 GET(1,1)-(16,16),GR
  65. 2451 CLS
  66. 2515 OPEN"map001.mem" FOR INPUT AS 1
  67. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  68. 2530 INPUT #1,R:PSET(T,TT),R
  69. 2540 NEXT T:NEXT TT
  70. 2545 CLOSE 1
  71. 2551 CLS
  72. 2999 RETURN
  73. 3000 'GA
  74. 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  75. 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  76. 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  77. 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  78. 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  79. 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  80. 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  81. 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  82. 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  83. 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  84. 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  85. 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  86. 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  87. 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  88. 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  89. 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  90. 3100 'Gb
  91. 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  92. 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  93. 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  94. 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  95. 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  96. 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  97. 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  98. 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  99. 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  100. 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  101. 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  102. 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  103. 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  104. 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  105. 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  106. 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  107. 3200 'Gc
  108. 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  109. 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  110. 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  111. 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  112. 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  113. 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  114. 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  115. 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  116. 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  117. 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  118. 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  119. 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  120. 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  121. 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  122. 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  123. 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  124. 3300 'Gd
  125. 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
  126. 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
  127. 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
  128. 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  129. 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
  130. 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
  131. 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
  132. 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  133. 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
  134. 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
  135. 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
  136. 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  137. 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
  138. 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
  139. 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
  140. 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  141. 5000 '
  142. 5010 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  143. 5020 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  144. 5030 PUT((8-1)*16,(4-1)*16),GR,OR
  145. 5040 PCOPY 1,0
  146. 5050 RETURN
  147. 
  148. miscdun/DUN002.BAS
  149. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
  150. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  151. 100 C$=INPUT$(1):XM$="":YM$="":IF C$="" THEN C$=" "
  152. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  153. 108 XX=X:YY=Y
  154. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  155. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  156. 130 IF INSTR("369",C$)>0 THEN X=X+1
  157. 140 IF INSTR("147",C$)>0 THEN X=X-1
  158. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  159. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  160. 190 '
  161. 1000 '
  162. 1010 PCOPY 2,1
  163. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  164. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  165. 1040 NEXT T:NEXT TT
  166. 1050 LINE(0,0)-(319,199),0,BF
  167. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  168. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  169. 1070 IF MAP(T,TT)=2 THEN PUT((T-1)*16,(TT-1)*16),GB
  170. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GC
  171. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  172. 1100 NEXT T:NEXT TT
  173. 1102 GOSUB 5000
  174. 1111 PCOPY 1,0
  175. 1120 GOTO 100
  176. 2000 '
  177. 2010 DIM GA(16,16)
  178. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  179. 2030 READ R:PSET(T,TT),R
  180. 2040 NEXT T:NEXT TT
  181. 2050 GET(1,1)-(16,16),GA
  182. 2051 CLS
  183. 2110 DIM GB(16,16)
  184. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  185. 2130 READ R:PSET(T,TT),R
  186. 2140 NEXT T:NEXT TT
  187. 2150 GET(1,1)-(16,16),GB
  188. 2151 CLS
  189. 2210 DIM GC(16,16)
  190. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  191. 2230 READ R:PSET(T,TT),R
  192. 2240 NEXT T:NEXT TT
  193. 2250 GET(1,1)-(16,16),GC
  194. 2251 CLS
  195. 2310 DIM GD(16,16)
  196. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  197. 2330 READ R:PSET(T,TT),R
  198. 2340 NEXT T:NEXT TT
  199. 2350 GET(1,1)-(16,16),GD
  200. 2351 CLS
  201. 2410 DIM GR(16,16)
  202. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  203. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  204. 2430 INPUT #1,R:PSET(T,TT),R
  205. 2440 NEXT T:NEXT TT
  206. 2445 CLOSE 1
  207. 2450 GET(1,1)-(16,16),GR
  208. 2451 CLS
  209. 2515 OPEN"map001.mem" FOR INPUT AS 1
  210. 2520 FOR TT=1 TO 32:FOR T=1 TO 64
  211. 2530 INPUT #1,R:PSET(T,TT),R
  212. 2540 NEXT T:NEXT TT
  213. 2545 CLOSE 1
  214. 2551 CLS
  215. 2999 RETURN
  216. 3000 'GA
  217. 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  218. 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  219. 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  220. 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  221. 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  222. 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  223. 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  224. 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  225. 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  226. 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  227. 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  228. 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  229. 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  230. 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  231. 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  232. 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  233. 3100 'Gb
  234. 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  235. 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  236. 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  237. 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  238. 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  239. 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  240. 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  241. 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  242. 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  243. 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  244. 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  245. 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  246. 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  247. 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  248. 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  249. 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  250. 3200 'Gc
  251. 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  252. 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  253. 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  254. 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  255. 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  256. 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  257. 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  258. 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  259. 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  260. 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  261. 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  262. 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  263. 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  264. 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  265. 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  266. 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  267. 3300 'Gd
  268. 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
  269. 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
  270. 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
  271. 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  272. 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
  273. 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
  274. 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
  275. 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  276. 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
  277. 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
  278. 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
  279. 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  280. 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
  281. 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
  282. 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
  283. 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  284. 5000 '
  285. 5001 IF MAP(8,4)<>0 THEN X=XX:Y=YY:RETURN 1010
  286. 5010 LOCATE 20,1:PRINT X;",";Y;
  287. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  288. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  289. 5040 PUT((8-1)*16,(4-1)*16),GR,OR
  290. 5999 RETURN
  291. 
  292. miscdun/DUN003.BAS
  293. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
  294. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  295. 100 C$=INPUT$(1):XM$="":YM$="":IF C$="" THEN C$=" "
  296. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  297. 108 XX=X:YY=Y
  298. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  299. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  300. 130 IF INSTR("369",C$)>0 THEN X=X+1
  301. 140 IF INSTR("147",C$)>0 THEN X=X-1
  302. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  303. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  304. 190 '
  305. 1000 '
  306. 1005 GS=1-GS
  307. 1010 PCOPY 2,1
  308. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  309. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  310. 1040 NEXT T:NEXT TT
  311. 1050 LINE(0,0)-(319,199),0,BF
  312. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  313. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  314. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  315. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  316. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GA
  317. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  318. 1100 NEXT T:NEXT TT
  319. 1102 GOSUB 5000
  320. 1111 PCOPY 1,0
  321. 1120 GOTO 100
  322. 2000 '
  323. 2010 DIM GA(16,16)
  324. 2015 OPEN"brick02.mem" FOR INPUT AS 1
  325. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  326. 2030 INPUT #1,R:PSET(T,TT),R
  327. 2040 NEXT T:NEXT TT
  328. 2045 CLOSE 1
  329. 2050 GET(1,1)-(16,16),GA
  330. 2051 CLS
  331. 2110 DIM GB(16,16)
  332. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  333. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  334. 2130 INPUT #1,R:PSET(T,TT),R
  335. 2140 NEXT T:NEXT TT
  336. 2145 CLOSE 1
  337. 2150 GET(1,1)-(16,16),GB
  338. 2151 CLS
  339. 2210 DIM GC(16,16)
  340. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  341. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  342. 2230 INPUT #1,R:PSET(T,TT),R
  343. 2240 NEXT T:NEXT TT
  344. 2245 CLOSE 1
  345. 2250 GET(1,1)-(16,16),GC
  346. 2251 CLS
  347. 2310 DIM GD(16,16)
  348. 2315 OPEN"switch01.mem" FOR INPUT AS 1
  349. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  350. 2330 INPUT #1,R:PSET(T,TT),R
  351. 2340 NEXT T:NEXT TT
  352. 2345 CLOSE 1
  353. 2350 GET(1,1)-(16,16),GD
  354. 2351 CLS
  355. 2410 DIM GR(16,16)
  356. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  357. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  358. 2430 INPUT #1,R:PSET(T,TT),R
  359. 2440 NEXT T:NEXT TT
  360. 2445 CLOSE 1
  361. 2450 GET(1,1)-(16,16),GR
  362. 2451 CLS
  363. 2515 OPEN"map001.mem" FOR INPUT AS 1
  364. 2520 FOR TT=1 TO 32:FOR T=1 TO 64
  365. 2530 INPUT #1,R:PSET(T,TT),R
  366. 2540 NEXT T:NEXT TT
  367. 2545 CLOSE 1
  368. 2551 CLS
  369. 2999 RETURN
  370. 3000 'GA
  371. 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  372. 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  373. 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  374. 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  375. 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  376. 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  377. 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  378. 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  379. 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  380. 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  381. 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  382. 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  383. 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  384. 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  385. 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  386. 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  387. 3100 'Gb
  388. 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  389. 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  390. 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  391. 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  392. 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  393. 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  394. 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  395. 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  396. 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  397. 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  398. 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  399. 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  400. 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  401. 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  402. 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  403. 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  404. 3200 'Gc
  405. 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  406. 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  407. 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  408. 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  409. 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  410. 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  411. 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  412. 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  413. 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  414. 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  415. 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  416. 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  417. 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  418. 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  419. 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  420. 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  421. 3300 'Gd
  422. 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
  423. 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
  424. 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
  425. 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  426. 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
  427. 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
  428. 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
  429. 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  430. 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
  431. 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
  432. 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
  433. 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  434. 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
  435. 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
  436. 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
  437. 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  438. 5000 '
  439. 5001 IF MAP(8,4)<>0 THEN X=XX:Y=YY:RETURN 1010
  440. 5010 LOCATE 20,1:PRINT X;",";Y;
  441. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  442. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  443. 5040 PUT((8-1)*16,(4-1)*16),GR,OR
  444. 5999 RETURN
  445. 
  446. miscdun/DUN004.BAS
  447. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
  448. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  449. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  450. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  451. 108 XX=X:YY=Y
  452. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  453. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  454. 130 IF INSTR("369",C$)>0 THEN X=X+1
  455. 140 IF INSTR("147",C$)>0 THEN X=X-1
  456. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  457. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  458. 190 '
  459. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  460. 1000 '
  461. 1010 PCOPY 2,1
  462. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  463. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  464. 1040 NEXT T:NEXT TT
  465. 1050 LINE(0,0)-(319,199),0,BF
  466. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  467. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  468. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  469. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  470. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GA
  471. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  472. 1095 IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  473. 1100 NEXT T:NEXT TT
  474. 1102 GOSUB 5000
  475. 1111 PCOPY 1,0
  476. 1120 GOTO 100
  477. 2000 '
  478. 2010 DIM GA(16,16)
  479. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  480. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  481. 2030 INPUT #1,R:PSET(T,TT),R
  482. 2040 NEXT T:NEXT TT
  483. 2045 CLOSE 1
  484. 2050 GET(1,1)-(16,16),GA
  485. 2051 CLS
  486. 2110 DIM GB(16,16)
  487. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  488. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  489. 2130 INPUT #1,R:PSET(T,TT),R
  490. 2140 NEXT T:NEXT TT
  491. 2145 CLOSE 1
  492. 2150 GET(1,1)-(16,16),GB
  493. 2151 CLS
  494. 2210 DIM GC(16,16)
  495. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  496. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  497. 2230 INPUT #1,R:PSET(T,TT),R
  498. 2240 NEXT T:NEXT TT
  499. 2245 CLOSE 1
  500. 2250 GET(1,1)-(16,16),GC
  501. 2251 CLS
  502. 2310 DIM GD(16,16)
  503. 2315 OPEN"switch01.mem" FOR INPUT AS 1
  504. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  505. 2330 INPUT #1,R:PSET(T,TT),R
  506. 2340 NEXT T:NEXT TT
  507. 2345 CLOSE 1
  508. 2350 GET(1,1)-(16,16),GD
  509. 2351 CLS
  510. 2410 DIM GR(16,16)
  511. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  512. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  513. 2430 INPUT #1,R:PSET(T,TT),R
  514. 2440 NEXT T:NEXT TT
  515. 2445 CLOSE 1
  516. 2450 GET(1,1)-(16,16),GR
  517. 2451 CLS
  518. 2515 OPEN"map001.mem" FOR INPUT AS 1
  519. 2520 FOR TT=1 TO 32:FOR T=1 TO 64
  520. 2530 INPUT #1,R:PSET(T,TT),R
  521. 2540 NEXT T:NEXT TT
  522. 2545 CLOSE 1
  523. 2551 CLS
  524. 2999 RETURN
  525. 3000 'GA
  526. 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  527. 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  528. 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  529. 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  530. 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  531. 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  532. 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  533. 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  534. 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  535. 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  536. 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  537. 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  538. 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  539. 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  540. 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  541. 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  542. 3100 'Gb
  543. 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  544. 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  545. 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  546. 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  547. 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  548. 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  549. 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  550. 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  551. 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  552. 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  553. 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  554. 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  555. 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  556. 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  557. 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  558. 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  559. 3200 'Gc
  560. 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  561. 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  562. 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  563. 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  564. 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  565. 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  566. 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  567. 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  568. 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  569. 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  570. 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  571. 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  572. 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  573. 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  574. 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  575. 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  576. 3300 'Gd
  577. 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
  578. 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
  579. 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
  580. 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  581. 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
  582. 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
  583. 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
  584. 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  585. 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
  586. 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
  587. 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
  588. 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  589. 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
  590. 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
  591. 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
  592. 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  593. 5000 '
  594. 5001 IF MAP(8,4)<>0 THEN X=XX:Y=YY:RETURN 1010
  595. 5010 LOCATE 20,1:PRINT X;",";Y;
  596. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  597. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  598. 5040 PUT((8-1)*16,(4-1)*16),GR,OR
  599. 5999 RETURN
  600. 
  601. miscdun/DUN005.BAS
  602. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
  603. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  604. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  605. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  606. 108 XX=X:YY=Y
  607. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  608. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  609. 130 IF INSTR("369",C$)>0 THEN X=X+1
  610. 140 IF INSTR("147",C$)>0 THEN X=X-1
  611. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  612. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  613. 190 '
  614. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  615. 1000 '
  616. 1010 PCOPY 2,1
  617. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  618. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  619. 1040 NEXT T:NEXT TT
  620. 1050 LINE(0,0)-(319,199),0,BF
  621. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  622. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  623. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  624. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  625. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  626. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  627. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  628. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  629. 1100 NEXT T:NEXT TT
  630. 1102 GOSUB 5000
  631. 1111 PCOPY 1,0
  632. 1120 GOTO 100
  633. 2000 '
  634. 2010 DIM GA(16,16)
  635. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  636. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  637. 2030 INPUT #1,R:PSET(T,TT),R
  638. 2040 NEXT T:NEXT TT
  639. 2045 CLOSE 1
  640. 2050 GET(1,1)-(16,16),GA
  641. 2051 CLS
  642. 2110 DIM GB(16,16)
  643. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  644. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  645. 2130 INPUT #1,R:PSET(T,TT),R
  646. 2140 NEXT T:NEXT TT
  647. 2145 CLOSE 1
  648. 2150 GET(1,1)-(16,16),GB
  649. 2151 CLS
  650. 2210 DIM GC(16,16)
  651. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  652. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  653. 2230 INPUT #1,R:PSET(T,TT),R
  654. 2240 NEXT T:NEXT TT
  655. 2245 CLOSE 1
  656. 2250 GET(1,1)-(16,16),GC
  657. 2251 CLS
  658. 2310 DIM GD(16,16)
  659. 2315 OPEN"switch01.mem" FOR INPUT AS 1
  660. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  661. 2330 INPUT #1,R:PSET(T,TT),R
  662. 2340 NEXT T:NEXT TT
  663. 2345 CLOSE 1
  664. 2350 GET(1,1)-(16,16),GD
  665. 2351 CLS
  666. 2410 DIM GR(16,16)
  667. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  668. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  669. 2430 INPUT #1,R:PSET(T,TT),R
  670. 2440 NEXT T:NEXT TT
  671. 2445 CLOSE 1
  672. 2450 GET(1,1)-(16,16),GR
  673. 2451 CLS
  674. 2515 OPEN"map001.mem" FOR INPUT AS 1
  675. 2520 FOR TT=1 TO 32:FOR T=1 TO 64
  676. 2530 INPUT #1,R:PSET(T,TT),R
  677. 2540 NEXT T:NEXT TT
  678. 2545 CLOSE 1
  679. 2551 CLS
  680. 2999 RETURN
  681. 5000 '
  682. 5001 IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 THEN X=XX:Y=YY:RETURN 1010
  683. 5010 'LOCATE 20,1:PRINT X;",";Y;
  684. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  685. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  686. 5040 PUT((8-1)*16,(4-1)*16),GR,OR
  687. 5999 RETURN
  688. 
  689. miscdun/DUN006.BAS
  690. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  691. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  692. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  693. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  694. 108 XX=X:YY=Y
  695. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  696. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  697. 130 IF INSTR("369",C$)>0 THEN X=X+1
  698. 140 IF INSTR("147",C$)>0 THEN X=X-1
  699. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  700. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  701. 190 '
  702. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  703. 1000 '
  704. 1010 PCOPY 2,1
  705. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  706. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  707. 1040 NEXT T:NEXT TT
  708. 1050 LINE(0,0)-(319,199),0,BF
  709. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  710. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  711. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  712. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  713. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  714. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  715. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  716. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  717. 1100 NEXT T:NEXT TT
  718. 1102 GOSUB 5000
  719. 1111 PCOPY 1,0
  720. 1120 GOTO 100
  721. 2000 '
  722. 2010 DIM GA(16,16)
  723. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  724. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  725. 2030 INPUT #1,R:PSET(T,TT),R
  726. 2040 NEXT T:NEXT TT
  727. 2045 CLOSE 1
  728. 2050 GET(1,1)-(16,16),GA
  729. 2051 CLS
  730. 2110 DIM GB(16,16)
  731. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  732. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  733. 2130 INPUT #1,R:PSET(T,TT),R
  734. 2140 NEXT T:NEXT TT
  735. 2145 CLOSE 1
  736. 2150 GET(1,1)-(16,16),GB
  737. 2151 CLS
  738. 2210 DIM GC(16,16)
  739. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  740. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  741. 2230 INPUT #1,R:PSET(T,TT),R
  742. 2240 NEXT T:NEXT TT
  743. 2245 CLOSE 1
  744. 2250 GET(1,1)-(16,16),GC
  745. 2251 CLS
  746. 2310 DIM GD(16,16)
  747. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  748. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  749. 2330 INPUT #1,R:PSET(T,TT),R
  750. 2340 NEXT T:NEXT TT
  751. 2345 CLOSE 1
  752. 2350 GET(1,1)-(16,16),GD
  753. 2351 CLS
  754. 2410 DIM GR(16,16)
  755. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  756. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  757. 2430 INPUT #1,R:PSET(T,TT),R
  758. 2440 NEXT T:NEXT TT
  759. 2445 CLOSE 1
  760. 2450 GET(1,1)-(16,16),GR
  761. 2451 CLS
  762. 2515 OPEN"map002.mem" FOR INPUT AS 1
  763. 2520 FOR TT=1 TO 32:FOR T=1 TO 64
  764. 2530 INPUT #1,R:PSET(T-1,TT-1),R
  765. 2540 NEXT T:NEXT TT
  766. 2545 CLOSE 1
  767. 2551 CLS
  768. 2999 RETURN
  769. 5000 '
  770. 5001 IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 THEN X=XX:Y=YY:RETURN 1010
  771. 5010 'LOCATE 20,1:PRINT X;",";Y;
  772. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  773. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  774. 5040 PUT((8-1)*16,(4-1)*16),GR,OR
  775. 5999 RETURN
  776. 
  777. miscdun/DUN007.BAS
  778. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  779. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  780. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  781. 105 IF C$=CHR$(27) THEN 10000
  782. 106 IF C$=CHR$(13) THEN 10000
  783. 107 IF C$="p" OR C$="P" THEN 20000
  784. 108 XX=X:YY=Y
  785. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  786. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  787. 130 IF INSTR("369",C$)>0 THEN X=X+1
  788. 140 IF INSTR("147",C$)>0 THEN X=X-1
  789. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  790. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  791. 190 '
  792. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  793. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  794. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  795. 1000 '
  796. 1010 PCOPY 2,1
  797. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  798. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  799. 1040 NEXT T:NEXT TT
  800. 1050 LINE(0,0)-(319,199),0,BF
  801. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  802. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  803. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  804. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  805. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  806. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  807. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  808. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  809. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
  810. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  811. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  812. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  813. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  814. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  815. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  816. 1103 IF MAP(T,TT)=15 AND ((T=8 AND TT=3) OR (T=8 AND TT=5)) THEN PUT((T-1)*16,(TT-1)*16),GL
  817. 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
  818. 1109 NEXT T:NEXT TT
  819. 1110 GOSUB 5000
  820. 1111 PCOPY 1,0
  821. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  822. 1120 GOTO 100
  823. 2000 '
  824. 2010 DIM GA(16,16)
  825. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  826. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  827. 2030 INPUT #1,R:PSET(T,TT),R
  828. 2040 NEXT T:NEXT TT
  829. 2045 CLOSE 1
  830. 2050 GET(1,1)-(16,16),GA
  831. 2051 CLS
  832. 2110 DIM GB(16,16)
  833. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  834. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  835. 2130 INPUT #1,R:PSET(T,TT),R
  836. 2140 NEXT T:NEXT TT
  837. 2145 CLOSE 1
  838. 2150 GET(1,1)-(16,16),GB
  839. 2151 CLS
  840. 2210 DIM GC(16,16)
  841. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  842. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  843. 2230 INPUT #1,R:PSET(T,TT),R
  844. 2240 NEXT T:NEXT TT
  845. 2245 CLOSE 1
  846. 2250 GET(1,1)-(16,16),GC
  847. 2251 CLS
  848. 2310 DIM GD(16,16)
  849. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  850. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  851. 2330 INPUT #1,R:PSET(T,TT),R
  852. 2340 NEXT T:NEXT TT
  853. 2345 CLOSE 1
  854. 2350 GET(1,1)-(16,16),GD
  855. 2351 CLS
  856. 2410 DIM GE(16,16)
  857. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  858. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  859. 2430 INPUT #1,R:PSET(T,TT),R
  860. 2440 NEXT T:NEXT TT
  861. 2445 CLOSE 1
  862. 2450 GET(1,1)-(16,16),GE
  863. 2451 CLS
  864. 2510 DIM GR(16,16)
  865. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  866. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  867. 2530 INPUT #1,R:PSET(T,TT),R
  868. 2540 NEXT T:NEXT TT
  869. 2545 CLOSE 1
  870. 2550 GET(1,1)-(16,16),GR
  871. 2551 CLS
  872. 2610 DIM GS(16,16)
  873. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  874. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  875. 2630 INPUT #1,R:PSET(T,TT),R
  876. 2640 NEXT T:NEXT TT
  877. 2645 CLOSE 1
  878. 2650 GET(1,1)-(16,16),GS
  879. 2651 CLS
  880. 2710 DIM GT(16,16)
  881. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  882. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  883. 2730 INPUT #1,R:PSET(T,TT),R
  884. 2740 NEXT T:NEXT TT
  885. 2745 CLOSE 1
  886. 2750 GET(1,1)-(16,16),GT
  887. 2751 CLS
  888. 2810 DIM GF(16,16)
  889. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  890. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  891. 2830 INPUT #1,R:PSET(T,TT),R
  892. 2840 NEXT T:NEXT TT
  893. 2845 CLOSE 1
  894. 2850 GET(1,1)-(16,16),GF
  895. 2851 CLS
  896. 2910 DIM GI(16,16)
  897. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  898. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  899. 2930 INPUT #1,R:PSET(T,TT),R
  900. 2940 NEXT T:NEXT TT
  901. 2945 CLOSE 1
  902. 2950 GET(1,1)-(16,16),GI
  903. 2951 CLS
  904. 3010 DIM GJ(16,16)
  905. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  906. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  907. 3030 INPUT #1,R:PSET(T,TT),R
  908. 3040 NEXT T:NEXT TT
  909. 3045 CLOSE 1
  910. 3050 GET(1,1)-(16,16),GJ
  911. 3051 CLS
  912. 3110 DIM GK(16,16)
  913. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  914. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  915. 3130 INPUT #1,R:PSET(T,TT),R
  916. 3140 NEXT T:NEXT TT
  917. 3145 CLOSE 1
  918. 3150 GET(1,1)-(16,16),GK
  919. 3151 CLS
  920. 3210 DIM GL(16,16)
  921. 3215 OPEN"door03.mem" FOR INPUT AS 1
  922. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  923. 3230 INPUT #1,R:PSET(T,TT),R
  924. 3240 NEXT T:NEXT TT
  925. 3245 CLOSE 1
  926. 3250 GET(1,1)-(16,16),GL
  927. 3251 CLS
  928. 3310 DIM GM(16,16)
  929. 3315 OPEN"door04.mem" FOR INPUT AS 1
  930. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  931. 3330 INPUT #1,R:PSET(T,TT),R
  932. 3340 NEXT T:NEXT TT
  933. 3345 CLOSE 1
  934. 3350 GET(1,1)-(16,16),GM
  935. 3351 CLS
  936. 3915 OPEN"map003.mem" FOR INPUT AS 1
  937. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  938. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  939. 3940 NEXT T:NEXT TT
  940. 3945 CLOSE 1
  941. 3951 CLS
  942. 3999 RETURN
  943. 5000 '
  944. 5001 IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 OR MAP(8,4)=>7 THEN X=XX:Y=YY:RETURN 1010
  945. 5010 'LOCATE 1,32:PRINT X;",";Y;
  946. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  947. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  948. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  949. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  950. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  951. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  952. 5040 IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  953. 5041 IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  954. 5042 IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  955. 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  956. 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  957. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  958. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  959. 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  960. 5999 RETURN
  961. 10000 '
  962. 10010 PCOPY 0,1
  963. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  964. 10015 ST=5
  965. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  966. 10030 LINE(0,0)-(T,199),0,BF
  967. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  968. 10040 LINE(0,0)-(319,TT),0,BF
  969. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  970. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  971. 10047 LINE(240,0)-(319,199),0,BF
  972. 10050 PCOPY 1,0
  973. 10060 NEXT T
  974. 10061 PSET(120,56),0
  975. 10062 PCOPY 1,0
  976. 10070 '
  977. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  978. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  979. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  980. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  981. 20000 '
  982. 20010 PCOPY 0,1:PCOPY 0,3
  983. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  984. 20015 ST=5
  985. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  986. 20030 LINE(0,0)-(T,112),0,BF
  987. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  988. 20040 LINE(0,0)-(319,TT),0,BF
  989. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  990. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  991. 20047 'LINE(240,0)-(319,199),0,BF
  992. 20050 PCOPY 1,0
  993. 20060 NEXT T
  994. 20061 'PSET(120,56),0
  995. 20062 LOCATE 24,17:PRINT"(Pause)";
  996. 20070 PCOPY 1,0
  997. 20080 C$=INPUT$(1)
  998. 20098 GOTO 30000
  999. 30000 '
  1000. 30010 PCOPY 3,1
  1001. 30015 ST=5:TT=36
  1002. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  1003. 30025 PCOPY 3,1
  1004. 30030 LINE(0,0)-(T,112),0,BF
  1005. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  1006. 30040 LINE(0,0)-(319,TT),0,BF
  1007. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  1008. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1009. 30047 'LINE(240,0)-(319,199),0,BF
  1010. 30050 PCOPY 1,0
  1011. 30060 NEXT T
  1012. 30070 PCOPY 1,0
  1013. 30098 C$=" ":GOTO 190
  1014. 
  1015. miscdun/DUN010.BAS
  1016. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=8:Y=1
  1017. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1018. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1019. 105 IF C$=CHR$(27) THEN 10000
  1020. 106 IF C$=CHR$(13) THEN 10000
  1021. 108 XX=X:YY=Y
  1022. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1023. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1024. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1025. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1026. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1027. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1028. 190 '
  1029. 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
  1030. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
  1031. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
  1032. 1000 '
  1033. 1010 PCOPY 2,1
  1034. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1035. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1036. 1040 NEXT T:NEXT TT
  1037. 1050 LINE(0,0)-(319,199),0,BF
  1038. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1039. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1040. 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=3) THEN PUT((T-1)*16,(TT-1)*16),GB
  1041. 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>3) THEN PUT((T-1)*16,(TT-1)*16),GC
  1042. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
  1043. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
  1044. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
  1045. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1046. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  1047. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  1048. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  1049. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  1050. 1109 NEXT T:NEXT TT
  1051. 1110 GOSUB 5000
  1052. 1111 PCOPY 1,0
  1053. 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
  1054. 1120 GOTO 100
  1055. 2000 '
  1056. 2010 DIM GA(16,16)
  1057. 2015 OPEN"brick04.mem" FOR INPUT AS 1
  1058. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  1059. 2030 INPUT #1,R:PSET(T,TT),R
  1060. 2040 NEXT T:NEXT TT
  1061. 2045 CLOSE 1
  1062. 2050 GET(1,1)-(16,16),GA
  1063. 2051 CLS
  1064. 2110 DIM GB(16,16)
  1065. 2115 OPEN"door01.mem" FOR INPUT AS 1
  1066. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  1067. 2130 INPUT #1,R:PSET(T,TT),R
  1068. 2140 NEXT T:NEXT TT
  1069. 2145 CLOSE 1
  1070. 2150 GET(1,1)-(16,16),GB
  1071. 2151 CLS
  1072. 2210 DIM GC(16,16)
  1073. 2215 OPEN"door02.mem" FOR INPUT AS 1
  1074. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  1075. 2230 INPUT #1,R:PSET(T,TT),R
  1076. 2240 NEXT T:NEXT TT
  1077. 2245 CLOSE 1
  1078. 2250 GET(1,1)-(16,16),GC
  1079. 2251 CLS
  1080. 2310 DIM GD(16,16)
  1081. 2315 OPEN"tile01.mem" FOR INPUT AS 1
  1082. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  1083. 2330 INPUT #1,R:PSET(T,TT),R
  1084. 2340 NEXT T:NEXT TT
  1085. 2345 CLOSE 1
  1086. 2350 GET(1,1)-(16,16),GD
  1087. 2351 CLS
  1088. 2410 DIM GE(16,16)
  1089. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  1090. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  1091. 2430 INPUT #1,R:PSET(T,TT),R
  1092. 2440 NEXT T:NEXT TT
  1093. 2445 CLOSE 1
  1094. 2450 GET(1,1)-(16,16),GE
  1095. 2451 CLS
  1096. 2510 DIM GR(16,16)
  1097. 2515 OPEN"phillip1.mem" FOR INPUT AS 1
  1098. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  1099. 2530 INPUT #1,R:PSET(T,TT),R
  1100. 2540 NEXT T:NEXT TT
  1101. 2545 CLOSE 1
  1102. 2550 GET(1,1)-(16,16),GR
  1103. 2551 CLS
  1104. 2610 DIM GS(16,16)
  1105. 2615 OPEN"phillip2.mem" FOR INPUT AS 1
  1106. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  1107. 2630 INPUT #1,R:PSET(T,TT),R
  1108. 2640 NEXT T:NEXT TT
  1109. 2645 CLOSE 1
  1110. 2650 GET(1,1)-(16,16),GS
  1111. 2651 CLS
  1112. 2710 DIM GT(16,16)
  1113. 2715 OPEN"phillip3.mem" FOR INPUT AS 1
  1114. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  1115. 2730 INPUT #1,R:PSET(T,TT),R
  1116. 2740 NEXT T:NEXT TT
  1117. 2745 CLOSE 1
  1118. 2750 GET(1,1)-(16,16),GT
  1119. 2751 CLS
  1120. 2810 DIM GF(16,16)
  1121. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  1122. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  1123. 2830 INPUT #1,R:PSET(T,TT),R
  1124. 2840 NEXT T:NEXT TT
  1125. 2845 CLOSE 1
  1126. 2850 GET(1,1)-(16,16),GF
  1127. 2851 CLS
  1128. 2910 DIM GG(16,16)
  1129. 2915 OPEN"window01.mem" FOR INPUT AS 1
  1130. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  1131. 2930 INPUT #1,R:PSET(T,TT),R
  1132. 2940 NEXT T:NEXT TT
  1133. 2945 CLOSE 1
  1134. 2950 GET(1,1)-(16,16),GG
  1135. 2951 CLS
  1136. 3010 DIM GH(16,16)
  1137. 3015 OPEN"well01.mem" FOR INPUT AS 1
  1138. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  1139. 3030 INPUT #1,R:PSET(T,TT),R
  1140. 3040 NEXT T:NEXT TT
  1141. 3045 CLOSE 1
  1142. 3050 GET(1,1)-(16,16),GH
  1143. 3051 CLS
  1144. 3110 DIM GI(16,16)
  1145. 3115 OPEN"woman01.mem" FOR INPUT AS 1
  1146. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  1147. 3130 INPUT #1,R:PSET(T,TT),R
  1148. 3140 NEXT T:NEXT TT
  1149. 3145 CLOSE 1
  1150. 3150 GET(1,1)-(16,16),GI
  1151. 3151 CLS
  1152. 3210 DIM GJ(16,16)
  1153. 3215 OPEN"woman02.mem" FOR INPUT AS 1
  1154. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  1155. 3230 INPUT #1,R:PSET(T,TT),R
  1156. 3240 NEXT T:NEXT TT
  1157. 3245 CLOSE 1
  1158. 3250 GET(1,1)-(16,16),GJ
  1159. 3251 CLS
  1160. 3310 DIM GK(16,16)
  1161. 3315 OPEN"woman03.mem" FOR INPUT AS 1
  1162. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  1163. 3330 INPUT #1,R:PSET(T,TT),R
  1164. 3340 NEXT T:NEXT TT
  1165. 3345 CLOSE 1
  1166. 3350 GET(1,1)-(16,16),GK
  1167. 3351 CLS
  1168. 3915 OPEN"map004.mem" FOR INPUT AS 1
  1169. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  1170. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  1171. 3940 NEXT T:NEXT TT
  1172. 3945 CLOSE 1
  1173. 3951 CLS
  1174. 3999 RETURN
  1175. 5000 '
  1176. 5001 IF (MAP(8,4)<>0) THEN X=XX:Y=YY:RETURN 1010
  1177. 5010 'LOCATE 20,1:PRINT X;",";Y;
  1178. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  1179. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  1180. 5035 IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  1181. 5036 IF MAP(8,3)<>2 THEN DOORC=0
  1182. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  1183. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  1184. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  1185. 5043 IF X=2 AND Y=7 THEN LOCATE 18,1:PRINT"Woman: This is the dart shop."
  1186. 5044 IF X=7 AND Y=4 THEN LOCATE 18,1:PRINT"Man: Welcome to Mortstown."
  1187. 5045 IF X=10 AND Y=6 THEN LOCATE 18,1:PRINT"Man: Water from these wells is free!"
  1188. 5046 IF X=18 AND Y=8 THEN LOCATE 18,1:PRINT"Woman: The general store's owner is missing."
  1189. 5047 IF X=9 AND Y=14 THEN LOCATE 18,1:PRINT"Man: The blacksmith lives on the other side of the river."
  1190. 5048 IF X=4 AND Y=19 THEN LOCATE 18,1:PRINT"Man: Mort, the tavern keeper, enjoys meeting new faces."
  1191. 5049 IF X=8 AND Y=8 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
  1192. 5050 IF X=12 AND Y=16 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
  1193. 5051 IF X=16 AND Y=9 THEN LOCATE 18,1:PRINT"Lady: Welcome to Mortstown."
  1194. 5999 RETURN
  1195. 10000 '
  1196. 10010 PCOPY 0,1
  1197. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  1198. 10015 ST=5
  1199. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  1200. 10030 LINE(0,0)-(T,199),0,BF
  1201. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  1202. 10040 LINE(0,0)-(319,TT),0,BF
  1203. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  1204. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1205. 10047 LINE(240,0)-(319,199),0,BF
  1206. 10050 PCOPY 1,0
  1207. 10060 NEXT T
  1208. 10061 PSET(120,56),0
  1209. 10062 PCOPY 1,0
  1210. 10070 '
  1211. 10080 IF X=5 AND Y=5 THEN CHAIN"town.bas"
  1212. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  1213. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  1214. 
  1215. miscdun/DUN011.BAS
  1216. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=29:Y=14
  1217. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1218. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1219. 105 IF C$=CHR$(27) THEN 10000
  1220. 106 IF C$=CHR$(13) THEN 10000
  1221. 108 XX=X:YY=Y
  1222. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1223. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1224. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1225. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1226. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1227. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1228. 190 '
  1229. 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
  1230. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
  1231. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
  1232. 1000 '
  1233. 1010 PCOPY 2,1
  1234. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1235. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1236. 1040 NEXT T:NEXT TT
  1237. 1050 LINE(0,0)-(319,199),0,BF
  1238. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1239. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1240. 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=5) THEN PUT((T-1)*16,(TT-1)*16),GB
  1241. 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>5) THEN PUT((T-1)*16,(TT-1)*16),GC
  1242. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
  1243. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
  1244. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
  1245. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1246. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  1247. 1100 NEXT T:NEXT TT
  1248. 1102 GOSUB 5000
  1249. 1111 PCOPY 1,0
  1250. 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
  1251. 1120 GOTO 100
  1252. 2000 '
  1253. 2010 DIM GA(16,16)
  1254. 2015 OPEN"brick04.mem" FOR INPUT AS 1
  1255. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  1256. 2030 INPUT #1,R:PSET(T,TT),R
  1257. 2040 NEXT T:NEXT TT
  1258. 2045 CLOSE 1
  1259. 2050 GET(1,1)-(16,16),GA
  1260. 2051 CLS
  1261. 2110 DIM GB(16,16)
  1262. 2115 OPEN"door01.mem" FOR INPUT AS 1
  1263. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  1264. 2130 INPUT #1,R:PSET(T,TT),R
  1265. 2140 NEXT T:NEXT TT
  1266. 2145 CLOSE 1
  1267. 2150 GET(1,1)-(16,16),GB
  1268. 2151 CLS
  1269. 2210 DIM GC(16,16)
  1270. 2215 OPEN"door02.mem" FOR INPUT AS 1
  1271. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  1272. 2230 INPUT #1,R:PSET(T,TT),R
  1273. 2240 NEXT T:NEXT TT
  1274. 2245 CLOSE 1
  1275. 2250 GET(1,1)-(16,16),GC
  1276. 2251 CLS
  1277. 2310 DIM GD(16,16)
  1278. 2315 OPEN"tile01.mem" FOR INPUT AS 1
  1279. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  1280. 2330 INPUT #1,R:PSET(T,TT),R
  1281. 2340 NEXT T:NEXT TT
  1282. 2345 CLOSE 1
  1283. 2350 GET(1,1)-(16,16),GD
  1284. 2351 CLS
  1285. 2410 DIM GE(16,16)
  1286. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  1287. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  1288. 2430 INPUT #1,R:PSET(T,TT),R
  1289. 2440 NEXT T:NEXT TT
  1290. 2445 CLOSE 1
  1291. 2450 GET(1,1)-(16,16),GE
  1292. 2451 CLS
  1293. 2510 DIM GR(16,16)
  1294. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  1295. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  1296. 2530 INPUT #1,R:PSET(T,TT),R
  1297. 2540 NEXT T:NEXT TT
  1298. 2545 CLOSE 1
  1299. 2550 GET(1,1)-(16,16),GR
  1300. 2551 CLS
  1301. 2610 DIM GS(16,16)
  1302. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  1303. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  1304. 2630 INPUT #1,R:PSET(T,TT),R
  1305. 2640 NEXT T:NEXT TT
  1306. 2645 CLOSE 1
  1307. 2650 GET(1,1)-(16,16),GS
  1308. 2651 CLS
  1309. 2710 DIM GT(16,16)
  1310. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  1311. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  1312. 2730 INPUT #1,R:PSET(T,TT),R
  1313. 2740 NEXT T:NEXT TT
  1314. 2745 CLOSE 1
  1315. 2750 GET(1,1)-(16,16),GT
  1316. 2751 CLS
  1317. 2810 DIM GF(16,16)
  1318. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  1319. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  1320. 2830 INPUT #1,R:PSET(T,TT),R
  1321. 2840 NEXT T:NEXT TT
  1322. 2845 CLOSE 1
  1323. 2850 GET(1,1)-(16,16),GF
  1324. 2851 CLS
  1325. 2910 DIM GG(16,16)
  1326. 2915 OPEN"window01.mem" FOR INPUT AS 1
  1327. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  1328. 2930 INPUT #1,R:PSET(T,TT),R
  1329. 2940 NEXT T:NEXT TT
  1330. 2945 CLOSE 1
  1331. 2950 GET(1,1)-(16,16),GG
  1332. 2951 CLS
  1333. 3010 DIM GH(16,16)
  1334. 3015 OPEN"well01.mem" FOR INPUT AS 1
  1335. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  1336. 3030 INPUT #1,R:PSET(T,TT),R
  1337. 3040 NEXT T:NEXT TT
  1338. 3045 CLOSE 1
  1339. 3050 GET(1,1)-(16,16),GH
  1340. 3051 CLS
  1341. 3915 OPEN"map005.mem" FOR INPUT AS 1
  1342. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  1343. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  1344. 3940 NEXT T:NEXT TT
  1345. 3945 CLOSE 1
  1346. 3951 CLS
  1347. 3999 RETURN
  1348. 5000 '
  1349. 5001 IF (MAP(8,4)<>0) THEN X=XX:Y=YY:RETURN 1010
  1350. 5010 'LOCATE 1,32:PRINT X;",";Y;
  1351. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  1352. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  1353. 5035 IF MAP(8,5)=2 AND DOORC=0 THEN DOORC=TIMER
  1354. 5036 IF MAP(8,5)<>2 THEN DOORC=0
  1355. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  1356. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  1357. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  1358. 5043 IF MAP(8,3)=5 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
  1359. 5044 IF MAP(8,3)=7 THEN LOCATE 18,1:PRINT"Woman: Welcome to my bathhouse."
  1360. 5045 IF MAP(8,3)=7 THEN LOCATE 19,1:PRINT"It costs 5 gold pieces to use the water."
  1361. 5999 RETURN
  1362. 10000 '
  1363. 10010 PCOPY 0,1
  1364. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  1365. 10015 ST=5
  1366. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  1367. 10030 LINE(0,0)-(T,199),0,BF
  1368. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  1369. 10040 LINE(0,0)-(319,TT),0,BF
  1370. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  1371. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1372. 10050 PCOPY 1,0
  1373. 10060 NEXT T
  1374. 10061 PSET(120,56),0
  1375. 10062 PCOPY 1,0
  1376. 10070 '
  1377. 10080 IF X=29 AND Y=15 THEN CHAIN"dungeon.017"
  1378. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  1379. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  1380. 
  1381. miscdun/DUN012.BAS
  1382. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=8:Y=16
  1383. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1384. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1385. 105 IF C$=CHR$(27) THEN 10000
  1386. 106 IF C$=CHR$(13) THEN 10000
  1387. 108 XX=X:YY=Y
  1388. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1389. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1390. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1391. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1392. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1393. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1394. 190 '
  1395. 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
  1396. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
  1397. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
  1398. 1000 '
  1399. 1010 PCOPY 2,1
  1400. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1401. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1402. 1040 NEXT T:NEXT TT
  1403. 1050 LINE(0,0)-(319,199),0,BF
  1404. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1405. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1406. 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=3) THEN PUT((T-1)*16,(TT-1)*16),GB
  1407. 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>3) THEN PUT((T-1)*16,(TT-1)*16),GC
  1408. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
  1409. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
  1410. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
  1411. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1412. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  1413. 1100 IF MAP(T,TT)=6 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),6,BF
  1414. 1109 NEXT T:NEXT TT
  1415. 1110 GOSUB 5000
  1416. 1111 PCOPY 1,0
  1417. 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
  1418. 1120 GOTO 100
  1419. 2000 '
  1420. 2010 DIM GA(16,16)
  1421. 2015 OPEN"brick04.mem" FOR INPUT AS 1
  1422. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  1423. 2030 INPUT #1,R:PSET(T,TT),R
  1424. 2040 NEXT T:NEXT TT
  1425. 2045 CLOSE 1
  1426. 2050 GET(1,1)-(16,16),GA
  1427. 2051 CLS
  1428. 2110 DIM GB(16,16)
  1429. 2115 OPEN"door01.mem" FOR INPUT AS 1
  1430. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  1431. 2130 INPUT #1,R:PSET(T,TT),R
  1432. 2140 NEXT T:NEXT TT
  1433. 2145 CLOSE 1
  1434. 2150 GET(1,1)-(16,16),GB
  1435. 2151 CLS
  1436. 2210 DIM GC(16,16)
  1437. 2215 OPEN"door02.mem" FOR INPUT AS 1
  1438. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  1439. 2230 INPUT #1,R:PSET(T,TT),R
  1440. 2240 NEXT T:NEXT TT
  1441. 2245 CLOSE 1
  1442. 2250 GET(1,1)-(16,16),GC
  1443. 2251 CLS
  1444. 2310 DIM GD(16,16)
  1445. 2315 OPEN"tile01.mem" FOR INPUT AS 1
  1446. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  1447. 2330 INPUT #1,R:PSET(T,TT),R
  1448. 2340 NEXT T:NEXT TT
  1449. 2345 CLOSE 1
  1450. 2350 GET(1,1)-(16,16),GD
  1451. 2351 CLS
  1452. 2410 DIM GE(16,16)
  1453. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  1454. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  1455. 2430 INPUT #1,R:PSET(T,TT),R
  1456. 2440 NEXT T:NEXT TT
  1457. 2445 CLOSE 1
  1458. 2450 GET(1,1)-(16,16),GE
  1459. 2451 CLS
  1460. 2510 DIM GR(16,16)
  1461. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  1462. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  1463. 2530 INPUT #1,R:PSET(T,TT),R
  1464. 2540 NEXT T:NEXT TT
  1465. 2545 CLOSE 1
  1466. 2550 GET(1,1)-(16,16),GR
  1467. 2551 CLS
  1468. 2610 DIM GS(16,16)
  1469. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  1470. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  1471. 2630 INPUT #1,R:PSET(T,TT),R
  1472. 2640 NEXT T:NEXT TT
  1473. 2645 CLOSE 1
  1474. 2650 GET(1,1)-(16,16),GS
  1475. 2651 CLS
  1476. 2710 DIM GT(16,16)
  1477. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  1478. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  1479. 2730 INPUT #1,R:PSET(T,TT),R
  1480. 2740 NEXT T:NEXT TT
  1481. 2745 CLOSE 1
  1482. 2750 GET(1,1)-(16,16),GT
  1483. 2751 CLS
  1484. 2810 DIM GF(16,16)
  1485. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  1486. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  1487. 2830 INPUT #1,R:PSET(T,TT),R
  1488. 2840 NEXT T:NEXT TT
  1489. 2845 CLOSE 1
  1490. 2850 GET(1,1)-(16,16),GF
  1491. 2851 CLS
  1492. 2910 DIM GG(16,16)
  1493. 2915 OPEN"window01.mem" FOR INPUT AS 1
  1494. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  1495. 2930 INPUT #1,R:PSET(T,TT),R
  1496. 2940 NEXT T:NEXT TT
  1497. 2945 CLOSE 1
  1498. 2950 GET(1,1)-(16,16),GG
  1499. 2951 CLS
  1500. 3010 DIM GH(16,16)
  1501. 3015 OPEN"well01.mem" FOR INPUT AS 1
  1502. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  1503. 3030 INPUT #1,R:PSET(T,TT),R
  1504. 3040 NEXT T:NEXT TT
  1505. 3045 CLOSE 1
  1506. 3050 GET(1,1)-(16,16),GH
  1507. 3051 CLS
  1508. 3915 OPEN"map006.mem" FOR INPUT AS 1
  1509. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  1510. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  1511. 3940 NEXT T:NEXT TT
  1512. 3945 CLOSE 1
  1513. 3951 CLS
  1514. 3999 RETURN
  1515. 5000 '
  1516. 5001 IF (MAP(8,4)<>0 AND MAP(8,4)<>6) THEN X=XX:Y=YY:RETURN 1010
  1517. 5010 'LOCATE 20,1:PRINT X;",";Y;
  1518. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  1519. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  1520. 5035 IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  1521. 5036 IF MAP(8,3)<>2 THEN DOORC=0
  1522. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  1523. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  1524. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  1525. 5049 IF MAP(8,3)=5 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
  1526. 5999 RETURN
  1527. 10000 '
  1528. 10010 PCOPY 0,1
  1529. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  1530. 10015 ST=5
  1531. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  1532. 10030 LINE(0,0)-(T,199),0,BF
  1533. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  1534. 10040 LINE(0,0)-(319,TT),0,BF
  1535. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  1536. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1537. 10050 PCOPY 1,0
  1538. 10060 NEXT T
  1539. 10061 PSET(120,56),0
  1540. 10062 PCOPY 1,0:TT=0
  1541. 10070 '
  1542. 10080 IF X=29 AND Y=10 THEN CHAIN"dungeon.011"
  1543. 10081 IF X=0 AND Y=>13 AND Y<=16 THEN CHAIN"dungeon.010"
  1544. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  1545. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  1546. 
  1547. miscdun/DUN015.BAS
  1548. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=12:Y=18
  1549. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1550. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1551. 105 IF C$=CHR$(27) THEN 10000
  1552. 106 IF C$=CHR$(13) THEN 10000
  1553. 108 XX=X:YY=Y
  1554. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1555. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1556. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1557. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1558. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1559. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1560. 190 '
  1561. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  1562. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  1563. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  1564. 1000 '
  1565. 1010 PCOPY 2,1
  1566. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1567. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1568. 1040 NEXT T:NEXT TT
  1569. 1050 LINE(0,0)-(319,199),0,BF
  1570. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1571. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1572. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GO
  1573. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GO
  1574. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  1575. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  1576. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  1577. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  1578. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GN
  1579. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  1580. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1581. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  1582. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  1583. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  1584. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  1585. 1103 IF MAP(T,TT)=15 AND ((T=8 AND TT=3) OR (T=8 AND TT=5)) THEN PUT((T-1)*16,(TT-1)*16),GL
  1586. 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
  1587. 1105 IF MAP(T,TT)=10 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  1588. 1106 IF MAP(T,TT)=10 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  1589. 1109 NEXT T:NEXT TT
  1590. 1110 GOSUB 5000
  1591. 1111 PCOPY 1,0
  1592. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  1593. 1120 GOTO 100
  1594. 2000 '
  1595. 2010 DIM GA(16,16)
  1596. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  1597. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  1598. 2030 INPUT #1,R:PSET(T,TT),R
  1599. 2040 NEXT T:NEXT TT
  1600. 2045 CLOSE 1
  1601. 2050 GET(1,1)-(16,16),GA
  1602. 2051 CLS
  1603. 2110 DIM GB(16,16)
  1604. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  1605. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  1606. 2130 INPUT #1,R:PSET(T,TT),R
  1607. 2140 NEXT T:NEXT TT
  1608. 2145 CLOSE 1
  1609. 2150 GET(1,1)-(16,16),GB
  1610. 2151 CLS
  1611. 2210 DIM GC(16,16)
  1612. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  1613. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  1614. 2230 INPUT #1,R:PSET(T,TT),R
  1615. 2240 NEXT T:NEXT TT
  1616. 2245 CLOSE 1
  1617. 2250 GET(1,1)-(16,16),GC
  1618. 2251 CLS
  1619. 2310 DIM GD(16,16)
  1620. 2315 OPEN"brick07.mem" FOR INPUT AS 1
  1621. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  1622. 2330 INPUT #1,R:PSET(T,TT),R
  1623. 2340 NEXT T:NEXT TT
  1624. 2345 CLOSE 1
  1625. 2350 GET(1,1)-(16,16),GD
  1626. 2351 CLS
  1627. 2410 DIM GE(16,16)
  1628. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  1629. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  1630. 2430 INPUT #1,R:PSET(T,TT),R
  1631. 2440 NEXT T:NEXT TT
  1632. 2445 CLOSE 1
  1633. 2450 GET(1,1)-(16,16),GE
  1634. 2451 CLS
  1635. 2510 DIM GR(16,16)
  1636. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  1637. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  1638. 2530 INPUT #1,R:PSET(T,TT),R
  1639. 2540 NEXT T:NEXT TT
  1640. 2545 CLOSE 1
  1641. 2550 GET(1,1)-(16,16),GR
  1642. 2551 CLS
  1643. 2610 DIM GS(16,16)
  1644. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  1645. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  1646. 2630 INPUT #1,R:PSET(T,TT),R
  1647. 2640 NEXT T:NEXT TT
  1648. 2645 CLOSE 1
  1649. 2650 GET(1,1)-(16,16),GS
  1650. 2651 CLS
  1651. 2710 DIM GT(16,16)
  1652. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  1653. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  1654. 2730 INPUT #1,R:PSET(T,TT),R
  1655. 2740 NEXT T:NEXT TT
  1656. 2745 CLOSE 1
  1657. 2750 GET(1,1)-(16,16),GT
  1658. 2751 CLS
  1659. 2810 DIM GF(16,16)
  1660. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  1661. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  1662. 2830 INPUT #1,R:PSET(T,TT),R
  1663. 2840 NEXT T:NEXT TT
  1664. 2845 CLOSE 1
  1665. 2850 GET(1,1)-(16,16),GF
  1666. 2851 CLS
  1667. 2910 DIM GI(16,16)
  1668. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  1669. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  1670. 2930 INPUT #1,R:PSET(T,TT),R
  1671. 2940 NEXT T:NEXT TT
  1672. 2945 CLOSE 1
  1673. 2950 GET(1,1)-(16,16),GI
  1674. 2951 CLS
  1675. 3010 DIM GJ(16,16)
  1676. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  1677. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  1678. 3030 INPUT #1,R:PSET(T,TT),R
  1679. 3040 NEXT T:NEXT TT
  1680. 3045 CLOSE 1
  1681. 3050 GET(1,1)-(16,16),GJ
  1682. 3051 CLS
  1683. 3110 DIM GK(16,16)
  1684. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  1685. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  1686. 3130 INPUT #1,R:PSET(T,TT),R
  1687. 3140 NEXT T:NEXT TT
  1688. 3145 CLOSE 1
  1689. 3150 GET(1,1)-(16,16),GK
  1690. 3151 CLS
  1691. 3210 DIM GL(16,16)
  1692. 3215 OPEN"door03.mem" FOR INPUT AS 1
  1693. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  1694. 3230 INPUT #1,R:PSET(T,TT),R
  1695. 3240 NEXT T:NEXT TT
  1696. 3245 CLOSE 1
  1697. 3250 GET(1,1)-(16,16),GL
  1698. 3251 CLS
  1699. 3310 DIM GM(16,16)
  1700. 3315 OPEN"door04.mem" FOR INPUT AS 1
  1701. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  1702. 3330 INPUT #1,R:PSET(T,TT),R
  1703. 3340 NEXT T:NEXT TT
  1704. 3345 CLOSE 1
  1705. 3350 GET(1,1)-(16,16),GM
  1706. 3351 CLS
  1707. 3410 DIM GN(16,16)
  1708. 3415 OPEN"water01.mem" FOR INPUT AS 1
  1709. 3420 FOR TT=1 TO 16:FOR T=1 TO 16
  1710. 3430 INPUT #1,R:PSET(T,TT),R
  1711. 3440 NEXT T:NEXT TT
  1712. 3445 CLOSE 1
  1713. 3450 GET(1,1)-(16,16),GN
  1714. 3451 CLS
  1715. 3510 DIM GO(16,16)
  1716. 3515 OPEN"rock01.mem" FOR INPUT AS 1
  1717. 3520 FOR TT=1 TO 16:FOR T=1 TO 16
  1718. 3530 INPUT #1,R:PSET(T,TT),R
  1719. 3540 NEXT T:NEXT TT
  1720. 3545 CLOSE 1
  1721. 3550 GET(1,1)-(16,16),GO
  1722. 3551 CLS
  1723. 3915 OPEN"map008.mem" FOR INPUT AS 1
  1724. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  1725. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  1726. 3940 NEXT T:NEXT TT
  1727. 3945 CLOSE 1
  1728. 3951 CLS
  1729. 3999 RETURN
  1730. 5000 '
  1731. 5001 IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 OR MAP(8,4)=>7 THEN X=XX:Y=YY:RETURN 1010
  1732. 5010 'LOCATE 1,32:PRINT X;",";Y;
  1733. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  1734. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  1735. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  1736. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  1737. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  1738. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  1739. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  1740. 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  1741. 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  1742. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  1743. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  1744. 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  1745. 5999 RETURN
  1746. 10000 '
  1747. 10010 PCOPY 0,1
  1748. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  1749. 10015 ST=5
  1750. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  1751. 10030 LINE(0,0)-(T,199),0,BF
  1752. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  1753. 10040 LINE(0,0)-(319,TT),0,BF
  1754. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  1755. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1756. 10047 LINE(240,0)-(319,199),0,BF
  1757. 10050 PCOPY 1,0
  1758. 10060 NEXT T
  1759. 10061 PSET(120,56),0
  1760. 10062 PCOPY 1,0
  1761. 10070 '
  1762. 10080 IF X=1 AND Y=0 THEN 'CHAIN"town.bas"
  1763. 10081 IF X=>12 AND X<=13 AND Y=17 THEN CHAIN"dungeon.016"
  1764. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  1765. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  1766. 
  1767. miscdun/DUN016.BAS
  1768. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=58:Y=29
  1769. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1770. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1771. 105 IF C$=CHR$(27) THEN 10000
  1772. 106 IF C$=CHR$(13) THEN 10000
  1773. 108 XX=X:YY=Y
  1774. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1775. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1776. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1777. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1778. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1779. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1780. 190 '
  1781. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  1782. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  1783. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  1784. 1000 '
  1785. 1010 PCOPY 2,1
  1786. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1787. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1788. 1040 NEXT T:NEXT TT
  1789. 1050 LINE(0,0)-(319,199),0,BF
  1790. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1791. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1792. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  1793. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  1794. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  1795. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  1796. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  1797. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  1798. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
  1799. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  1800. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1801. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  1802. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  1803. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  1804. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  1805. 1103 IF MAP(T,TT)=15 AND ((T=8 AND TT=3) OR (T=8 AND TT=5)) THEN PUT((T-1)*16,(TT-1)*16),GL
  1806. 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
  1807. 1109 NEXT T:NEXT TT
  1808. 1110 GOSUB 5000
  1809. 1111 PCOPY 1,0
  1810. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  1811. 1120 GOTO 100
  1812. 2000 '
  1813. 2010 DIM GA(16,16)
  1814. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  1815. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  1816. 2030 INPUT #1,R:PSET(T,TT),R
  1817. 2040 NEXT T:NEXT TT
  1818. 2045 CLOSE 1
  1819. 2050 GET(1,1)-(16,16),GA
  1820. 2051 CLS
  1821. 2110 DIM GB(16,16)
  1822. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  1823. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  1824. 2130 INPUT #1,R:PSET(T,TT),R
  1825. 2140 NEXT T:NEXT TT
  1826. 2145 CLOSE 1
  1827. 2150 GET(1,1)-(16,16),GB
  1828. 2151 CLS
  1829. 2210 DIM GC(16,16)
  1830. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  1831. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  1832. 2230 INPUT #1,R:PSET(T,TT),R
  1833. 2240 NEXT T:NEXT TT
  1834. 2245 CLOSE 1
  1835. 2250 GET(1,1)-(16,16),GC
  1836. 2251 CLS
  1837. 2310 DIM GD(16,16)
  1838. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  1839. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  1840. 2330 INPUT #1,R:PSET(T,TT),R
  1841. 2340 NEXT T:NEXT TT
  1842. 2345 CLOSE 1
  1843. 2350 GET(1,1)-(16,16),GD
  1844. 2351 CLS
  1845. 2410 DIM GE(16,16)
  1846. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  1847. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  1848. 2430 INPUT #1,R:PSET(T,TT),R
  1849. 2440 NEXT T:NEXT TT
  1850. 2445 CLOSE 1
  1851. 2450 GET(1,1)-(16,16),GE
  1852. 2451 CLS
  1853. 2510 DIM GR(16,16)
  1854. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  1855. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  1856. 2530 INPUT #1,R:PSET(T,TT),R
  1857. 2540 NEXT T:NEXT TT
  1858. 2545 CLOSE 1
  1859. 2550 GET(1,1)-(16,16),GR
  1860. 2551 CLS
  1861. 2610 DIM GS(16,16)
  1862. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  1863. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  1864. 2630 INPUT #1,R:PSET(T,TT),R
  1865. 2640 NEXT T:NEXT TT
  1866. 2645 CLOSE 1
  1867. 2650 GET(1,1)-(16,16),GS
  1868. 2651 CLS
  1869. 2710 DIM GT(16,16)
  1870. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  1871. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  1872. 2730 INPUT #1,R:PSET(T,TT),R
  1873. 2740 NEXT T:NEXT TT
  1874. 2745 CLOSE 1
  1875. 2750 GET(1,1)-(16,16),GT
  1876. 2751 CLS
  1877. 2810 DIM GF(16,16)
  1878. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  1879. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  1880. 2830 INPUT #1,R:PSET(T,TT),R
  1881. 2840 NEXT T:NEXT TT
  1882. 2845 CLOSE 1
  1883. 2850 GET(1,1)-(16,16),GF
  1884. 2851 CLS
  1885. 2910 DIM GI(16,16)
  1886. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  1887. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  1888. 2930 INPUT #1,R:PSET(T,TT),R
  1889. 2940 NEXT T:NEXT TT
  1890. 2945 CLOSE 1
  1891. 2950 GET(1,1)-(16,16),GI
  1892. 2951 CLS
  1893. 3010 DIM GJ(16,16)
  1894. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  1895. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  1896. 3030 INPUT #1,R:PSET(T,TT),R
  1897. 3040 NEXT T:NEXT TT
  1898. 3045 CLOSE 1
  1899. 3050 GET(1,1)-(16,16),GJ
  1900. 3051 CLS
  1901. 3110 DIM GK(16,16)
  1902. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  1903. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  1904. 3130 INPUT #1,R:PSET(T,TT),R
  1905. 3140 NEXT T:NEXT TT
  1906. 3145 CLOSE 1
  1907. 3150 GET(1,1)-(16,16),GK
  1908. 3151 CLS
  1909. 3210 DIM GL(16,16)
  1910. 3215 OPEN"door03.mem" FOR INPUT AS 1
  1911. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  1912. 3230 INPUT #1,R:PSET(T,TT),R
  1913. 3240 NEXT T:NEXT TT
  1914. 3245 CLOSE 1
  1915. 3250 GET(1,1)-(16,16),GL
  1916. 3251 CLS
  1917. 3310 DIM GM(16,16)
  1918. 3315 OPEN"door04.mem" FOR INPUT AS 1
  1919. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  1920. 3330 INPUT #1,R:PSET(T,TT),R
  1921. 3340 NEXT T:NEXT TT
  1922. 3345 CLOSE 1
  1923. 3350 GET(1,1)-(16,16),GM
  1924. 3351 CLS
  1925. 3915 OPEN"map003.mem" FOR INPUT AS 1
  1926. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  1927. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  1928. 3940 NEXT T:NEXT TT
  1929. 3945 CLOSE 1
  1930. 3951 CLS
  1931. 3999 RETURN
  1932. 5000 '
  1933. 5001 IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 OR MAP(8,4)=>7 THEN X=XX:Y=YY:RETURN 1010
  1934. 5010 'LOCATE 1,32:PRINT X;",";Y;
  1935. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  1936. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  1937. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  1938. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  1939. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  1940. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  1941. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  1942. 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  1943. 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  1944. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  1945. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  1946. 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  1947. 5999 RETURN
  1948. 10000 '
  1949. 10010 PCOPY 0,1
  1950. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  1951. 10015 ST=5
  1952. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  1953. 10030 LINE(0,0)-(T,199),0,BF
  1954. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  1955. 10040 LINE(0,0)-(319,TT),0,BF
  1956. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  1957. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1958. 10047 LINE(240,0)-(319,199),0,BF
  1959. 10050 PCOPY 1,0
  1960. 10060 NEXT T
  1961. 10061 PSET(120,56),0
  1962. 10062 PCOPY 1,0
  1963. 10070 '
  1964. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  1965. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  1966. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  1967. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  1968. 
  1969. miscdun/DUN017.BAS
  1970. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=29:Y=11
  1971. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1972. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1973. 105 IF C$=CHR$(27) THEN 10000
  1974. 106 IF C$=CHR$(13) THEN 10000
  1975. 108 XX=X:YY=Y
  1976. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1977. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1978. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1979. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1980. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1981. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1982. 190 '
  1983. 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
  1984. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
  1985. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
  1986. 1000 '
  1987. 1010 PCOPY 2,1
  1988. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1989. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1990. 1040 NEXT T:NEXT TT
  1991. 1050 LINE(0,0)-(319,199),0,BF
  1992. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1993. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1994. 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=3) THEN PUT((T-1)*16,(TT-1)*16),GB
  1995. 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>3) THEN PUT((T-1)*16,(TT-1)*16),GC
  1996. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
  1997. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
  1998. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
  1999. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  2000. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  2001. 1100 IF MAP(T,TT)=6 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),6,BF
  2002. 1109 NEXT T:NEXT TT
  2003. 1110 GOSUB 5000
  2004. 1111 PCOPY 1,0
  2005. 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
  2006. 1120 GOTO 100
  2007. 2000 '
  2008. 2010 DIM GA(16,16)
  2009. 2015 OPEN"brick04.mem" FOR INPUT AS 1
  2010. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  2011. 2030 INPUT #1,R:PSET(T,TT),R
  2012. 2040 NEXT T:NEXT TT
  2013. 2045 CLOSE 1
  2014. 2050 GET(1,1)-(16,16),GA
  2015. 2051 CLS
  2016. 2110 DIM GB(16,16)
  2017. 2115 OPEN"door01.mem" FOR INPUT AS 1
  2018. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  2019. 2130 INPUT #1,R:PSET(T,TT),R
  2020. 2140 NEXT T:NEXT TT
  2021. 2145 CLOSE 1
  2022. 2150 GET(1,1)-(16,16),GB
  2023. 2151 CLS
  2024. 2210 DIM GC(16,16)
  2025. 2215 OPEN"door02.mem" FOR INPUT AS 1
  2026. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  2027. 2230 INPUT #1,R:PSET(T,TT),R
  2028. 2240 NEXT T:NEXT TT
  2029. 2245 CLOSE 1
  2030. 2250 GET(1,1)-(16,16),GC
  2031. 2251 CLS
  2032. 2310 DIM GD(16,16)
  2033. 2315 OPEN"tile01.mem" FOR INPUT AS 1
  2034. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  2035. 2330 INPUT #1,R:PSET(T,TT),R
  2036. 2340 NEXT T:NEXT TT
  2037. 2345 CLOSE 1
  2038. 2350 GET(1,1)-(16,16),GD
  2039. 2351 CLS
  2040. 2410 DIM GE(16,16)
  2041. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  2042. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  2043. 2430 INPUT #1,R:PSET(T,TT),R
  2044. 2440 NEXT T:NEXT TT
  2045. 2445 CLOSE 1
  2046. 2450 GET(1,1)-(16,16),GE
  2047. 2451 CLS
  2048. 2510 DIM GR(16,16)
  2049. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  2050. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  2051. 2530 INPUT #1,R:PSET(T,TT),R
  2052. 2540 NEXT T:NEXT TT
  2053. 2545 CLOSE 1
  2054. 2550 GET(1,1)-(16,16),GR
  2055. 2551 CLS
  2056. 2610 DIM GS(16,16)
  2057. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  2058. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  2059. 2630 INPUT #1,R:PSET(T,TT),R
  2060. 2640 NEXT T:NEXT TT
  2061. 2645 CLOSE 1
  2062. 2650 GET(1,1)-(16,16),GS
  2063. 2651 CLS
  2064. 2710 DIM GT(16,16)
  2065. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  2066. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  2067. 2730 INPUT #1,R:PSET(T,TT),R
  2068. 2740 NEXT T:NEXT TT
  2069. 2745 CLOSE 1
  2070. 2750 GET(1,1)-(16,16),GT
  2071. 2751 CLS
  2072. 2810 DIM GF(16,16)
  2073. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  2074. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  2075. 2830 INPUT #1,R:PSET(T,TT),R
  2076. 2840 NEXT T:NEXT TT
  2077. 2845 CLOSE 1
  2078. 2850 GET(1,1)-(16,16),GF
  2079. 2851 CLS
  2080. 2910 DIM GG(16,16)
  2081. 2915 OPEN"window01.mem" FOR INPUT AS 1
  2082. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  2083. 2930 INPUT #1,R:PSET(T,TT),R
  2084. 2940 NEXT T:NEXT TT
  2085. 2945 CLOSE 1
  2086. 2950 GET(1,1)-(16,16),GG
  2087. 2951 CLS
  2088. 3010 DIM GH(16,16)
  2089. 3015 OPEN"well01.mem" FOR INPUT AS 1
  2090. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  2091. 3030 INPUT #1,R:PSET(T,TT),R
  2092. 3040 NEXT T:NEXT TT
  2093. 3045 CLOSE 1
  2094. 3050 GET(1,1)-(16,16),GH
  2095. 3051 CLS
  2096. 3915 OPEN"map006.mem" FOR INPUT AS 1
  2097. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  2098. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  2099. 3940 NEXT T:NEXT TT
  2100. 3945 CLOSE 1
  2101. 3951 CLS
  2102. 3999 RETURN
  2103. 5000 '
  2104. 5001 IF (MAP(8,4)<>0 AND MAP(8,4)<>6) THEN X=XX:Y=YY:RETURN 1010
  2105. 5010 'LOCATE 20,1:PRINT X;",";Y;
  2106. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  2107. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  2108. 5035 IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  2109. 5036 IF MAP(8,3)<>2 THEN DOORC=0
  2110. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  2111. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  2112. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  2113. 5049 IF MAP(8,3)=5 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
  2114. 5999 RETURN
  2115. 10000 '
  2116. 10010 PCOPY 0,1
  2117. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2118. 10015 ST=5
  2119. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  2120. 10030 LINE(0,0)-(T,199),0,BF
  2121. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  2122. 10040 LINE(0,0)-(319,TT),0,BF
  2123. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  2124. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2125. 10050 PCOPY 1,0
  2126. 10060 NEXT T
  2127. 10061 PSET(120,56),0
  2128. 10062 PCOPY 1,0:TT=0
  2129. 10070 '
  2130. 10080 IF X=29 AND Y=10 THEN CHAIN"dungeon.011"
  2131. 10081 IF X=0 AND Y=>13 AND Y<=16 THEN CHAIN"dungeon.010"
  2132. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  2133. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  2134. 
  2135. miscdun/DUN018.BAS
  2136. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=22:Y=15
  2137. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  2138. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  2139. 105 IF C$=CHR$(27) THEN 10000
  2140. 106 IF C$=CHR$(13) THEN 10000
  2141. 107 IF C$="p" OR C$="P" THEN 20000
  2142. 108 XX=X:YY=Y
  2143. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  2144. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  2145. 130 IF INSTR("369",C$)>0 THEN X=X+1
  2146. 140 IF INSTR("147",C$)>0 THEN X=X-1
  2147. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  2148. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  2149. 190 '
  2150. 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
  2151. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
  2152. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
  2153. 1000 '
  2154. 1010 PCOPY 2,1
  2155. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  2156. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  2157. 1040 NEXT T:NEXT TT
  2158. 1050 LINE(0,0)-(319,199),0,BF
  2159. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  2160. 1065 IF MAP(T,TT)=1 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GA
  2161. 1070 IF MAP(T,TT)=1 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GB
  2162. 1075 IF MAP(T,TT)=1 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GC
  2163. 1080 IF MAP(T,TT)=2 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GD
  2164. 1090 IF MAP(T,TT)=2 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GE
  2165. 1096 IF MAP(T,TT)=3 AND (GC=1 OR GC=3) THEN PUT((T-1)*16,(TT-1)*16),GF
  2166. 1097 IF MAP(T,TT)=3 AND GC=2 THEN PUT((T-1)*16,(TT-1)*16),GG
  2167. 1098 IF MAP(T,TT)=3 AND GC=4 THEN PUT((T-1)*16,(TT-1)*16),GH
  2168. 1099 IF MAP(T,TT)=4 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  2169. 1100 IF MAP(T,TT)=4 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  2170. 1101 IF MAP(T,TT)=4 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  2171. 1102 IF MAP(T,TT)=5 AND (GC=1 OR GC=3) THEN PUT((T-1)*16,(TT-1)*16),GL
  2172. 1103 IF MAP(T,TT)=5 AND GC=4 THEN PUT((T-1)*16,(TT-1)*16),GM
  2173. 1104 IF MAP(T,TT)=5 AND GC=2 THEN PUT((T-1)*16,(TT-1)*16),GN
  2174. 1105 IF MAP(T,TT)=6 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GR
  2175. 1106 IF MAP(T,TT)=6 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GS
  2176. 1107 IF MAP(T,TT)=6 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GT
  2177. 1109 NEXT T:NEXT TT
  2178. 1110 GOSUB 5000
  2179. 1111 PCOPY 1,0
  2180. 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
  2181. 1120 GOTO 100
  2182. 2000 '
  2183. 2010 DIM GR(16,16)
  2184. 2015 OPEN"phillip1.mem" FOR INPUT AS 1
  2185. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  2186. 2030 INPUT #1,R:PSET(T,TT),R
  2187. 2040 NEXT T:NEXT TT
  2188. 2045 CLOSE 1
  2189. 2050 GET(1,1)-(16,16),GR
  2190. 2051 CLS
  2191. 2110 DIM GS(16,16)
  2192. 2115 OPEN"phillip2.mem" FOR INPUT AS 1
  2193. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  2194. 2130 INPUT #1,R:PSET(T,TT),R
  2195. 2140 NEXT T:NEXT TT
  2196. 2145 CLOSE 1
  2197. 2150 GET(1,1)-(16,16),GS
  2198. 2151 CLS
  2199. 2210 DIM GT(16,16)
  2200. 2215 OPEN"phillip3.mem" FOR INPUT AS 1
  2201. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  2202. 2230 INPUT #1,R:PSET(T,TT),R
  2203. 2240 NEXT T:NEXT TT
  2204. 2245 CLOSE 1
  2205. 2250 GET(1,1)-(16,16),GT
  2206. 2251 CLS
  2207. 2310 DIM GA(16,16)
  2208. 2315 OPEN"guard1.mem" FOR INPUT AS 1
  2209. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  2210. 2330 INPUT #1,R:PSET(T,TT),R
  2211. 2340 NEXT T:NEXT TT
  2212. 2345 CLOSE 1
  2213. 2350 GET(1,1)-(16,16),GA
  2214. 2351 CLS
  2215. 2410 DIM GB(16,16)
  2216. 2415 OPEN"guard2.mem" FOR INPUT AS 1
  2217. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  2218. 2430 INPUT #1,R:PSET(T,TT),R
  2219. 2440 NEXT T:NEXT TT
  2220. 2445 CLOSE 1
  2221. 2450 GET(1,1)-(16,16),GB
  2222. 2451 CLS
  2223. 2510 DIM GC(16,16)
  2224. 2515 OPEN"guard3.mem" FOR INPUT AS 1
  2225. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  2226. 2530 INPUT #1,R:PSET(T,TT),R
  2227. 2540 NEXT T:NEXT TT
  2228. 2545 CLOSE 1
  2229. 2550 GET(1,1)-(16,16),GC
  2230. 2551 CLS
  2231. 2610 DIM GD(16,16)
  2232. 2615 OPEN"caveman1.mem" FOR INPUT AS 1
  2233. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  2234. 2630 INPUT #1,R:PSET(T,TT),R
  2235. 2640 NEXT T:NEXT TT
  2236. 2645 CLOSE 1
  2237. 2650 GET(1,1)-(16,16),GD
  2238. 2651 CLS
  2239. 2710 DIM GE(16,16)
  2240. 2715 OPEN"caveman2.mem" FOR INPUT AS 1
  2241. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  2242. 2730 INPUT #1,R:PSET(T,TT),R
  2243. 2740 NEXT T:NEXT TT
  2244. 2745 CLOSE 1
  2245. 2750 GET(1,1)-(16,16),GE
  2246. 2751 CLS
  2247. 2810 DIM GF(16,16)
  2248. 2815 OPEN"woman01.mem" FOR INPUT AS 1
  2249. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  2250. 2830 INPUT #1,R:PSET(T,TT),R
  2251. 2840 NEXT T:NEXT TT
  2252. 2845 CLOSE 1
  2253. 2850 GET(1,1)-(16,16),GF
  2254. 2851 CLS
  2255. 2910 DIM GG(16,16)
  2256. 2915 OPEN"woman02.mem" FOR INPUT AS 1
  2257. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  2258. 2930 INPUT #1,R:PSET(T,TT),R
  2259. 2940 NEXT T:NEXT TT
  2260. 2945 CLOSE 1
  2261. 2950 GET(1,1)-(16,16),GG
  2262. 2951 CLS
  2263. 3010 DIM GH(16,16)
  2264. 3015 OPEN"woman03.mem" FOR INPUT AS 1
  2265. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  2266. 3030 INPUT #1,R:PSET(T,TT),R
  2267. 3040 NEXT T:NEXT TT
  2268. 3045 CLOSE 1
  2269. 3050 GET(1,1)-(16,16),GH
  2270. 3051 CLS
  2271. 3110 DIM GI(16,16)
  2272. 3115 OPEN"pndex1.mem" FOR INPUT AS 1
  2273. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  2274. 3130 INPUT #1,R:PSET(T,TT),R
  2275. 3140 NEXT T:NEXT TT
  2276. 3145 CLOSE 1
  2277. 3150 GET(1,1)-(16,16),GI
  2278. 3151 CLS
  2279. 3210 DIM GJ(16,16)
  2280. 3215 OPEN"pndex2.mem" FOR INPUT AS 1
  2281. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  2282. 3230 INPUT #1,R:PSET(T,TT),R
  2283. 3240 NEXT T:NEXT TT
  2284. 3245 CLOSE 1
  2285. 3250 GET(1,1)-(16,16),GJ
  2286. 3251 CLS
  2287. 3310 DIM GK(16,16)
  2288. 3315 OPEN"pndex3.mem" FOR INPUT AS 1
  2289. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  2290. 3330 INPUT #1,R:PSET(T,TT),R
  2291. 3340 NEXT T:NEXT TT
  2292. 3345 CLOSE 1
  2293. 3350 GET(1,1)-(16,16),GK
  2294. 3351 CLS
  2295. 3410 DIM GL(16,16)
  2296. 3415 OPEN"dereck1.mem" FOR INPUT AS 1
  2297. 3420 FOR TT=1 TO 16:FOR T=1 TO 16
  2298. 3430 INPUT #1,R:PSET(T,TT),R
  2299. 3440 NEXT T:NEXT TT
  2300. 3445 CLOSE 1
  2301. 3450 GET(1,1)-(16,16),GL
  2302. 3451 CLS
  2303. 3510 DIM GM(16,16)
  2304. 3515 OPEN"dereck2.mem" FOR INPUT AS 1
  2305. 3520 FOR TT=1 TO 16:FOR T=1 TO 16
  2306. 3530 INPUT #1,R:PSET(T,TT),R
  2307. 3540 NEXT T:NEXT TT
  2308. 3545 CLOSE 1
  2309. 3550 GET(1,1)-(16,16),GM
  2310. 3551 CLS
  2311. 3610 DIM GN(16,16)
  2312. 3615 OPEN"dereck3.mem" FOR INPUT AS 1
  2313. 3620 FOR TT=1 TO 16:FOR T=1 TO 16
  2314. 3630 INPUT #1,R:PSET(T,TT),R
  2315. 3640 NEXT T:NEXT TT
  2316. 3645 CLOSE 1
  2317. 3650 GET(1,1)-(16,16),GN
  2318. 3651 CLS
  2319. 3915 OPEN"map009.mem" FOR INPUT AS 1
  2320. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  2321. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  2322. 3940 NEXT T:NEXT TT
  2323. 3945 CLOSE 1
  2324. 3951 CLS
  2325. 3999 RETURN
  2326. 5000 '
  2327. 5001 IF (MAP(8,4)<>0) THEN X=XX:Y=YY:RETURN 1010
  2328. 5010 'LOCATE 1,32:PRINT X;",";Y;
  2329. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  2330. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  2331. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  2332. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  2333. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  2334. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  2335. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  2336. 5043 LOCATE 18,1:PRINT"Dereck: It's a trap!"
  2337. 5044 LOCATE 19,1:PRINT"Poindexter: Run for your life!!"
  2338. 5999 RETURN
  2339. 10000 '
  2340. 10010 PCOPY 0,1
  2341. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2342. 10015 ST=5
  2343. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  2344. 10030 LINE(0,0)-(T,199),0,BF
  2345. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  2346. 10040 LINE(0,0)-(319,TT),0,BF
  2347. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  2348. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2349. 10047 LINE(240,0)-(319,199),0,BF
  2350. 10050 PCOPY 1,0
  2351. 10060 NEXT T
  2352. 10061 PSET(120,56),0
  2353. 10062 PCOPY 1,0
  2354. 10070 '
  2355. 10080 'IF X=5 AND Y=5 THEN CHAIN"town.bas"
  2356. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  2357. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  2358. 20000 '
  2359. 20010 PCOPY 0,1:PCOPY 0,3
  2360. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2361. 20015 ST=5
  2362. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  2363. 20030 LINE(0,0)-(T,112),0,BF
  2364. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  2365. 20040 LINE(0,0)-(319,TT),0,BF
  2366. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  2367. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2368. 20047 'LINE(240,0)-(319,199),0,BF
  2369. 20050 PCOPY 1,0
  2370. 20060 NEXT T
  2371. 20061 PSET(120,56),0
  2372. 20062 LOCATE 24,17:PRINT"(Pause)";
  2373. 20070 PCOPY 1,0
  2374. 20080 C$=INPUT$(1)
  2375. 20098 GOTO 30000
  2376. 30000 '
  2377. 30010 PCOPY 3,1
  2378. 30015 ST=5:TT=36
  2379. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  2380. 30025 PCOPY 3,1
  2381. 30030 LINE(0,0)-(T,112),0,BF
  2382. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  2383. 30040 LINE(0,0)-(319,TT),0,BF
  2384. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  2385. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2386. 30047 'LINE(240,0)-(319,199),0,BF
  2387. 30050 PCOPY 1,0
  2388. 30060 NEXT T
  2389. 30070 PCOPY 1,0
  2390. 30098 C$=" ":GOTO 190
  2391. 
  2392. miscdun/DUN019.BAS
  2393. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  2394. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  2395. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  2396. 105 IF C$=CHR$(27) THEN 10000
  2397. 106 IF C$=CHR$(13) THEN 10000
  2398. 107 IF C$="p" OR C$="P" THEN 20000
  2399. 108 XX=X:YY=Y
  2400. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  2401. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  2402. 130 IF INSTR("369",C$)>0 THEN X=X+1
  2403. 140 IF INSTR("147",C$)>0 THEN X=X-1
  2404. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  2405. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  2406. 190 '
  2407. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  2408. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  2409. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  2410. 1000 '
  2411. 1010 PCOPY 2,1
  2412. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  2413. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  2414. 1040 NEXT T:NEXT TT
  2415. 1050 LINE(0,0)-(319,199),0,BF
  2416. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  2417. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  2418. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2419. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2420. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2421. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2422. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  2423. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  2424. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
  2425. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  2426. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  2427. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  2428. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  2429. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  2430. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  2431. 1103 IF MAP(T,TT)=15 AND ((T=8 AND TT=3) OR (T=8 AND TT=5)) THEN PUT((T-1)*16,(TT-1)*16),GL
  2432. 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
  2433. 1109 NEXT T:NEXT TT
  2434. 1110 GOSUB 5000
  2435. 1111 PCOPY 1,0
  2436. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  2437. 1120 GOTO 100
  2438. 2000 '
  2439. 2010 DIM GA(16,16)
  2440. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  2441. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  2442. 2030 INPUT #1,R:PSET(T,TT),R
  2443. 2040 NEXT T:NEXT TT
  2444. 2045 CLOSE 1
  2445. 2050 GET(1,1)-(16,16),GA
  2446. 2051 CLS
  2447. 2110 DIM GB(16,16)
  2448. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  2449. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  2450. 2130 INPUT #1,R:PSET(T,TT),R
  2451. 2140 NEXT T:NEXT TT
  2452. 2145 CLOSE 1
  2453. 2150 GET(1,1)-(16,16),GB
  2454. 2151 CLS
  2455. 2210 DIM GC(16,16)
  2456. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  2457. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  2458. 2230 INPUT #1,R:PSET(T,TT),R
  2459. 2240 NEXT T:NEXT TT
  2460. 2245 CLOSE 1
  2461. 2250 GET(1,1)-(16,16),GC
  2462. 2251 CLS
  2463. 2310 DIM GD(16,16)
  2464. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  2465. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  2466. 2330 INPUT #1,R:PSET(T,TT),R
  2467. 2340 NEXT T:NEXT TT
  2468. 2345 CLOSE 1
  2469. 2350 GET(1,1)-(16,16),GD
  2470. 2351 CLS
  2471. 2410 DIM GE(16,16)
  2472. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  2473. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  2474. 2430 INPUT #1,R:PSET(T,TT),R
  2475. 2440 NEXT T:NEXT TT
  2476. 2445 CLOSE 1
  2477. 2450 GET(1,1)-(16,16),GE
  2478. 2451 CLS
  2479. 2510 DIM GR(16,16)
  2480. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  2481. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  2482. 2530 INPUT #1,R:PSET(T,TT),R
  2483. 2540 NEXT T:NEXT TT
  2484. 2545 CLOSE 1
  2485. 2550 GET(1,1)-(16,16),GR
  2486. 2551 CLS
  2487. 2610 DIM GS(16,16)
  2488. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  2489. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  2490. 2630 INPUT #1,R:PSET(T,TT),R
  2491. 2640 NEXT T:NEXT TT
  2492. 2645 CLOSE 1
  2493. 2650 GET(1,1)-(16,16),GS
  2494. 2651 CLS
  2495. 2710 DIM GT(16,16)
  2496. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  2497. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  2498. 2730 INPUT #1,R:PSET(T,TT),R
  2499. 2740 NEXT T:NEXT TT
  2500. 2745 CLOSE 1
  2501. 2750 GET(1,1)-(16,16),GT
  2502. 2751 CLS
  2503. 2810 DIM GF(16,16)
  2504. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  2505. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  2506. 2830 INPUT #1,R:PSET(T,TT),R
  2507. 2840 NEXT T:NEXT TT
  2508. 2845 CLOSE 1
  2509. 2850 GET(1,1)-(16,16),GF
  2510. 2851 CLS
  2511. 2910 DIM GI(16,16)
  2512. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  2513. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  2514. 2930 INPUT #1,R:PSET(T,TT),R
  2515. 2940 NEXT T:NEXT TT
  2516. 2945 CLOSE 1
  2517. 2950 GET(1,1)-(16,16),GI
  2518. 2951 CLS
  2519. 3010 DIM GJ(16,16)
  2520. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  2521. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  2522. 3030 INPUT #1,R:PSET(T,TT),R
  2523. 3040 NEXT T:NEXT TT
  2524. 3045 CLOSE 1
  2525. 3050 GET(1,1)-(16,16),GJ
  2526. 3051 CLS
  2527. 3110 DIM GK(16,16)
  2528. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  2529. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  2530. 3130 INPUT #1,R:PSET(T,TT),R
  2531. 3140 NEXT T:NEXT TT
  2532. 3145 CLOSE 1
  2533. 3150 GET(1,1)-(16,16),GK
  2534. 3151 CLS
  2535. 3210 DIM GL(16,16)
  2536. 3215 OPEN"door03.mem" FOR INPUT AS 1
  2537. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  2538. 3230 INPUT #1,R:PSET(T,TT),R
  2539. 3240 NEXT T:NEXT TT
  2540. 3245 CLOSE 1
  2541. 3250 GET(1,1)-(16,16),GL
  2542. 3251 CLS
  2543. 3310 DIM GM(16,16)
  2544. 3315 OPEN"door04.mem" FOR INPUT AS 1
  2545. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  2546. 3330 INPUT #1,R:PSET(T,TT),R
  2547. 3340 NEXT T:NEXT TT
  2548. 3345 CLOSE 1
  2549. 3350 GET(1,1)-(16,16),GM
  2550. 3351 CLS
  2551. 3915 OPEN"map003.mem" FOR INPUT AS 1
  2552. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  2553. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  2554. 3940 NEXT T:NEXT TT
  2555. 3945 CLOSE 1
  2556. 3951 CLS
  2557. 3999 RETURN
  2558. 5000 '
  2559. 5001 IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 OR MAP(8,4)=>7 THEN X=XX:Y=YY:RETURN 1010
  2560. 5010 'LOCATE 1,32:PRINT X;",";Y;
  2561. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  2562. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  2563. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  2564. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  2565. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  2566. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  2567. 5040 IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  2568. 5041 IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  2569. 5042 IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  2570. 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  2571. 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  2572. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  2573. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  2574. 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  2575. 5999 RETURN
  2576. 10000 '
  2577. 10010 PCOPY 0,1
  2578. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2579. 10015 ST=5
  2580. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  2581. 10030 LINE(0,0)-(T,199),0,BF
  2582. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  2583. 10040 LINE(0,0)-(319,TT),0,BF
  2584. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  2585. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2586. 10047 LINE(240,0)-(319,199),0,BF
  2587. 10050 PCOPY 1,0
  2588. 10060 NEXT T
  2589. 10061 PSET(120,56),0
  2590. 10062 PCOPY 1,0
  2591. 10070 '
  2592. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  2593. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  2594. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  2595. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  2596. 20000 '
  2597. 20010 PCOPY 0,1:PCOPY 0,3
  2598. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2599. 20015 ST=5
  2600. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  2601. 20030 LINE(0,0)-(T,112),0,BF
  2602. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  2603. 20040 LINE(0,0)-(319,TT),0,BF
  2604. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  2605. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2606. 20047 'LINE(240,0)-(319,199),0,BF
  2607. 20050 PCOPY 1,0
  2608. 20060 NEXT T
  2609. 20061 'PSET(120,56),0
  2610. 20062 LOCATE 24,17:PRINT"(Pause)";
  2611. 20070 PCOPY 1,0
  2612. 20080 C$=INPUT$(1)
  2613. 20098 GOTO 30000
  2614. 30000 '
  2615. 30010 PCOPY 3,1
  2616. 30015 ST=5:TT=36
  2617. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  2618. 30025 PCOPY 3,1
  2619. 30030 LINE(0,0)-(T,112),0,BF
  2620. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  2621. 30040 LINE(0,0)-(319,TT),0,BF
  2622. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  2623. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2624. 30047 'LINE(240,0)-(319,199),0,BF
  2625. 30050 PCOPY 1,0
  2626. 30060 NEXT T
  2627. 30070 PCOPY 1,0
  2628. 30098 C$=" ":GOTO 190
  2629. 
  2630. miscdun/DUN020.BAS
  2631. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2:X1=10:Y1=6
  2632. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(20,11)
  2633. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  2634. 105 IF C$=CHR$(27) THEN 10000
  2635. 106 IF C$=CHR$(13) THEN 10000
  2636. 107 IF C$="p" OR C$="P" THEN 20000
  2637. 108 XX=X:YY=Y
  2638. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  2639. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  2640. 130 IF INSTR("369",C$)>0 THEN X=X+1
  2641. 140 IF INSTR("147",C$)>0 THEN X=X-1
  2642. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  2643. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  2644. 190 '
  2645. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  2646. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  2647. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  2648. 1000 '
  2649. 1010 PCOPY 2,1
  2650. 1020 FOR TT=1 TO 11:FOR T=1 TO 20
  2651. 1030 MAP(T,TT)=POINT(X+(T-X1),Y+(TT-Y1))
  2652. 1040 NEXT T:NEXT TT
  2653. 1050 LINE(0,0)-(319,199),0,BF
  2654. 1060 FOR TT=1 TO 11:FOR T=1 TO 20
  2655. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  2656. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2657. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2658. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2659. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2660. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  2661. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  2662. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
  2663. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  2664. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  2665. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  2666. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  2667. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  2668. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  2669. 1103 IF MAP(T,TT)=15 AND ((T=X1 AND TT=Y1-1) OR (T=X1 AND TT=Y1+1)) THEN PUT((T-1)*16,(TT-1)*16),GL
  2670. 1104 IF MAP(T,TT)=15 AND (T<>X1 OR (TT<>Y1-1 AND TT<>Y1+1)) THEN PUT((T-1)*16,(TT-1)*16),GM
  2671. 1109 NEXT T:NEXT TT
  2672. 1110 GOSUB 5000
  2673. 1111 PCOPY 1,0
  2674. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  2675. 1120 GOTO 100
  2676. 2000 '
  2677. 2010 DIM GA(16,16)
  2678. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  2679. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  2680. 2030 INPUT #1,R:PSET(T,TT),R
  2681. 2040 NEXT T:NEXT TT
  2682. 2045 CLOSE 1
  2683. 2050 GET(1,1)-(16,16),GA
  2684. 2051 CLS
  2685. 2110 DIM GB(16,16)
  2686. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  2687. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  2688. 2130 INPUT #1,R:PSET(T,TT),R
  2689. 2140 NEXT T:NEXT TT
  2690. 2145 CLOSE 1
  2691. 2150 GET(1,1)-(16,16),GB
  2692. 2151 CLS
  2693. 2210 DIM GC(16,16)
  2694. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  2695. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  2696. 2230 INPUT #1,R:PSET(T,TT),R
  2697. 2240 NEXT T:NEXT TT
  2698. 2245 CLOSE 1
  2699. 2250 GET(1,1)-(16,16),GC
  2700. 2251 CLS
  2701. 2310 DIM GD(16,16)
  2702. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  2703. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  2704. 2330 INPUT #1,R:PSET(T,TT),R
  2705. 2340 NEXT T:NEXT TT
  2706. 2345 CLOSE 1
  2707. 2350 GET(1,1)-(16,16),GD
  2708. 2351 CLS
  2709. 2410 DIM GE(16,16)
  2710. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  2711. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  2712. 2430 INPUT #1,R:PSET(T,TT),R
  2713. 2440 NEXT T:NEXT TT
  2714. 2445 CLOSE 1
  2715. 2450 GET(1,1)-(16,16),GE
  2716. 2451 CLS
  2717. 2510 DIM GR(16,16)
  2718. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  2719. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  2720. 2530 INPUT #1,R:PSET(T,TT),R
  2721. 2540 NEXT T:NEXT TT
  2722. 2545 CLOSE 1
  2723. 2550 GET(1,1)-(16,16),GR
  2724. 2551 CLS
  2725. 2610 DIM GS(16,16)
  2726. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  2727. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  2728. 2630 INPUT #1,R:PSET(T,TT),R
  2729. 2640 NEXT T:NEXT TT
  2730. 2645 CLOSE 1
  2731. 2650 GET(1,1)-(16,16),GS
  2732. 2651 CLS
  2733. 2710 DIM GT(16,16)
  2734. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  2735. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  2736. 2730 INPUT #1,R:PSET(T,TT),R
  2737. 2740 NEXT T:NEXT TT
  2738. 2745 CLOSE 1
  2739. 2750 GET(1,1)-(16,16),GT
  2740. 2751 CLS
  2741. 2810 DIM GF(16,16)
  2742. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  2743. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  2744. 2830 INPUT #1,R:PSET(T,TT),R
  2745. 2840 NEXT T:NEXT TT
  2746. 2845 CLOSE 1
  2747. 2850 GET(1,1)-(16,16),GF
  2748. 2851 CLS
  2749. 2910 DIM GI(16,16)
  2750. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  2751. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  2752. 2930 INPUT #1,R:PSET(T,TT),R
  2753. 2940 NEXT T:NEXT TT
  2754. 2945 CLOSE 1
  2755. 2950 GET(1,1)-(16,16),GI
  2756. 2951 CLS
  2757. 3010 DIM GJ(16,16)
  2758. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  2759. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  2760. 3030 INPUT #1,R:PSET(T,TT),R
  2761. 3040 NEXT T:NEXT TT
  2762. 3045 CLOSE 1
  2763. 3050 GET(1,1)-(16,16),GJ
  2764. 3051 CLS
  2765. 3110 DIM GK(16,16)
  2766. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  2767. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  2768. 3130 INPUT #1,R:PSET(T,TT),R
  2769. 3140 NEXT T:NEXT TT
  2770. 3145 CLOSE 1
  2771. 3150 GET(1,1)-(16,16),GK
  2772. 3151 CLS
  2773. 3210 DIM GL(16,16)
  2774. 3215 OPEN"door03.mem" FOR INPUT AS 1
  2775. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  2776. 3230 INPUT #1,R:PSET(T,TT),R
  2777. 3240 NEXT T:NEXT TT
  2778. 3245 CLOSE 1
  2779. 3250 GET(1,1)-(16,16),GL
  2780. 3251 CLS
  2781. 3310 DIM GM(16,16)
  2782. 3315 OPEN"door04.mem" FOR INPUT AS 1
  2783. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  2784. 3330 INPUT #1,R:PSET(T,TT),R
  2785. 3340 NEXT T:NEXT TT
  2786. 3345 CLOSE 1
  2787. 3350 GET(1,1)-(16,16),GM
  2788. 3351 CLS
  2789. 3915 OPEN"map003.mem" FOR INPUT AS 1
  2790. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  2791. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  2792. 3940 NEXT T:NEXT TT
  2793. 3945 CLOSE 1
  2794. 3951 CLS
  2795. 3999 RETURN
  2796. 5000 '
  2797. 5001 IF (MAP(X1,Y1)=>1 AND MAP(X1,Y1)<=2) OR MAP(X1,Y1)=-1 OR MAP(X1,Y1)=4 OR MAP(X1,Y1)=>7 THEN X=XX:Y=YY:RETURN 1010
  2798. 5010 'LOCATE 1,32:PRINT X;",";Y;
  2799. 5011 'LOCATE 2,32:PRINT MAP(x1,y1);
  2800. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  2801. 5020 'LINE((x1-1)*16,(y1-1)*16)-(x1*16,y1*16),15,B
  2802. 5030 LINE((1-1)*16,(1-1)*16)-((20*16)-1,(11*16)-1),15,B
  2803. 5035 'IF MAP(x1,y1-1)=2 AND DOORC=0 THEN DOORC=TIMER
  2804. 5036 'IF MAP(x1,y1-1)<>2 THEN DOORC=0
  2805. 5040 IF MAP(X1,Y1)=0 AND (GC=1 OR GC=3) THEN PUT((X1-1)*16,(Y1-1)*16),GR,OR
  2806. 5041 IF MAP(X1,Y1)=0 AND GC=2 THEN PUT((X1-1)*16,(Y1-1)*16),GS,OR
  2807. 5042 IF MAP(X1,Y1)=0 AND GC=4 THEN PUT((X1-1)*16,(Y1-1)*16),GT,OR
  2808. 5043 IF (MAP(X1,Y1-1)=15 OR MAP(X2,Y1+1)=15) AND DOORC=0 THEN DOORC=TIMER
  2809. 5044 IF (MAP(X1,Y1-1)<>15 AND MAP(X1,Y1+1)<>15) THEN DOORC=0
  2810. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 24,1:PRINT"You found the exit!"
  2811. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 23,1:PRINT"Dereck: Let's get out of here."
  2812. 5070 IF X=6 AND Y=18 THEN LOCATE 23,1:PRINT"Man: Some skulls mark secret passages."
  2813. 5999 RETURN
  2814. 10000 '
  2815. 10010 PCOPY 0,1
  2816. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2817. 10015 ST=5
  2818. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  2819. 10030 LINE(0,0)-(T,199),0,BF
  2820. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  2821. 10040 LINE(0,0)-(319,TT),0,BF
  2822. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  2823. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2824. 10047 LINE(240,0)-(319,199),0,BF
  2825. 10050 PCOPY 1,0
  2826. 10060 NEXT T
  2827. 10061 PSET(120,56),0
  2828. 10062 PCOPY 1,0
  2829. 10070 '
  2830. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  2831. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  2832. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  2833. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  2834. 20000 '
  2835. 20010 PCOPY 0,1:PCOPY 0,3
  2836. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2837. 20015 ST=5:S2=1.5
  2838. 20020 FOR TT=0 TO 56 STEP ST:T=T+(S2)*ST
  2839. 20030 LINE(0,0)-(T,175),0,BF
  2840. 20035 LINE(319-T,0)-(319,175),0,BF
  2841. 20040 LINE(0,0)-(319,TT),0,BF
  2842. 20045 LINE(0,175)-(319,175-TT),0,BF
  2843. 20046 LINE(T,TT)-(319-T,175-TT),15,B
  2844. 20047 'LINE(240,0)-(319,199),0,BF
  2845. 20050 PCOPY 1,0
  2846. 20060 NEXT TT
  2847. 20061 'PSET(120,56),0
  2848. 20062 LOCATE 25,17:PRINT"(Pause)";
  2849. 20070 PCOPY 1,0
  2850. 20080 C$=INPUT$(1)
  2851. 20098 GOTO 30000
  2852. 30000 '
  2853. 30010 PCOPY 3,1
  2854. 30015 ST=5:TT=36
  2855. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  2856. 30025 PCOPY 3,1
  2857. 30030 LINE(0,0)-(T,112),0,BF
  2858. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  2859. 30040 LINE(0,0)-(319,TT),0,BF
  2860. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  2861. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2862. 30047 'LINE(240,0)-(319,199),0,BF
  2863. 30050 PCOPY 1,0
  2864. 30060 NEXT T
  2865. 30070 PCOPY 1,0
  2866. 30098 C$=" ":GOTO 190
  2867. 
  2868. miscdun/DUN025.BAS
  2869. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  2870. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  2871. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  2872. 105 IF C$=CHR$(27) THEN 10000
  2873. 106 IF C$=CHR$(13) THEN 10000
  2874. 107 IF C$="p" OR C$="P" THEN 20000
  2875. 108 XX=X:YY=Y
  2876. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  2877. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  2878. 130 IF INSTR("369",C$)>0 THEN X=X+1
  2879. 140 IF INSTR("147",C$)>0 THEN X=X-1
  2880. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  2881. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  2882. 190 '
  2883. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  2884. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  2885. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  2886. 1000 '
  2887. 1010 PCOPY 2,1
  2888. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  2889. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  2890. 1040 NEXT T:NEXT TT
  2891. 1050 LINE(0,0)-(319,199),0,BF
  2892. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  2893. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  2894. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2895. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2896. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2897. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2898. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  2899. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  2900. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
  2901. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  2902. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  2903. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  2904. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  2905. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  2906. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  2907. 1103 IF MAP(T,TT)=15 AND ((T=8 AND TT=3) OR (T=8 AND TT=5)) THEN PUT((T-1)*16,(TT-1)*16),GL
  2908. 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
  2909. 1105 IF MAP(T,TT)=9 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GN
  2910. 1106 IF MAP(T,TT)=9 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GO
  2911. 1107 IF MAP(T,TT)=9 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GP
  2912. 1109 NEXT T:NEXT TT
  2913. 1110 GOSUB 5000
  2914. 1111 PCOPY 1,0
  2915. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  2916. 1120 GOTO 100
  2917. 2000 '
  2918. 2010 DIM GA(16,16)
  2919. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  2920. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  2921. 2030 INPUT #1,R:PSET(T,TT),R
  2922. 2040 NEXT T:NEXT TT
  2923. 2045 CLOSE 1
  2924. 2050 GET(1,1)-(16,16),GA
  2925. 2051 CLS
  2926. 2110 DIM GB(16,16)
  2927. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  2928. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  2929. 2130 INPUT #1,R:PSET(T,TT),R
  2930. 2140 NEXT T:NEXT TT
  2931. 2145 CLOSE 1
  2932. 2150 GET(1,1)-(16,16),GB
  2933. 2151 CLS
  2934. 2210 DIM GC(16,16)
  2935. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  2936. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  2937. 2230 INPUT #1,R:PSET(T,TT),R
  2938. 2240 NEXT T:NEXT TT
  2939. 2245 CLOSE 1
  2940. 2250 GET(1,1)-(16,16),GC
  2941. 2251 CLS
  2942. 2310 DIM GD(16,16)
  2943. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  2944. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  2945. 2330 INPUT #1,R:PSET(T,TT),R
  2946. 2340 NEXT T:NEXT TT
  2947. 2345 CLOSE 1
  2948. 2350 GET(1,1)-(16,16),GD
  2949. 2351 CLS
  2950. 2410 DIM GE(16,16)
  2951. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  2952. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  2953. 2430 INPUT #1,R:PSET(T,TT),R
  2954. 2440 NEXT T:NEXT TT
  2955. 2445 CLOSE 1
  2956. 2450 GET(1,1)-(16,16),GE
  2957. 2451 CLS
  2958. 2510 DIM GR(16,16)
  2959. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  2960. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  2961. 2530 INPUT #1,R:PSET(T,TT),R
  2962. 2540 NEXT T:NEXT TT
  2963. 2545 CLOSE 1
  2964. 2550 GET(1,1)-(16,16),GR
  2965. 2551 CLS
  2966. 2610 DIM GS(16,16)
  2967. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  2968. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  2969. 2630 INPUT #1,R:PSET(T,TT),R
  2970. 2640 NEXT T:NEXT TT
  2971. 2645 CLOSE 1
  2972. 2650 GET(1,1)-(16,16),GS
  2973. 2651 CLS
  2974. 2710 DIM GT(16,16)
  2975. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  2976. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  2977. 2730 INPUT #1,R:PSET(T,TT),R
  2978. 2740 NEXT T:NEXT TT
  2979. 2745 CLOSE 1
  2980. 2750 GET(1,1)-(16,16),GT
  2981. 2751 CLS
  2982. 2810 DIM GF(16,16)
  2983. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  2984. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  2985. 2830 INPUT #1,R:PSET(T,TT),R
  2986. 2840 NEXT T:NEXT TT
  2987. 2845 CLOSE 1
  2988. 2850 GET(1,1)-(16,16),GF
  2989. 2851 CLS
  2990. 2910 DIM GI(16,16)
  2991. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  2992. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  2993. 2930 INPUT #1,R:PSET(T,TT),R
  2994. 2940 NEXT T:NEXT TT
  2995. 2945 CLOSE 1
  2996. 2950 GET(1,1)-(16,16),GI
  2997. 2951 CLS
  2998. 3010 DIM GJ(16,16)
  2999. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  3000. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  3001. 3030 INPUT #1,R:PSET(T,TT),R
  3002. 3040 NEXT T:NEXT TT
  3003. 3045 CLOSE 1
  3004. 3050 GET(1,1)-(16,16),GJ
  3005. 3051 CLS
  3006. 3110 DIM GK(16,16)
  3007. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  3008. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  3009. 3130 INPUT #1,R:PSET(T,TT),R
  3010. 3140 NEXT T:NEXT TT
  3011. 3145 CLOSE 1
  3012. 3150 GET(1,1)-(16,16),GK
  3013. 3151 CLS
  3014. 3210 DIM GL(16,16)
  3015. 3215 OPEN"door03.mem" FOR INPUT AS 1
  3016. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  3017. 3230 INPUT #1,R:PSET(T,TT),R
  3018. 3240 NEXT T:NEXT TT
  3019. 3245 CLOSE 1
  3020. 3250 GET(1,1)-(16,16),GL
  3021. 3251 CLS
  3022. 3310 DIM GM(16,16)
  3023. 3315 OPEN"door04.mem" FOR INPUT AS 1
  3024. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  3025. 3330 INPUT #1,R:PSET(T,TT),R
  3026. 3340 NEXT T:NEXT TT
  3027. 3345 CLOSE 1
  3028. 3350 GET(1,1)-(16,16),GM
  3029. 3351 CLS
  3030. 3410 DIM GN(16,16)
  3031. 3415 OPEN"monster4.mem" FOR INPUT AS 1
  3032. 3420 FOR TT=1 TO 16:FOR T=1 TO 16
  3033. 3430 INPUT #1,R:PSET(T,TT),R
  3034. 3440 NEXT T:NEXT TT
  3035. 3445 CLOSE 1
  3036. 3450 GET(1,1)-(16,16),GN
  3037. 3451 CLS
  3038. 3510 DIM GO(16,16)
  3039. 3515 OPEN"monster5.mem" FOR INPUT AS 1
  3040. 3520 FOR TT=1 TO 16:FOR T=1 TO 16
  3041. 3530 INPUT #1,R:PSET(T,TT),R
  3042. 3540 NEXT T:NEXT TT
  3043. 3545 CLOSE 1
  3044. 3550 GET(1,1)-(16,16),GO
  3045. 3551 CLS
  3046. 3610 DIM GP(16,16)
  3047. 3615 OPEN"monster6.mem" FOR INPUT AS 1
  3048. 3620 FOR TT=1 TO 16:FOR T=1 TO 16
  3049. 3630 INPUT #1,R:PSET(T,TT),R
  3050. 3640 NEXT T:NEXT TT
  3051. 3645 CLOSE 1
  3052. 3650 GET(1,1)-(16,16),GP
  3053. 3651 CLS
  3054. 3915 OPEN"map025.mem" FOR INPUT AS 1
  3055. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3056. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3057. 3940 NEXT T:NEXT TT
  3058. 3945 CLOSE 1
  3059. 3951 CLS
  3060. 3999 RETURN
  3061. 5000 '
  3062. 5001 IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 OR MAP(8,4)=>7 THEN X=XX:Y=YY:RETURN 1010
  3063. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3064. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3065. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3066. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3067. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3068. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3069. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3070. 5040 IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3071. 5041 IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3072. 5042 IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3073. 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3074. 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3075. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3076. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3077. 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3078. 5071 IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3079. 5072 IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3080. 5999 RETURN
  3081. 10000 '
  3082. 10010 PCOPY 0,1
  3083. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3084. 10015 ST=5
  3085. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3086. 10030 LINE(0,0)-(T,199),0,BF
  3087. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3088. 10040 LINE(0,0)-(319,TT),0,BF
  3089. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3090. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3091. 10047 LINE(240,0)-(319,199),0,BF
  3092. 10050 PCOPY 1,0
  3093. 10060 NEXT T
  3094. 10061 PSET(120,56),0
  3095. 10062 PCOPY 1,0
  3096. 10070 '
  3097. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3098. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3099. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3100. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3101. 20000 '
  3102. 20010 PCOPY 0,1:PCOPY 0,3
  3103. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3104. 20015 ST=5
  3105. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3106. 20030 LINE(0,0)-(T,112),0,BF
  3107. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3108. 20040 LINE(0,0)-(319,TT),0,BF
  3109. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3110. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3111. 20047 'LINE(240,0)-(319,199),0,BF
  3112. 20050 PCOPY 1,0
  3113. 20060 NEXT T
  3114. 20061 'PSET(120,56),0
  3115. 20062 LOCATE 24,17:PRINT"(Pause)";
  3116. 20070 PCOPY 1,0
  3117. 20080 C$=INPUT$(1)
  3118. 20098 GOTO 30000
  3119. 30000 '
  3120. 30010 PCOPY 3,1
  3121. 30015 ST=5:TT=36
  3122. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3123. 30025 PCOPY 3,1
  3124. 30030 LINE(0,0)-(T,112),0,BF
  3125. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3126. 30040 LINE(0,0)-(319,TT),0,BF
  3127. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3128. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3129. 30047 'LINE(240,0)-(319,199),0,BF
  3130. 30050 PCOPY 1,0
  3131. 30060 NEXT T
  3132. 30070 PCOPY 1,0
  3133. 30098 C$=" ":GOTO 190
  3134. 
  3135. miscdun/DUN030.BAS
  3136. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3137. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  3138. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3139. 105 IF C$=CHR$(27) THEN 10000
  3140. 106 IF C$=CHR$(13) THEN 10000
  3141. 107 IF C$="p" OR C$="P" THEN 20000
  3142. 108 XX=X:YY=Y
  3143. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3144. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3145. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3146. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3147. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3148. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3149. 190 '
  3150. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3151. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3152. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3153. 1000 '
  3154. 1010 PCOPY 2,1
  3155. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  3156. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  3157. 1040 NEXT T:NEXT TT
  3158. 1050 LINE(0,0)-(319,199),0,BF
  3159. 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3160. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3161. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3162. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3163. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3164. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3165. 1109 NEXT T:NEXT TT
  3166. 1110 GOSUB 5000
  3167. 1111 PCOPY 1,0
  3168. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  3169. 1120 GOTO 100
  3170. 2000 '
  3171. 2010 DIM RW(16,16)
  3172. 2015 OPEN"road01.16x" FOR INPUT AS 1
  3173. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3174. 2030 INPUT #1,R:PSET(T,TT),R
  3175. 2040 NEXT T:NEXT TT
  3176. 2045 CLOSE 1
  3177. 2050 GET(1,1)-(16,16),RW
  3178. 2051 CLS
  3179. 2110 DIM RN(16,16)
  3180. 2115 OPEN"road02.16x" FOR INPUT AS 1
  3181. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  3182. 2130 INPUT #1,R:PSET(T,TT),R
  3183. 2140 NEXT T:NEXT TT
  3184. 2145 CLOSE 1
  3185. 2150 GET(1,1)-(16,16),RN
  3186. 2151 CLS
  3187. 2210 DIM RE(16,16)
  3188. 2215 OPEN"road03.16x" FOR INPUT AS 1
  3189. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  3190. 2230 INPUT #1,R:PSET(T,TT),R
  3191. 2240 NEXT T:NEXT TT
  3192. 2245 CLOSE 1
  3193. 2250 GET(1,1)-(16,16),RE
  3194. 2251 CLS
  3195. 2310 DIM RS(16,16)
  3196. 2315 OPEN"road04.16x" FOR INPUT AS 1
  3197. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  3198. 2330 INPUT #1,R:PSET(T,TT),R
  3199. 2340 NEXT T:NEXT TT
  3200. 2345 CLOSE 1
  3201. 2350 GET(1,1)-(16,16),RS
  3202. 2351 CLS
  3203. 3915 OPEN"map030.mem" FOR INPUT AS 1
  3204. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3205. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3206. 3940 NEXT T:NEXT TT
  3207. 3945 CLOSE 1
  3208. 3951 CLS
  3209. 3999 RETURN
  3210. 5000 '
  3211. 5001 'IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 OR MAP(8,4)=>7 THEN X=XX:Y=YY:RETURN 1010
  3212. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3213. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3214. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3215. 5020 LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3216. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3217. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3218. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3219. 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3220. 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3221. 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3222. 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3223. 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3224. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3225. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3226. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3227. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3228. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3229. 5999 RETURN
  3230. 10000 '
  3231. 10010 PCOPY 0,1
  3232. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3233. 10015 ST=5
  3234. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3235. 10030 LINE(0,0)-(T,199),0,BF
  3236. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3237. 10040 LINE(0,0)-(319,TT),0,BF
  3238. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3239. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3240. 10047 LINE(240,0)-(319,199),0,BF
  3241. 10050 PCOPY 1,0
  3242. 10060 NEXT T
  3243. 10061 PSET(120,56),0
  3244. 10062 PCOPY 1,0
  3245. 10070 '
  3246. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3247. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3248. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3249. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3250. 20000 '
  3251. 20010 PCOPY 0,1:PCOPY 0,3
  3252. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3253. 20015 ST=5
  3254. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3255. 20030 LINE(0,0)-(T,112),0,BF
  3256. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3257. 20040 LINE(0,0)-(319,TT),0,BF
  3258. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3259. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3260. 20047 'LINE(240,0)-(319,199),0,BF
  3261. 20050 PCOPY 1,0
  3262. 20060 NEXT T
  3263. 20061 'PSET(120,56),0
  3264. 20062 LOCATE 24,17:PRINT"(Pause)";
  3265. 20070 PCOPY 1,0
  3266. 20080 C$=INPUT$(1)
  3267. 20098 GOTO 30000
  3268. 30000 '
  3269. 30010 PCOPY 3,1
  3270. 30015 ST=5:TT=36
  3271. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3272. 30025 PCOPY 3,1
  3273. 30030 LINE(0,0)-(T,112),0,BF
  3274. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3275. 30040 LINE(0,0)-(319,TT),0,BF
  3276. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3277. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3278. 30047 'LINE(240,0)-(319,199),0,BF
  3279. 30050 PCOPY 1,0
  3280. 30060 NEXT T
  3281. 30070 PCOPY 1,0
  3282. 30098 C$=" ":GOTO 190
  3283. 
  3284. miscdun/DUN031.BAS
  3285. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3286. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  3287. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3288. 105 IF C$=CHR$(27) THEN 10000
  3289. 106 IF C$=CHR$(13) THEN 10000
  3290. 107 IF C$="p" OR C$="P" THEN 20000
  3291. 108 XX=X:YY=Y
  3292. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3293. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3294. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3295. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3296. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3297. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3298. 190 '
  3299. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3300. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3301. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3302. 1000 '
  3303. 1010 PCOPY 2,1
  3304. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  3305. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  3306. 1040 NEXT T:NEXT TT
  3307. 1050 LINE(0,0)-(319,199),0,BF
  3308. 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3309. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3310. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3311. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3312. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3313. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3314. 1109 NEXT T:NEXT TT
  3315. 1110 GOSUB 5000
  3316. 1111 PCOPY 1,0
  3317. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  3318. 1120 GOTO 100
  3319. 2000 '
  3320. 2010 DIM RW(16,16)
  3321. 2015 OPEN"road06.16x" FOR INPUT AS 1
  3322. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3323. 2030 INPUT #1,R:PSET(T,TT),R
  3324. 2040 NEXT T:NEXT TT
  3325. 2045 CLOSE 1
  3326. 2050 GET(1,1)-(16,16),RW
  3327. 2051 CLS
  3328. 2110 DIM RN(16,16)
  3329. 2115 OPEN"road06.16x" FOR INPUT AS 1
  3330. 2120 FOR T=1 TO 16:FOR TT=1 TO 16
  3331. 2130 INPUT #1,R:PSET(T,TT),R
  3332. 2140 NEXT TT:NEXT T
  3333. 2145 CLOSE 1
  3334. 2150 GET(1,1)-(16,16),RN
  3335. 2151 CLS
  3336. 2210 DIM RE(16,16)
  3337. 2215 OPEN"road06.16x" FOR INPUT AS 1
  3338. 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
  3339. 2230 INPUT #1,R:PSET(T,TT),R
  3340. 2240 NEXT T:NEXT TT
  3341. 2245 CLOSE 1
  3342. 2250 GET(1,1)-(16,16),RE
  3343. 2251 CLS
  3344. 2310 DIM RS(16,16)
  3345. 2315 OPEN"road06.16x" FOR INPUT AS 1
  3346. 2320 FOR T=16 TO 1 STEP -1:FOR TT=1 TO 16
  3347. 2330 INPUT #1,R:PSET(T,TT),R
  3348. 2340 NEXT TT:NEXT T
  3349. 2345 CLOSE 1
  3350. 2350 GET(1,1)-(16,16),RS
  3351. 2351 CLS
  3352. 3915 OPEN"map030.mem" FOR INPUT AS 1
  3353. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3354. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3355. 3940 NEXT T:NEXT TT
  3356. 3945 CLOSE 1
  3357. 3951 CLS
  3358. 3999 RETURN
  3359. 5000 '
  3360. 5001 'IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 OR MAP(8,4)=>7 THEN X=XX:Y=YY:RETURN 1010
  3361. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3362. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3363. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3364. 5020 LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3365. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3366. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3367. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3368. 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3369. 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3370. 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3371. 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3372. 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3373. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3374. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3375. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3376. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3377. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3378. 5999 RETURN
  3379. 10000 '
  3380. 10010 PCOPY 0,1
  3381. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3382. 10015 ST=5
  3383. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3384. 10030 LINE(0,0)-(T,199),0,BF
  3385. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3386. 10040 LINE(0,0)-(319,TT),0,BF
  3387. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3388. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3389. 10047 LINE(240,0)-(319,199),0,BF
  3390. 10050 PCOPY 1,0
  3391. 10060 NEXT T
  3392. 10061 PSET(120,56),0
  3393. 10062 PCOPY 1,0
  3394. 10070 '
  3395. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3396. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3397. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3398. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3399. 20000 '
  3400. 20010 PCOPY 0,1:PCOPY 0,3
  3401. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3402. 20015 ST=5
  3403. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3404. 20030 LINE(0,0)-(T,112),0,BF
  3405. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3406. 20040 LINE(0,0)-(319,TT),0,BF
  3407. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3408. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3409. 20047 'LINE(240,0)-(319,199),0,BF
  3410. 20050 PCOPY 1,0
  3411. 20060 NEXT T
  3412. 20061 'PSET(120,56),0
  3413. 20062 LOCATE 24,17:PRINT"(Pause)";
  3414. 20070 PCOPY 1,0
  3415. 20080 C$=INPUT$(1)
  3416. 20098 GOTO 30000
  3417. 30000 '
  3418. 30010 PCOPY 3,1
  3419. 30015 ST=5:TT=36
  3420. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3421. 30025 PCOPY 3,1
  3422. 30030 LINE(0,0)-(T,112),0,BF
  3423. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3424. 30040 LINE(0,0)-(319,TT),0,BF
  3425. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3426. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3427. 30047 'LINE(240,0)-(319,199),0,BF
  3428. 30050 PCOPY 1,0
  3429. 30060 NEXT T
  3430. 30070 PCOPY 1,0
  3431. 30098 C$=" ":GOTO 190
  3432. 
  3433. miscdun/DUN032.BAS
  3434. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3435. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  3436. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3437. 105 IF C$=CHR$(27) THEN 10000
  3438. 106 IF C$=CHR$(13) THEN 10000
  3439. 107 IF C$="p" OR C$="P" THEN 20000
  3440. 108 XX=X:YY=Y
  3441. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3442. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3443. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3444. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3445. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3446. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3447. 190 '
  3448. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3449. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3450. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3451. 1000 'Road Map
  3452. 1010 PCOPY 3,1
  3453. 1020 CW=0:CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
  3454. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
  3455. 1040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6000
  3456. 1050 LINE(0,0)-(319,199),0,BF
  3457. 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3458. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3459. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3460. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3461. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3462. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3463. 1080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3464. 1109 NEXT T:NEXT TT
  3465. 1120 GOTO 6000
  3466. 2000 '
  3467. 2010 DIM RW(16,16)
  3468. 2015 OPEN"road08.16x" FOR INPUT AS 1
  3469. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3470. 2030 INPUT #1,R:PSET(T,TT),R
  3471. 2040 NEXT T:NEXT TT
  3472. 2045 CLOSE 1
  3473. 2050 GET(1,1)-(16,16),RW
  3474. 2051 CLS
  3475. 2110 DIM RN(16,16)
  3476. 2115 OPEN"road08.16x" FOR INPUT AS 1
  3477. 2120 FOR T=1 TO 16:FOR TT=1 TO 16
  3478. 2130 INPUT #1,R:PSET(T,TT),R
  3479. 2140 NEXT TT:NEXT T
  3480. 2145 CLOSE 1
  3481. 2150 GET(1,1)-(16,16),RN
  3482. 2151 CLS
  3483. 2210 DIM RE(16,16)
  3484. 2215 OPEN"road08.16x" FOR INPUT AS 1
  3485. 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
  3486. 2230 INPUT #1,R:PSET(T,TT),R
  3487. 2240 NEXT T:NEXT TT
  3488. 2245 CLOSE 1
  3489. 2250 GET(1,1)-(16,16),RE
  3490. 2251 CLS
  3491. 2310 DIM RS(16,16)
  3492. 2315 OPEN"road08.16x" FOR INPUT AS 1
  3493. 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
  3494. 2330 INPUT #1,R:PSET(T,TT),R
  3495. 2340 NEXT TT:NEXT T
  3496. 2345 CLOSE 1
  3497. 2350 GET(1,1)-(16,16),RS
  3498. 2351 CLS
  3499. 3810 'Terrein map
  3500. 3815 OPEN"map030.Tmm" FOR INPUT AS 1
  3501. 3820 FOR TT=1 TO 32:FOR T=1 TO 64
  3502. 3830 INPUT #1,R:PSET(T-1,TT-1),R
  3503. 3840 NEXT T:NEXT TT
  3504. 3845 CLOSE 1:PCOPY 1,2
  3505. 3851 CLS
  3506. 3910 'Road map
  3507. 3915 OPEN"map030.Rmm" FOR INPUT AS 1
  3508. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3509. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3510. 3940 NEXT T:NEXT TT
  3511. 3945 CLOSE 1:PCOPY 1,3
  3512. 3951 CLS
  3513. 3999 RETURN
  3514. 5000 '
  3515. 5001 'IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 OR MAP(8,4)=>7 THEN X=XX:Y=YY:RETURN 1010
  3516. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3517. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3518. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3519. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3520. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3521. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3522. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3523. 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3524. 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3525. 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3526. 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3527. 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3528. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3529. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3530. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3531. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3532. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3533. 5999 RETURN
  3534. 6000 'Terrein Map
  3535. 6010 PCOPY 2,1
  3536. 6020 CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
  3537. 6030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
  3538. 6040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6110
  3539. 6050 LINE(0,0)-(319,199),0,BF
  3540. 6060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3541. 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3542. 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3543. 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3544. 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3545. 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3546. 6080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3547. 6109 NEXT T:NEXT TT
  3548. 6110 IF CW=2 THEN LINE(0,0)-(319,199),0,BF:LOCATE 7,11:COLOR 5:PRINT"outer space";:COLOR 15
  3549. 6111 GOSUB 5000
  3550. 6112 PCOPY 1,0
  3551. 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  3552. 6120 GOTO 100
  3553. 10000 '
  3554. 10010 PCOPY 0,1
  3555. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3556. 10015 ST=5
  3557. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3558. 10030 LINE(0,0)-(T,199),0,BF
  3559. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3560. 10040 LINE(0,0)-(319,TT),0,BF
  3561. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3562. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3563. 10047 LINE(240,0)-(319,199),0,BF
  3564. 10050 PCOPY 1,0
  3565. 10060 NEXT T
  3566. 10061 PSET(120,56),0
  3567. 10062 PCOPY 1,0
  3568. 10070 '
  3569. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3570. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3571. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3572. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3573. 20000 '
  3574. 20010 PCOPY 0,1:PCOPY 0,3
  3575. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3576. 20015 ST=5
  3577. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3578. 20030 LINE(0,0)-(T,112),0,BF
  3579. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3580. 20040 LINE(0,0)-(319,TT),0,BF
  3581. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3582. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3583. 20047 'LINE(240,0)-(319,199),0,BF
  3584. 20050 PCOPY 1,0
  3585. 20060 NEXT T
  3586. 20061 'PSET(120,56),0
  3587. 20062 LOCATE 24,17:PRINT"(Pause)";
  3588. 20070 PCOPY 1,0
  3589. 20080 C$=INPUT$(1)
  3590. 20098 GOTO 30000
  3591. 30000 '
  3592. 30010 PCOPY 3,1
  3593. 30015 ST=5:TT=36
  3594. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3595. 30025 PCOPY 3,1
  3596. 30030 LINE(0,0)-(T,112),0,BF
  3597. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3598. 30040 LINE(0,0)-(319,TT),0,BF
  3599. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3600. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3601. 30047 'LINE(240,0)-(319,199),0,BF
  3602. 30050 PCOPY 1,0
  3603. 30060 NEXT T
  3604. 30070 PCOPY 1,0
  3605. 30098 C$=" ":GOTO 190
  3606. 
  3607. miscdun/DUN033.BAS
  3608. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3609. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  3610. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3611. 105 IF C$=CHR$(27) THEN 10000
  3612. 106 IF C$=CHR$(13) THEN 10000
  3613. 107 IF C$="p" OR C$="P" THEN 20000
  3614. 108 XX=X:YY=Y
  3615. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3616. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3617. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3618. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3619. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3620. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3621. 190 '
  3622. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3623. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3624. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3625. 1000 'Road Map
  3626. 1010 PCOPY 3,1
  3627. 1020 CW=0:CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
  3628. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
  3629. 1040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6000
  3630. 1050 LINE(0,0)-(319,199),0,BF
  3631. 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3632. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3633. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3634. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3635. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3636. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3637. 1080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3638. 1109 NEXT T:NEXT TT
  3639. 1120 GOTO 6000
  3640. 2000 '
  3641. 2010 DIM RW(16,16)
  3642. 2015 OPEN"road08.16x" FOR INPUT AS 1
  3643. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3644. 2030 INPUT #1,R:PSET(T,TT),R
  3645. 2040 NEXT T:NEXT TT
  3646. 2045 CLOSE 1
  3647. 2050 GET(1,1)-(16,16),RW
  3648. 2051 CLS
  3649. 2110 DIM RN(16,16)
  3650. 2115 OPEN"road08.16x" FOR INPUT AS 1
  3651. 2120 FOR T=1 TO 16:FOR TT=1 TO 16
  3652. 2130 INPUT #1,R:PSET(T,TT),R
  3653. 2140 NEXT TT:NEXT T
  3654. 2145 CLOSE 1
  3655. 2150 GET(1,1)-(16,16),RN
  3656. 2151 CLS
  3657. 2210 DIM RE(16,16)
  3658. 2215 OPEN"road08.16x" FOR INPUT AS 1
  3659. 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
  3660. 2230 INPUT #1,R:PSET(T,TT),R
  3661. 2240 NEXT T:NEXT TT
  3662. 2245 CLOSE 1
  3663. 2250 GET(1,1)-(16,16),RE
  3664. 2251 CLS
  3665. 2310 DIM RS(16,16)
  3666. 2315 OPEN"road08.16x" FOR INPUT AS 1
  3667. 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
  3668. 2330 INPUT #1,R:PSET(T,TT),R
  3669. 2340 NEXT TT:NEXT T
  3670. 2345 CLOSE 1
  3671. 2350 GET(1,1)-(16,16),RS
  3672. 2351 CLS
  3673. 3810 'Terrein map
  3674. 3815 OPEN"map030.Tmm" FOR INPUT AS 1
  3675. 3820 FOR TT=1 TO 32:FOR T=1 TO 64
  3676. 3830 INPUT #1,R:PSET(T-1,TT-1),R
  3677. 3840 NEXT T:NEXT TT
  3678. 3845 CLOSE 1:PCOPY 1,2
  3679. 3851 CLS
  3680. 3910 'Road map
  3681. 3915 OPEN"map030.Rmm" FOR INPUT AS 1
  3682. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3683. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3684. 3940 NEXT T:NEXT TT
  3685. 3945 CLOSE 1:PCOPY 1,3
  3686. 3951 CLS
  3687. 3999 RETURN
  3688. 5000 '
  3689. 5001 'IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 OR MAP(8,4)=>7 THEN X=XX:Y=YY:RETURN 1010
  3690. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3691. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3692. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3693. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3694. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3695. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3696. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3697. 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3698. 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3699. 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3700. 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3701. 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3702. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3703. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3704. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3705. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3706. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3707. 5999 RETURN
  3708. 6000 'Terrein Map
  3709. 6010 PCOPY 2,1
  3710. 6020 CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
  3711. 6030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
  3712. 6040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6110
  3713. 6050 LINE(0,0)-(319,199),0,BF
  3714. 6060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3715. 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3716. 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3717. 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3718. 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3719. 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3720. 6080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3721. 6109 NEXT T:NEXT TT
  3722. 6110 IF CW=2 THEN LINE(0,0)-(319,199),0,BF:LOCATE 7,11:COLOR 5:PRINT"outer space";:COLOR 15
  3723. 6111 GOSUB 5000
  3724. 6112 PCOPY 1,0
  3725. 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  3726. 6120 GOTO 100
  3727. 10000 '
  3728. 10010 PCOPY 0,1
  3729. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3730. 10015 ST=5
  3731. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3732. 10030 LINE(0,0)-(T,199),0,BF
  3733. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3734. 10040 LINE(0,0)-(319,TT),0,BF
  3735. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3736. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3737. 10047 LINE(240,0)-(319,199),0,BF
  3738. 10050 PCOPY 1,0
  3739. 10060 NEXT T
  3740. 10061 PSET(120,56),0
  3741. 10062 PCOPY 1,0
  3742. 10070 '
  3743. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3744. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3745. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3746. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3747. 20000 '
  3748. 20010 PCOPY 0,1:PCOPY 0,3
  3749. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3750. 20015 ST=5
  3751. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3752. 20030 LINE(0,0)-(T,112),0,BF
  3753. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3754. 20040 LINE(0,0)-(319,TT),0,BF
  3755. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3756. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3757. 20047 'LINE(240,0)-(319,199),0,BF
  3758. 20050 PCOPY 1,0
  3759. 20060 NEXT T
  3760. 20061 'PSET(120,56),0
  3761. 20062 LOCATE 24,17:PRINT"(Pause)";
  3762. 20070 PCOPY 1,0
  3763. 20080 C$=INPUT$(1)
  3764. 20098 GOTO 30000
  3765. 30000 '
  3766. 30010 PCOPY 3,1
  3767. 30015 ST=5:TT=36
  3768. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3769. 30025 PCOPY 3,1
  3770. 30030 LINE(0,0)-(T,112),0,BF
  3771. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3772. 30040 LINE(0,0)-(319,TT),0,BF
  3773. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3774. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3775. 30047 'LINE(240,0)-(319,199),0,BF
  3776. 30050 PCOPY 1,0
  3777. 30060 NEXT T
  3778. 30070 PCOPY 1,0
  3779. 30098 C$=" ":GOTO 190
  3780. 
  3781. miscdun/DUN034.BAS
  3782. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3783. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  3784. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3785. 105 IF C$=CHR$(27) THEN 10000
  3786. 106 IF C$=CHR$(13) THEN 10000
  3787. 107 IF C$="p" OR C$="P" THEN 20000
  3788. 108 XX=X:YY=Y
  3789. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3790. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3791. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3792. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3793. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3794. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3795. 190 '
  3796. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3797. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3798. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3799. 1000 'Road Map
  3800. 1010 PCOPY 3,1
  3801. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  3802. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  3803. 1040 NEXT T:NEXT TT
  3804. 1050 LINE(0,0)-(319,199),0,BF
  3805. 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3806. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3807. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3808. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3809. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3810. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3811. 1080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3812. 1109 NEXT T:NEXT TT
  3813. 1120 GOTO 6000
  3814. 2000 '
  3815. 2010 DIM RW(16,16)
  3816. 2015 OPEN"road08.16x" FOR INPUT AS 1
  3817. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3818. 2030 INPUT #1,R:PSET(T,TT),R
  3819. 2040 NEXT T:NEXT TT
  3820. 2045 CLOSE 1
  3821. 2050 GET(1,1)-(16,16),RW
  3822. 2051 CLS
  3823. 2110 DIM RN(16,16)
  3824. 2115 OPEN"road08.16x" FOR INPUT AS 1
  3825. 2120 FOR T=1 TO 16:FOR TT=1 TO 16
  3826. 2130 INPUT #1,R:PSET(T,TT),R
  3827. 2140 NEXT TT:NEXT T
  3828. 2145 CLOSE 1
  3829. 2150 GET(1,1)-(16,16),RN
  3830. 2151 CLS
  3831. 2210 DIM RE(16,16)
  3832. 2215 OPEN"road08.16x" FOR INPUT AS 1
  3833. 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
  3834. 2230 INPUT #1,R:PSET(T,TT),R
  3835. 2240 NEXT T:NEXT TT
  3836. 2245 CLOSE 1
  3837. 2250 GET(1,1)-(16,16),RE
  3838. 2251 CLS
  3839. 2310 DIM RS(16,16)
  3840. 2315 OPEN"road08.16x" FOR INPUT AS 1
  3841. 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
  3842. 2330 INPUT #1,R:PSET(T,TT),R
  3843. 2340 NEXT TT:NEXT T
  3844. 2345 CLOSE 1
  3845. 2350 GET(1,1)-(16,16),RS
  3846. 2351 CLS
  3847. 3915 OPEN"map030.mem" FOR INPUT AS 1
  3848. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3849. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3850. 3940 NEXT T:NEXT TT
  3851. 3945 CLOSE 1
  3852. 3951 CLS
  3853. 3999 RETURN
  3854. 5000 '
  3855. 5001 'IF (MAP(8,4)=>1 AND MAP(8,4)<=2) OR MAP(8,4)=-1 OR MAP(8,4)=4 OR MAP(8,4)=>7 THEN X=XX:Y=YY:RETURN 1010
  3856. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3857. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3858. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3859. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3860. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3861. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3862. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3863. 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3864. 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3865. 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3866. 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3867. 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3868. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3869. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3870. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3871. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3872. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3873. 5999 RETURN
  3874. 6000 'Terrein Map
  3875. 6010 PCOPY 2,1
  3876. 6020 FOR TT=1 TO 7:FOR T=1 TO 15
  3877. 6030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  3878. 6040 NEXT T:NEXT TT
  3879. 6050 LINE(0,0)-(319,199),0,BF
  3880. 6060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3881. 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3882. 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3883. 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3884. 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3885. 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3886. 6080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3887. 6109 NEXT T:NEXT TT
  3888. 6110 GOSUB 5000
  3889. 6111 PCOPY 1,0
  3890. 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  3891. 6120 GOTO 100
  3892. 10000 '
  3893. 10010 PCOPY 0,1
  3894. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3895. 10015 ST=5
  3896. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3897. 10030 LINE(0,0)-(T,199),0,BF
  3898. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3899. 10040 LINE(0,0)-(319,TT),0,BF
  3900. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3901. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3902. 10047 LINE(240,0)-(319,199),0,BF
  3903. 10050 PCOPY 1,0
  3904. 10060 NEXT T
  3905. 10061 PSET(120,56),0
  3906. 10062 PCOPY 1,0
  3907. 10070 '
  3908. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3909. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3910. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3911. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3912. 20000 '
  3913. 20010 PCOPY 0,1:PCOPY 0,3
  3914. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3915. 20015 ST=5
  3916. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3917. 20030 LINE(0,0)-(T,112),0,BF
  3918. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3919. 20040 LINE(0,0)-(319,TT),0,BF
  3920. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3921. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3922. 20047 'LINE(240,0)-(319,199),0,BF
  3923. 20050 PCOPY 1,0
  3924. 20060 NEXT T
  3925. 20061 'PSET(120,56),0
  3926. 20062 LOCATE 24,17:PRINT"(Pause)";
  3927. 20070 PCOPY 1,0
  3928. 20080 C$=INPUT$(1)
  3929. 20098 GOTO 30000
  3930. 30000 '
  3931. 30010 PCOPY 3,1
  3932. 30015 ST=5:TT=36
  3933. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3934. 30025 PCOPY 3,1
  3935. 30030 LINE(0,0)-(T,112),0,BF
  3936. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3937. 30040 LINE(0,0)-(319,TT),0,BF
  3938. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3939. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3940. 30047 'LINE(240,0)-(319,199),0,BF
  3941. 30050 PCOPY 1,0
  3942. 30060 NEXT T
  3943. 30070 PCOPY 1,0
  3944. 30098 C$=" ":GOTO 190
  3945. 
  3946. miscdun/DUN040.BAS
  3947. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3948. 15 XD=16:YD=16:XS=15:YS=7:MX=8:MY=4
  3949. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(XS,YS)
  3950. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3951. 105 IF C$=CHR$(27) THEN 10000
  3952. 106 IF C$=CHR$(13) THEN 10000
  3953. 107 IF C$="p" OR C$="P" THEN 20000
  3954. 108 XX=X:YY=Y
  3955. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3956. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3957. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3958. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3959. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3960. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3961. 190 '
  3962. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3963. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3964. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3965. 1000 'Road Map
  3966. 1010 PCOPY 3,1
  3967. 1020 CW=0:CV=0:FOR TT=1 TO YS:FOR T=1 TO XS
  3968. 1030 MAP(T,TT)=POINT(X+(T-MX),Y+(TT-MY)):IF MAP(T,TT)>0 THEN CV=CV+1
  3969. 1040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6000
  3970. 1050 LINE(0,0)-(319,199),0,BF
  3971. 1060 FOR TT=1 TO YS:FOR T=1 TO XS:M=MAP(T,TT)
  3972. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*xd,(TT-1)*yd),GA
  3973. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RW,OR
  3974. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RE,OR
  3975. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RN,OR
  3976. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RS,OR
  3977. 1080 'IF M=0 THEN LINE((T-1)*xd,(TT-1)*yd)-((T*xd)-1,(TT*yd)-1),2,BF
  3978. 1109 NEXT T:NEXT TT
  3979. 1120 GOTO 6000
  3980. 2000 '
  3981. 2010 DIM RW(16,16)
  3982. 2015 OPEN"road08.16x" FOR INPUT AS 1
  3983. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3984. 2030 INPUT #1,R:PSET(T,TT),R
  3985. 2040 NEXT T:NEXT TT
  3986. 2045 CLOSE 1
  3987. 2050 GET(1,1)-(16,16),RW
  3988. 2051 CLS
  3989. 2110 DIM RN(16,16)
  3990. 2115 OPEN"road08.16x" FOR INPUT AS 1
  3991. 2120 FOR T=1 TO 16:FOR TT=1 TO 16
  3992. 2130 INPUT #1,R:PSET(T,TT),R
  3993. 2140 NEXT TT:NEXT T
  3994. 2145 CLOSE 1
  3995. 2150 GET(1,1)-(16,16),RN
  3996. 2151 CLS
  3997. 2210 DIM RE(16,16)
  3998. 2215 OPEN"road08.16x" FOR INPUT AS 1
  3999. 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
  4000. 2230 INPUT #1,R:PSET(T,TT),R
  4001. 2240 NEXT T:NEXT TT
  4002. 2245 CLOSE 1
  4003. 2250 GET(1,1)-(16,16),RE
  4004. 2251 CLS
  4005. 2310 DIM RS(16,16)
  4006. 2315 OPEN"road08.16x" FOR INPUT AS 1
  4007. 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
  4008. 2330 INPUT #1,R:PSET(T,TT),R
  4009. 2340 NEXT TT:NEXT T
  4010. 2345 CLOSE 1
  4011. 2350 GET(1,1)-(16,16),RS
  4012. 2351 CLS
  4013. 3810 'Terrein map
  4014. 3815 OPEN"map030.Tmm" FOR INPUT AS 1
  4015. 3820 FOR TT=1 TO 32:FOR T=1 TO 64
  4016. 3830 INPUT #1,R:PSET(T-1,TT-1),R
  4017. 3840 NEXT T:NEXT TT
  4018. 3845 CLOSE 1:PCOPY 1,2
  4019. 3851 CLS
  4020. 3910 'Road map
  4021. 3915 OPEN"map030.Rmm" FOR INPUT AS 1
  4022. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  4023. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  4024. 3940 NEXT T:NEXT TT
  4025. 3945 CLOSE 1:PCOPY 1,3
  4026. 3951 CLS
  4027. 3999 RETURN
  4028. 5000 '
  4029. 5001 'IF (MAP(mx,my)=>1 AND MAP(mx,my)<=2) OR MAP(mx,my)=-1 OR MAP(mx,my)=4 OR MAP(mx,my)=>7 THEN X=XX:Y=YY:RETURN 1010
  4030. 5010 'LOCATE 1,32:PRINT X;",";Y;
  4031. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  4032. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  4033. 5020 'LINE((mx-1)*xd,(my-1)*yd)-(mx*xd,my*yd),15,B
  4034. 5030 LINE((1-1)*XD,(1-1)*YD)-(15*XD,7*YD),15,B
  4035. 5035 'IF MAP(mx,my-1)=2 AND DOORC=0 THEN DOORC=TIMER
  4036. 5036 'IF MAP(mx,my-1)<>2 THEN DOORC=0
  4037. 5040 'IF MAP(mx,my)=0 AND (GC=1 OR GC=3) THEN PUT((mx-1)*xd,(my-1)*yd),GR,OR
  4038. 5041 'IF MAP(mx,my)=0 AND GC=2 THEN PUT((mx-1)*xd,(my-1)*yd),GS,OR
  4039. 5042 'IF MAP(mx,my)=0 AND GC=4 THEN PUT((mx-1)*xd,(my-1)*yd),GT,OR
  4040. 5043 'IF (MAP(mx,my-1)=15 OR MAP(xd,yd+1=15) AND DOORC=0 THEN DOORC=TIMER
  4041. 5044 'IF (MAP(mx,my-1)<>15 AND MAP(xd,yd+1)<>15) THEN DOORC=0
  4042. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  4043. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  4044. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  4045. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  4046. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  4047. 5999 RETURN
  4048. 6000 'Terrein Map
  4049. 6010 PCOPY 2,1
  4050. 6020 CV=0:FOR TT=1 TO YS:FOR T=1 TO XS
  4051. 6030 MAP(T,TT)=POINT(X+(T-MX),Y+(TT-MY)):IF MAP(T,TT)>0 THEN CV=CV+1
  4052. 6040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6110
  4053. 6050 LINE(0,0)-(319,199),0,BF
  4054. 6060 FOR TT=1 TO YS:FOR T=1 TO XS:M=MAP(T,TT)
  4055. 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*xd,(TT-1)*yd),GA
  4056. 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RW,OR
  4057. 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RE,OR
  4058. 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RN,OR
  4059. 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RS,OR
  4060. 6080 'IF M=0 THEN LINE((T-1)*xd,(TT-1)*yd)-((T*xd)-1,(TT*yd)-1),2,BF
  4061. 6109 NEXT T:NEXT TT
  4062. 6110 IF CW=2 THEN LINE(0,0)-(319,199),0,BF:LOCATE 18,1:COLOR 5:PRINT"outer space";:COLOR 15
  4063. 6111 GOSUB 5000
  4064. 6112 PCOPY 1,0
  4065. 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  4066. 6120 GOTO 100
  4067. 10000 '
  4068. 10010 PCOPY 0,1
  4069. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  4070. 10015 ST=5
  4071. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  4072. 10030 LINE(0,0)-(T,199),0,BF
  4073. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  4074. 10040 LINE(0,0)-(319,TT),0,BF
  4075. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  4076. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  4077. 10047 LINE(240,0)-(319,199),0,BF
  4078. 10050 PCOPY 1,0
  4079. 10060 NEXT T
  4080. 10061 PSET(120,56),0
  4081. 10062 PCOPY 1,0
  4082. 10070 '
  4083. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  4084. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  4085. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  4086. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  4087. 20000 '
  4088. 20010 PCOPY 0,1:PCOPY 0,3
  4089. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  4090. 20015 ST=5
  4091. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  4092. 20030 LINE(0,0)-(T,112),0,BF
  4093. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  4094. 20040 LINE(0,0)-(319,TT),0,BF
  4095. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  4096. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  4097. 20047 'LINE(240,0)-(319,199),0,BF
  4098. 20050 PCOPY 1,0
  4099. 20060 NEXT T
  4100. 20061 'PSET(120,56),0
  4101. 20062 LOCATE 24,17:PRINT"(Pause)";
  4102. 20070 PCOPY 1,0
  4103. 20080 C$=INPUT$(1)
  4104. 20098 GOTO 30000
  4105. 30000 '
  4106. 30010 PCOPY 3,1
  4107. 30015 ST=5:TT=36
  4108. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  4109. 30025 PCOPY 3,1
  4110. 30030 LINE(0,0)-(T,112),0,BF
  4111. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  4112. 30040 LINE(0,0)-(319,TT),0,BF
  4113. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  4114. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  4115. 30047 'LINE(240,0)-(319,199),0,BF
  4116. 30050 PCOPY 1,0
  4117. 30060 NEXT T
  4118. 30070 PCOPY 1,0
  4119. 30098 C$=" ":GOTO 190
  4120. 
  4121.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement