Advertisement
jargon

Dungeon Collective 2021-0922-1315

Sep 22nd, 2021
2,365
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QBasic 135.49 KB | None | 0 0
  1. miscdun/DUN001.BAS
  2. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=1:Y=1
  3. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  4. 50 C$=" ":GOTO 105
  5. 100 C$=INPUT$(1):XM$="":YM$="":IF C$="" THEN C$=" "
  6. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  7. 106 XX=X:YY=Y
  8. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  9. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  10. 130 IF INSTR("369",C$)>0 THEN X=X+1
  11. 140 IF INSTR("147",C$)>0 THEN X=X-1
  12. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  13. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  14. 190 '
  15. 1000 '
  16. 1010 PCOPY 2,1
  17. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  18. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  19. 1040 NEXT T:NEXT TT
  20. 1045 IF POINT(X,Y)<>0 THEN X=XX:Y=YY:GOTO 1010
  21. 1050 LINE(0,0)-(319,199),0,BF
  22. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  23. 1065 IF MAP(T,TT)=0 THEN PUT((T-1)*16,(TT-1)*16),GD
  24. 1070 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  25. 1080 IF MAP(T,TT)=2 THEN PUT((T-1)*16,(TT-1)*16),GB
  26. 1090 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GC
  27. 1100 NEXT T:NEXT TT
  28. 1105 LOCATE 20,1:PRINT X;",";Y;
  29. 1108 GOSUB 5000
  30. 1111 PCOPY 1,0
  31. 1120 GOTO 100
  32. 2000 '
  33. 2010 DIM GA(16,16)
  34. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  35. 2030 READ R:PSET(T,TT),R
  36. 2040 NEXT T:NEXT TT
  37. 2050 GET(1,1)-(16,16),GA
  38. 2051 CLS
  39. 2110 DIM GB(16,16)
  40. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  41. 2130 READ R:PSET(T,TT),R
  42. 2140 NEXT T:NEXT TT
  43. 2150 GET(1,1)-(16,16),GB
  44. 2151 CLS
  45. 2210 DIM GC(16,16)
  46. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  47. 2230 READ R:PSET(T,TT),R
  48. 2240 NEXT T:NEXT TT
  49. 2250 GET(1,1)-(16,16),GC
  50. 2251 CLS
  51. 2310 DIM GD(16,16)
  52. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  53. 2330 READ R:PSET(T,TT),R
  54. 2340 NEXT T:NEXT TT
  55. 2350 GET(1,1)-(16,16),GD
  56. 2351 CLS
  57. 2410 DIM GR(16,16)
  58. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  59. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  60. 2430 INPUT #1,R:PSET(T,TT),R
  61. 2440 NEXT T:NEXT TT
  62. 2445 CLOSE 1
  63. 2450 GET(1,1)-(16,16),GR
  64. 2451 CLS
  65. 2515 OPEN"map001.mem" FOR INPUT AS 1
  66. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  67. 2530 INPUT #1,R:PSET(T,TT),R
  68. 2540 NEXT T:NEXT TT
  69. 2545 CLOSE 1
  70. 2551 CLS
  71. 2999 RETURN
  72. 3000 'GA
  73. 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  74. 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  75. 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  76. 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  77. 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  78. 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  79. 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  80. 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  81. 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  82. 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  83. 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  84. 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  85. 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  86. 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  87. 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  88. 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  89. 3100 'Gb
  90. 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  91. 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  92. 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  93. 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  94. 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  95. 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  96. 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  97. 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  98. 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  99. 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  100. 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  101. 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  102. 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  103. 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  104. 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  105. 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  106. 3200 'Gc
  107. 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  108. 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  109. 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  110. 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  111. 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  112. 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  113. 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  114. 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  115. 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  116. 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  117. 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  118. 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  119. 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  120. 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  121. 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  122. 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  123. 3300 'Gd
  124. 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
  125. 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
  126. 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
  127. 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  128. 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
  129. 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
  130. 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
  131. 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  132. 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
  133. 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
  134. 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
  135. 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  136. 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
  137. 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
  138. 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
  139. 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  140. 5000 '
  141. 5010 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  142. 5020 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  143. 5030 PUT((8-1)*16,(4-1)*16),GR,OR
  144. 5040 PCOPY 1,0
  145. 5050 RETURN
  146. 
  147. miscdun/DUN002.BAS
  148. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
  149. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  150. 100 C$=INPUT$(1):XM$="":YM$="":IF C$="" THEN C$=" "
  151. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  152. 108 XX=X:YY=Y
  153. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  154. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  155. 130 IF INSTR("369",C$)>0 THEN X=X+1
  156. 140 IF INSTR("147",C$)>0 THEN X=X-1
  157. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  158. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  159. 190 '
  160. 1000 '
  161. 1010 PCOPY 2,1
  162. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  163. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  164. 1040 NEXT T:NEXT TT
  165. 1050 LINE(0,0)-(319,199),0,BF
  166. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  167. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  168. 1070 IF MAP(T,TT)=2 THEN PUT((T-1)*16,(TT-1)*16),GB
  169. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GC
  170. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  171. 1100 NEXT T:NEXT TT
  172. 1102 GOSUB 5000
  173. 1111 PCOPY 1,0
  174. 1120 GOTO 100
  175. 2000 '
  176. 2010 DIM GA(16,16)
  177. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  178. 2030 READ R:PSET(T,TT),R
  179. 2040 NEXT T:NEXT TT
  180. 2050 GET(1,1)-(16,16),GA
  181. 2051 CLS
  182. 2110 DIM GB(16,16)
  183. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  184. 2130 READ R:PSET(T,TT),R
  185. 2140 NEXT T:NEXT TT
  186. 2150 GET(1,1)-(16,16),GB
  187. 2151 CLS
  188. 2210 DIM GC(16,16)
  189. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  190. 2230 READ R:PSET(T,TT),R
  191. 2240 NEXT T:NEXT TT
  192. 2250 GET(1,1)-(16,16),GC
  193. 2251 CLS
  194. 2310 DIM GD(16,16)
  195. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  196. 2330 READ R:PSET(T,TT),R
  197. 2340 NEXT T:NEXT TT
  198. 2350 GET(1,1)-(16,16),GD
  199. 2351 CLS
  200. 2410 DIM GR(16,16)
  201. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  202. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  203. 2430 INPUT #1,R:PSET(T,TT),R
  204. 2440 NEXT T:NEXT TT
  205. 2445 CLOSE 1
  206. 2450 GET(1,1)-(16,16),GR
  207. 2451 CLS
  208. 2515 OPEN"map001.mem" FOR INPUT AS 1
  209. 2520 FOR TT=1 TO 32:FOR T=1 TO 64
  210. 2530 INPUT #1,R:PSET(T,TT),R
  211. 2540 NEXT T:NEXT TT
  212. 2545 CLOSE 1
  213. 2551 CLS
  214. 2999 RETURN
  215. 3000 'GA
  216. 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  217. 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  218. 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  219. 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  220. 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  221. 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  222. 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  223. 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  224. 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  225. 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  226. 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  227. 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  228. 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  229. 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  230. 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  231. 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  232. 3100 'Gb
  233. 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  234. 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  235. 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  236. 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  237. 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  238. 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  239. 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  240. 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  241. 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  242. 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  243. 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  244. 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  245. 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  246. 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  247. 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  248. 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  249. 3200 'Gc
  250. 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  251. 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  252. 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  253. 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  254. 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  255. 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  256. 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  257. 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  258. 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  259. 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  260. 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  261. 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  262. 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  263. 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  264. 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  265. 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  266. 3300 'Gd
  267. 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
  268. 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
  269. 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
  270. 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  271. 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
  272. 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
  273. 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
  274. 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  275. 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
  276. 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
  277. 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
  278. 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  279. 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
  280. 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
  281. 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
  282. 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  283. 5000 '
  284. 5001 IF MAP(8,4)<>0 THEN X=XX:Y=YY:RETURN 1010
  285. 5010 LOCATE 20,1:PRINT X;",";Y;
  286. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  287. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  288. 5040 PUT((8-1)*16,(4-1)*16),GR,OR
  289. 5999 RETURN
  290. 
  291. miscdun/DUN003.BAS
  292. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
  293. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  294. 100 C$=INPUT$(1):XM$="":YM$="":IF C$="" THEN C$=" "
  295. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  296. 108 XX=X:YY=Y
  297. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  298. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  299. 130 IF INSTR("369",C$)>0 THEN X=X+1
  300. 140 IF INSTR("147",C$)>0 THEN X=X-1
  301. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  302. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  303. 190 '
  304. 1000 '
  305. 1005 GS=1-GS
  306. 1010 PCOPY 2,1
  307. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  308. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  309. 1040 NEXT T:NEXT TT
  310. 1050 LINE(0,0)-(319,199),0,BF
  311. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  312. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  313. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  314. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  315. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GA
  316. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  317. 1100 NEXT T:NEXT TT
  318. 1102 GOSUB 5000
  319. 1111 PCOPY 1,0
  320. 1120 GOTO 100
  321. 2000 '
  322. 2010 DIM GA(16,16)
  323. 2015 OPEN"brick02.mem" FOR INPUT AS 1
  324. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  325. 2030 INPUT #1,R:PSET(T,TT),R
  326. 2040 NEXT T:NEXT TT
  327. 2045 CLOSE 1
  328. 2050 GET(1,1)-(16,16),GA
  329. 2051 CLS
  330. 2110 DIM GB(16,16)
  331. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  332. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  333. 2130 INPUT #1,R:PSET(T,TT),R
  334. 2140 NEXT T:NEXT TT
  335. 2145 CLOSE 1
  336. 2150 GET(1,1)-(16,16),GB
  337. 2151 CLS
  338. 2210 DIM GC(16,16)
  339. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  340. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  341. 2230 INPUT #1,R:PSET(T,TT),R
  342. 2240 NEXT T:NEXT TT
  343. 2245 CLOSE 1
  344. 2250 GET(1,1)-(16,16),GC
  345. 2251 CLS
  346. 2310 DIM GD(16,16)
  347. 2315 OPEN"switch01.mem" FOR INPUT AS 1
  348. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  349. 2330 INPUT #1,R:PSET(T,TT),R
  350. 2340 NEXT T:NEXT TT
  351. 2345 CLOSE 1
  352. 2350 GET(1,1)-(16,16),GD
  353. 2351 CLS
  354. 2410 DIM GR(16,16)
  355. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  356. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  357. 2430 INPUT #1,R:PSET(T,TT),R
  358. 2440 NEXT T:NEXT TT
  359. 2445 CLOSE 1
  360. 2450 GET(1,1)-(16,16),GR
  361. 2451 CLS
  362. 2515 OPEN"map001.mem" FOR INPUT AS 1
  363. 2520 FOR TT=1 TO 32:FOR T=1 TO 64
  364. 2530 INPUT #1,R:PSET(T,TT),R
  365. 2540 NEXT T:NEXT TT
  366. 2545 CLOSE 1
  367. 2551 CLS
  368. 2999 RETURN
  369. 3000 'GA
  370. 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  371. 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  372. 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  373. 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  374. 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  375. 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  376. 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  377. 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  378. 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  379. 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  380. 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  381. 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  382. 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  383. 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  384. 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  385. 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  386. 3100 'Gb
  387. 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  388. 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  389. 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  390. 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  391. 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  392. 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  393. 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  394. 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  395. 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  396. 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  397. 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  398. 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  399. 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  400. 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  401. 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  402. 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  403. 3200 'Gc
  404. 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  405. 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  406. 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  407. 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  408. 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  409. 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  410. 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  411. 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  412. 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  413. 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  414. 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  415. 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  416. 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  417. 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  418. 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  419. 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  420. 3300 'Gd
  421. 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
  422. 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
  423. 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
  424. 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  425. 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
  426. 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
  427. 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
  428. 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  429. 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
  430. 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
  431. 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
  432. 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  433. 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
  434. 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
  435. 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
  436. 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  437. 5000 '
  438. 5001 IF MAP(8,4)<>0 THEN X=XX:Y=YY:RETURN 1010
  439. 5010 LOCATE 20,1:PRINT X;",";Y;
  440. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  441. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  442. 5040 PUT((8-1)*16,(4-1)*16),GR,OR
  443. 5999 RETURN
  444. 
  445. miscdun/DUN004.BAS
  446. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
  447. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  448. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  449. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  450. 108 XX=X:YY=Y
  451. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  452. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  453. 130 IF INSTR("369",C$)>0 THEN X=X+1
  454. 140 IF INSTR("147",C$)>0 THEN X=X-1
  455. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  456. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  457. 190 '
  458. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  459. 1000 '
  460. 1010 PCOPY 2,1
  461. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  462. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  463. 1040 NEXT T:NEXT TT
  464. 1050 LINE(0,0)-(319,199),0,BF
  465. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  466. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  467. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  468. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  469. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GA
  470. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  471. 1095 IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  472. 1100 NEXT T:NEXT TT
  473. 1102 GOSUB 5000
  474. 1111 PCOPY 1,0
  475. 1120 GOTO 100
  476. 2000 '
  477. 2010 DIM GA(16,16)
  478. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  479. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  480. 2030 INPUT #1,R:PSET(T,TT),R
  481. 2040 NEXT T:NEXT TT
  482. 2045 CLOSE 1
  483. 2050 GET(1,1)-(16,16),GA
  484. 2051 CLS
  485. 2110 DIM GB(16,16)
  486. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  487. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  488. 2130 INPUT #1,R:PSET(T,TT),R
  489. 2140 NEXT T:NEXT TT
  490. 2145 CLOSE 1
  491. 2150 GET(1,1)-(16,16),GB
  492. 2151 CLS
  493. 2210 DIM GC(16,16)
  494. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  495. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  496. 2230 INPUT #1,R:PSET(T,TT),R
  497. 2240 NEXT T:NEXT TT
  498. 2245 CLOSE 1
  499. 2250 GET(1,1)-(16,16),GC
  500. 2251 CLS
  501. 2310 DIM GD(16,16)
  502. 2315 OPEN"switch01.mem" FOR INPUT AS 1
  503. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  504. 2330 INPUT #1,R:PSET(T,TT),R
  505. 2340 NEXT T:NEXT TT
  506. 2345 CLOSE 1
  507. 2350 GET(1,1)-(16,16),GD
  508. 2351 CLS
  509. 2410 DIM GR(16,16)
  510. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  511. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  512. 2430 INPUT #1,R:PSET(T,TT),R
  513. 2440 NEXT T:NEXT TT
  514. 2445 CLOSE 1
  515. 2450 GET(1,1)-(16,16),GR
  516. 2451 CLS
  517. 2515 OPEN"map001.mem" FOR INPUT AS 1
  518. 2520 FOR TT=1 TO 32:FOR T=1 TO 64
  519. 2530 INPUT #1,R:PSET(T,TT),R
  520. 2540 NEXT T:NEXT TT
  521. 2545 CLOSE 1
  522. 2551 CLS
  523. 2999 RETURN
  524. 3000 'GA
  525. 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  526. 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  527. 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  528. 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  529. 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  530. 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  531. 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
  532. 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  533. 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  534. 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  535. 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  536. 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  537. 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  538. 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  539. 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
  540. 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
  541. 3100 'Gb
  542. 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  543. 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  544. 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  545. 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  546. 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  547. 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  548. 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  549. 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  550. 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  551. 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
  552. 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  553. 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
  554. 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
  555. 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
  556. 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
  557. 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  558. 3200 'Gc
  559. 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  560. 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  561. 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  562. 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  563. 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  564. 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  565. 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  566. 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  567. 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  568. 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  569. 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  570. 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  571. 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  572. 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
  573. 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
  574. 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  575. 3300 'Gd
  576. 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
  577. 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
  578. 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
  579. 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  580. 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
  581. 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
  582. 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
  583. 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  584. 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
  585. 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
  586. 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
  587. 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  588. 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
  589. 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
  590. 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
  591. 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
  592. 5000 '
  593. 5001 IF MAP(8,4)<>0 THEN X=XX:Y=YY:RETURN 1010
  594. 5010 LOCATE 20,1:PRINT X;",";Y;
  595. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  596. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  597. 5040 PUT((8-1)*16,(4-1)*16),GR,OR
  598. 5999 RETURN
  599. 
  600. miscdun/DUN005.BAS
  601. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
  602. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  603. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  604. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  605. 108 XX=X:YY=Y
  606. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  607. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  608. 130 IF INSTR("369",C$)>0 THEN X=X+1
  609. 140 IF INSTR("147",C$)>0 THEN X=X-1
  610. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  611. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  612. 190 '
  613. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  614. 1000 '
  615. 1010 PCOPY 2,1
  616. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  617. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  618. 1040 NEXT T:NEXT TT
  619. 1050 LINE(0,0)-(319,199),0,BF
  620. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  621. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  622. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  623. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  624. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  625. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  626. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  627. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  628. 1100 NEXT T:NEXT TT
  629. 1102 GOSUB 5000
  630. 1111 PCOPY 1,0
  631. 1120 GOTO 100
  632. 2000 '
  633. 2010 DIM GA(16,16)
  634. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  635. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  636. 2030 INPUT #1,R:PSET(T,TT),R
  637. 2040 NEXT T:NEXT TT
  638. 2045 CLOSE 1
  639. 2050 GET(1,1)-(16,16),GA
  640. 2051 CLS
  641. 2110 DIM GB(16,16)
  642. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  643. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  644. 2130 INPUT #1,R:PSET(T,TT),R
  645. 2140 NEXT T:NEXT TT
  646. 2145 CLOSE 1
  647. 2150 GET(1,1)-(16,16),GB
  648. 2151 CLS
  649. 2210 DIM GC(16,16)
  650. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  651. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  652. 2230 INPUT #1,R:PSET(T,TT),R
  653. 2240 NEXT T:NEXT TT
  654. 2245 CLOSE 1
  655. 2250 GET(1,1)-(16,16),GC
  656. 2251 CLS
  657. 2310 DIM GD(16,16)
  658. 2315 OPEN"switch01.mem" FOR INPUT AS 1
  659. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  660. 2330 INPUT #1,R:PSET(T,TT),R
  661. 2340 NEXT T:NEXT TT
  662. 2345 CLOSE 1
  663. 2350 GET(1,1)-(16,16),GD
  664. 2351 CLS
  665. 2410 DIM GR(16,16)
  666. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  667. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  668. 2430 INPUT #1,R:PSET(T,TT),R
  669. 2440 NEXT T:NEXT TT
  670. 2445 CLOSE 1
  671. 2450 GET(1,1)-(16,16),GR
  672. 2451 CLS
  673. 2515 OPEN"map001.mem" FOR INPUT AS 1
  674. 2520 FOR TT=1 TO 32:FOR T=1 TO 64
  675. 2530 INPUT #1,R:PSET(T,TT),R
  676. 2540 NEXT T:NEXT TT
  677. 2545 CLOSE 1
  678. 2551 CLS
  679. 2999 RETURN
  680. 5000 '
  681. 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
  682. 5010 'LOCATE 20,1:PRINT X;",";Y;
  683. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  684. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  685. 5040 PUT((8-1)*16,(4-1)*16),GR,OR
  686. 5999 RETURN
  687. 
  688. miscdun/DUN006.BAS
  689. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  690. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  691. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  692. 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  693. 108 XX=X:YY=Y
  694. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  695. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  696. 130 IF INSTR("369",C$)>0 THEN X=X+1
  697. 140 IF INSTR("147",C$)>0 THEN X=X-1
  698. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  699. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  700. 190 '
  701. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  702. 1000 '
  703. 1010 PCOPY 2,1
  704. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  705. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  706. 1040 NEXT T:NEXT TT
  707. 1050 LINE(0,0)-(319,199),0,BF
  708. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  709. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  710. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  711. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  712. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  713. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  714. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  715. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  716. 1100 NEXT T:NEXT TT
  717. 1102 GOSUB 5000
  718. 1111 PCOPY 1,0
  719. 1120 GOTO 100
  720. 2000 '
  721. 2010 DIM GA(16,16)
  722. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  723. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  724. 2030 INPUT #1,R:PSET(T,TT),R
  725. 2040 NEXT T:NEXT TT
  726. 2045 CLOSE 1
  727. 2050 GET(1,1)-(16,16),GA
  728. 2051 CLS
  729. 2110 DIM GB(16,16)
  730. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  731. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  732. 2130 INPUT #1,R:PSET(T,TT),R
  733. 2140 NEXT T:NEXT TT
  734. 2145 CLOSE 1
  735. 2150 GET(1,1)-(16,16),GB
  736. 2151 CLS
  737. 2210 DIM GC(16,16)
  738. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  739. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  740. 2230 INPUT #1,R:PSET(T,TT),R
  741. 2240 NEXT T:NEXT TT
  742. 2245 CLOSE 1
  743. 2250 GET(1,1)-(16,16),GC
  744. 2251 CLS
  745. 2310 DIM GD(16,16)
  746. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  747. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  748. 2330 INPUT #1,R:PSET(T,TT),R
  749. 2340 NEXT T:NEXT TT
  750. 2345 CLOSE 1
  751. 2350 GET(1,1)-(16,16),GD
  752. 2351 CLS
  753. 2410 DIM GR(16,16)
  754. 2415 OPEN"dereck1.mem" FOR INPUT AS 1
  755. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  756. 2430 INPUT #1,R:PSET(T,TT),R
  757. 2440 NEXT T:NEXT TT
  758. 2445 CLOSE 1
  759. 2450 GET(1,1)-(16,16),GR
  760. 2451 CLS
  761. 2515 OPEN"map002.mem" FOR INPUT AS 1
  762. 2520 FOR TT=1 TO 32:FOR T=1 TO 64
  763. 2530 INPUT #1,R:PSET(T-1,TT-1),R
  764. 2540 NEXT T:NEXT TT
  765. 2545 CLOSE 1
  766. 2551 CLS
  767. 2999 RETURN
  768. 5000 '
  769. 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
  770. 5010 'LOCATE 20,1:PRINT X;",";Y;
  771. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  772. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  773. 5040 PUT((8-1)*16,(4-1)*16),GR,OR
  774. 5999 RETURN
  775. 
  776. miscdun/DUN007.BAS
  777. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  778. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  779. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  780. 105 IF C$=CHR$(27) THEN 10000
  781. 106 IF C$=CHR$(13) THEN 10000
  782. 107 IF C$="p" OR C$="P" THEN 20000
  783. 108 XX=X:YY=Y
  784. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  785. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  786. 130 IF INSTR("369",C$)>0 THEN X=X+1
  787. 140 IF INSTR("147",C$)>0 THEN X=X-1
  788. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  789. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  790. 190 '
  791. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  792. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  793. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  794. 1000 '
  795. 1010 PCOPY 2,1
  796. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  797. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  798. 1040 NEXT T:NEXT TT
  799. 1050 LINE(0,0)-(319,199),0,BF
  800. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  801. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  802. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  803. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  804. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  805. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  806. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  807. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  808. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
  809. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  810. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  811. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  812. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  813. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  814. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  815. 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
  816. 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
  817. 1109 NEXT T:NEXT TT
  818. 1110 GOSUB 5000
  819. 1111 PCOPY 1,0
  820. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  821. 1120 GOTO 100
  822. 2000 '
  823. 2010 DIM GA(16,16)
  824. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  825. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  826. 2030 INPUT #1,R:PSET(T,TT),R
  827. 2040 NEXT T:NEXT TT
  828. 2045 CLOSE 1
  829. 2050 GET(1,1)-(16,16),GA
  830. 2051 CLS
  831. 2110 DIM GB(16,16)
  832. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  833. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  834. 2130 INPUT #1,R:PSET(T,TT),R
  835. 2140 NEXT T:NEXT TT
  836. 2145 CLOSE 1
  837. 2150 GET(1,1)-(16,16),GB
  838. 2151 CLS
  839. 2210 DIM GC(16,16)
  840. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  841. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  842. 2230 INPUT #1,R:PSET(T,TT),R
  843. 2240 NEXT T:NEXT TT
  844. 2245 CLOSE 1
  845. 2250 GET(1,1)-(16,16),GC
  846. 2251 CLS
  847. 2310 DIM GD(16,16)
  848. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  849. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  850. 2330 INPUT #1,R:PSET(T,TT),R
  851. 2340 NEXT T:NEXT TT
  852. 2345 CLOSE 1
  853. 2350 GET(1,1)-(16,16),GD
  854. 2351 CLS
  855. 2410 DIM GE(16,16)
  856. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  857. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  858. 2430 INPUT #1,R:PSET(T,TT),R
  859. 2440 NEXT T:NEXT TT
  860. 2445 CLOSE 1
  861. 2450 GET(1,1)-(16,16),GE
  862. 2451 CLS
  863. 2510 DIM GR(16,16)
  864. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  865. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  866. 2530 INPUT #1,R:PSET(T,TT),R
  867. 2540 NEXT T:NEXT TT
  868. 2545 CLOSE 1
  869. 2550 GET(1,1)-(16,16),GR
  870. 2551 CLS
  871. 2610 DIM GS(16,16)
  872. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  873. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  874. 2630 INPUT #1,R:PSET(T,TT),R
  875. 2640 NEXT T:NEXT TT
  876. 2645 CLOSE 1
  877. 2650 GET(1,1)-(16,16),GS
  878. 2651 CLS
  879. 2710 DIM GT(16,16)
  880. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  881. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  882. 2730 INPUT #1,R:PSET(T,TT),R
  883. 2740 NEXT T:NEXT TT
  884. 2745 CLOSE 1
  885. 2750 GET(1,1)-(16,16),GT
  886. 2751 CLS
  887. 2810 DIM GF(16,16)
  888. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  889. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  890. 2830 INPUT #1,R:PSET(T,TT),R
  891. 2840 NEXT T:NEXT TT
  892. 2845 CLOSE 1
  893. 2850 GET(1,1)-(16,16),GF
  894. 2851 CLS
  895. 2910 DIM GI(16,16)
  896. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  897. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  898. 2930 INPUT #1,R:PSET(T,TT),R
  899. 2940 NEXT T:NEXT TT
  900. 2945 CLOSE 1
  901. 2950 GET(1,1)-(16,16),GI
  902. 2951 CLS
  903. 3010 DIM GJ(16,16)
  904. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  905. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  906. 3030 INPUT #1,R:PSET(T,TT),R
  907. 3040 NEXT T:NEXT TT
  908. 3045 CLOSE 1
  909. 3050 GET(1,1)-(16,16),GJ
  910. 3051 CLS
  911. 3110 DIM GK(16,16)
  912. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  913. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  914. 3130 INPUT #1,R:PSET(T,TT),R
  915. 3140 NEXT T:NEXT TT
  916. 3145 CLOSE 1
  917. 3150 GET(1,1)-(16,16),GK
  918. 3151 CLS
  919. 3210 DIM GL(16,16)
  920. 3215 OPEN"door03.mem" FOR INPUT AS 1
  921. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  922. 3230 INPUT #1,R:PSET(T,TT),R
  923. 3240 NEXT T:NEXT TT
  924. 3245 CLOSE 1
  925. 3250 GET(1,1)-(16,16),GL
  926. 3251 CLS
  927. 3310 DIM GM(16,16)
  928. 3315 OPEN"door04.mem" FOR INPUT AS 1
  929. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  930. 3330 INPUT #1,R:PSET(T,TT),R
  931. 3340 NEXT T:NEXT TT
  932. 3345 CLOSE 1
  933. 3350 GET(1,1)-(16,16),GM
  934. 3351 CLS
  935. 3915 OPEN"map003.mem" FOR INPUT AS 1
  936. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  937. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  938. 3940 NEXT T:NEXT TT
  939. 3945 CLOSE 1
  940. 3951 CLS
  941. 3999 RETURN
  942. 5000 '
  943. 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
  944. 5010 'LOCATE 1,32:PRINT X;",";Y;
  945. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  946. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  947. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  948. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  949. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  950. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  951. 5040 IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  952. 5041 IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  953. 5042 IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  954. 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  955. 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  956. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  957. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  958. 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  959. 5999 RETURN
  960. 10000 '
  961. 10010 PCOPY 0,1
  962. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  963. 10015 ST=5
  964. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  965. 10030 LINE(0,0)-(T,199),0,BF
  966. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  967. 10040 LINE(0,0)-(319,TT),0,BF
  968. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  969. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  970. 10047 LINE(240,0)-(319,199),0,BF
  971. 10050 PCOPY 1,0
  972. 10060 NEXT T
  973. 10061 PSET(120,56),0
  974. 10062 PCOPY 1,0
  975. 10070 '
  976. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  977. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  978. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  979. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  980. 20000 '
  981. 20010 PCOPY 0,1:PCOPY 0,3
  982. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  983. 20015 ST=5
  984. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  985. 20030 LINE(0,0)-(T,112),0,BF
  986. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  987. 20040 LINE(0,0)-(319,TT),0,BF
  988. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  989. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  990. 20047 'LINE(240,0)-(319,199),0,BF
  991. 20050 PCOPY 1,0
  992. 20060 NEXT T
  993. 20061 'PSET(120,56),0
  994. 20062 LOCATE 24,17:PRINT"(Pause)";
  995. 20070 PCOPY 1,0
  996. 20080 C$=INPUT$(1)
  997. 20098 GOTO 30000
  998. 30000 '
  999. 30010 PCOPY 3,1
  1000. 30015 ST=5:TT=36
  1001. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  1002. 30025 PCOPY 3,1
  1003. 30030 LINE(0,0)-(T,112),0,BF
  1004. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  1005. 30040 LINE(0,0)-(319,TT),0,BF
  1006. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  1007. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1008. 30047 'LINE(240,0)-(319,199),0,BF
  1009. 30050 PCOPY 1,0
  1010. 30060 NEXT T
  1011. 30070 PCOPY 1,0
  1012. 30098 C$=" ":GOTO 190
  1013. 
  1014. miscdun/DUN010.BAS
  1015. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=8:Y=1
  1016. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1017. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1018. 105 IF C$=CHR$(27) THEN 10000
  1019. 106 IF C$=CHR$(13) THEN 10000
  1020. 108 XX=X:YY=Y
  1021. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1022. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1023. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1024. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1025. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1026. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1027. 190 '
  1028. 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
  1029. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
  1030. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
  1031. 1000 '
  1032. 1010 PCOPY 2,1
  1033. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1034. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1035. 1040 NEXT T:NEXT TT
  1036. 1050 LINE(0,0)-(319,199),0,BF
  1037. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1038. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1039. 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=3) THEN PUT((T-1)*16,(TT-1)*16),GB
  1040. 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>3) THEN PUT((T-1)*16,(TT-1)*16),GC
  1041. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
  1042. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
  1043. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
  1044. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1045. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  1046. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  1047. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  1048. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  1049. 1109 NEXT T:NEXT TT
  1050. 1110 GOSUB 5000
  1051. 1111 PCOPY 1,0
  1052. 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
  1053. 1120 GOTO 100
  1054. 2000 '
  1055. 2010 DIM GA(16,16)
  1056. 2015 OPEN"brick04.mem" FOR INPUT AS 1
  1057. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  1058. 2030 INPUT #1,R:PSET(T,TT),R
  1059. 2040 NEXT T:NEXT TT
  1060. 2045 CLOSE 1
  1061. 2050 GET(1,1)-(16,16),GA
  1062. 2051 CLS
  1063. 2110 DIM GB(16,16)
  1064. 2115 OPEN"door01.mem" FOR INPUT AS 1
  1065. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  1066. 2130 INPUT #1,R:PSET(T,TT),R
  1067. 2140 NEXT T:NEXT TT
  1068. 2145 CLOSE 1
  1069. 2150 GET(1,1)-(16,16),GB
  1070. 2151 CLS
  1071. 2210 DIM GC(16,16)
  1072. 2215 OPEN"door02.mem" FOR INPUT AS 1
  1073. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  1074. 2230 INPUT #1,R:PSET(T,TT),R
  1075. 2240 NEXT T:NEXT TT
  1076. 2245 CLOSE 1
  1077. 2250 GET(1,1)-(16,16),GC
  1078. 2251 CLS
  1079. 2310 DIM GD(16,16)
  1080. 2315 OPEN"tile01.mem" FOR INPUT AS 1
  1081. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  1082. 2330 INPUT #1,R:PSET(T,TT),R
  1083. 2340 NEXT T:NEXT TT
  1084. 2345 CLOSE 1
  1085. 2350 GET(1,1)-(16,16),GD
  1086. 2351 CLS
  1087. 2410 DIM GE(16,16)
  1088. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  1089. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  1090. 2430 INPUT #1,R:PSET(T,TT),R
  1091. 2440 NEXT T:NEXT TT
  1092. 2445 CLOSE 1
  1093. 2450 GET(1,1)-(16,16),GE
  1094. 2451 CLS
  1095. 2510 DIM GR(16,16)
  1096. 2515 OPEN"phillip1.mem" FOR INPUT AS 1
  1097. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  1098. 2530 INPUT #1,R:PSET(T,TT),R
  1099. 2540 NEXT T:NEXT TT
  1100. 2545 CLOSE 1
  1101. 2550 GET(1,1)-(16,16),GR
  1102. 2551 CLS
  1103. 2610 DIM GS(16,16)
  1104. 2615 OPEN"phillip2.mem" FOR INPUT AS 1
  1105. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  1106. 2630 INPUT #1,R:PSET(T,TT),R
  1107. 2640 NEXT T:NEXT TT
  1108. 2645 CLOSE 1
  1109. 2650 GET(1,1)-(16,16),GS
  1110. 2651 CLS
  1111. 2710 DIM GT(16,16)
  1112. 2715 OPEN"phillip3.mem" FOR INPUT AS 1
  1113. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  1114. 2730 INPUT #1,R:PSET(T,TT),R
  1115. 2740 NEXT T:NEXT TT
  1116. 2745 CLOSE 1
  1117. 2750 GET(1,1)-(16,16),GT
  1118. 2751 CLS
  1119. 2810 DIM GF(16,16)
  1120. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  1121. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  1122. 2830 INPUT #1,R:PSET(T,TT),R
  1123. 2840 NEXT T:NEXT TT
  1124. 2845 CLOSE 1
  1125. 2850 GET(1,1)-(16,16),GF
  1126. 2851 CLS
  1127. 2910 DIM GG(16,16)
  1128. 2915 OPEN"window01.mem" FOR INPUT AS 1
  1129. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  1130. 2930 INPUT #1,R:PSET(T,TT),R
  1131. 2940 NEXT T:NEXT TT
  1132. 2945 CLOSE 1
  1133. 2950 GET(1,1)-(16,16),GG
  1134. 2951 CLS
  1135. 3010 DIM GH(16,16)
  1136. 3015 OPEN"well01.mem" FOR INPUT AS 1
  1137. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  1138. 3030 INPUT #1,R:PSET(T,TT),R
  1139. 3040 NEXT T:NEXT TT
  1140. 3045 CLOSE 1
  1141. 3050 GET(1,1)-(16,16),GH
  1142. 3051 CLS
  1143. 3110 DIM GI(16,16)
  1144. 3115 OPEN"woman01.mem" FOR INPUT AS 1
  1145. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  1146. 3130 INPUT #1,R:PSET(T,TT),R
  1147. 3140 NEXT T:NEXT TT
  1148. 3145 CLOSE 1
  1149. 3150 GET(1,1)-(16,16),GI
  1150. 3151 CLS
  1151. 3210 DIM GJ(16,16)
  1152. 3215 OPEN"woman02.mem" FOR INPUT AS 1
  1153. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  1154. 3230 INPUT #1,R:PSET(T,TT),R
  1155. 3240 NEXT T:NEXT TT
  1156. 3245 CLOSE 1
  1157. 3250 GET(1,1)-(16,16),GJ
  1158. 3251 CLS
  1159. 3310 DIM GK(16,16)
  1160. 3315 OPEN"woman03.mem" FOR INPUT AS 1
  1161. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  1162. 3330 INPUT #1,R:PSET(T,TT),R
  1163. 3340 NEXT T:NEXT TT
  1164. 3345 CLOSE 1
  1165. 3350 GET(1,1)-(16,16),GK
  1166. 3351 CLS
  1167. 3915 OPEN"map004.mem" FOR INPUT AS 1
  1168. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  1169. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  1170. 3940 NEXT T:NEXT TT
  1171. 3945 CLOSE 1
  1172. 3951 CLS
  1173. 3999 RETURN
  1174. 5000 '
  1175. 5001 IF (MAP(8,4)<>0) THEN X=XX:Y=YY:RETURN 1010
  1176. 5010 'LOCATE 20,1:PRINT X;",";Y;
  1177. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  1178. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  1179. 5035 IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  1180. 5036 IF MAP(8,3)<>2 THEN DOORC=0
  1181. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  1182. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  1183. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  1184. 5043 IF X=2 AND Y=7 THEN LOCATE 18,1:PRINT"Woman: This is the dart shop."
  1185. 5044 IF X=7 AND Y=4 THEN LOCATE 18,1:PRINT"Man: Welcome to Mortstown."
  1186. 5045 IF X=10 AND Y=6 THEN LOCATE 18,1:PRINT"Man: Water from these wells is free!"
  1187. 5046 IF X=18 AND Y=8 THEN LOCATE 18,1:PRINT"Woman: The general store's owner is missing."
  1188. 5047 IF X=9 AND Y=14 THEN LOCATE 18,1:PRINT"Man: The blacksmith lives on the other side of the river."
  1189. 5048 IF X=4 AND Y=19 THEN LOCATE 18,1:PRINT"Man: Mort, the tavern keeper, enjoys meeting new faces."
  1190. 5049 IF X=8 AND Y=8 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
  1191. 5050 IF X=12 AND Y=16 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
  1192. 5051 IF X=16 AND Y=9 THEN LOCATE 18,1:PRINT"Lady: Welcome to Mortstown."
  1193. 5999 RETURN
  1194. 10000 '
  1195. 10010 PCOPY 0,1
  1196. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  1197. 10015 ST=5
  1198. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  1199. 10030 LINE(0,0)-(T,199),0,BF
  1200. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  1201. 10040 LINE(0,0)-(319,TT),0,BF
  1202. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  1203. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1204. 10047 LINE(240,0)-(319,199),0,BF
  1205. 10050 PCOPY 1,0
  1206. 10060 NEXT T
  1207. 10061 PSET(120,56),0
  1208. 10062 PCOPY 1,0
  1209. 10070 '
  1210. 10080 IF X=5 AND Y=5 THEN CHAIN"town.bas"
  1211. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  1212. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  1213. 
  1214. miscdun/DUN011.BAS
  1215. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=29:Y=14
  1216. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1217. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1218. 105 IF C$=CHR$(27) THEN 10000
  1219. 106 IF C$=CHR$(13) THEN 10000
  1220. 108 XX=X:YY=Y
  1221. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1222. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1223. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1224. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1225. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1226. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1227. 190 '
  1228. 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
  1229. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
  1230. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
  1231. 1000 '
  1232. 1010 PCOPY 2,1
  1233. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1234. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1235. 1040 NEXT T:NEXT TT
  1236. 1050 LINE(0,0)-(319,199),0,BF
  1237. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1238. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1239. 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=5) THEN PUT((T-1)*16,(TT-1)*16),GB
  1240. 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>5) THEN PUT((T-1)*16,(TT-1)*16),GC
  1241. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
  1242. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
  1243. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
  1244. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1245. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  1246. 1100 NEXT T:NEXT TT
  1247. 1102 GOSUB 5000
  1248. 1111 PCOPY 1,0
  1249. 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
  1250. 1120 GOTO 100
  1251. 2000 '
  1252. 2010 DIM GA(16,16)
  1253. 2015 OPEN"brick04.mem" FOR INPUT AS 1
  1254. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  1255. 2030 INPUT #1,R:PSET(T,TT),R
  1256. 2040 NEXT T:NEXT TT
  1257. 2045 CLOSE 1
  1258. 2050 GET(1,1)-(16,16),GA
  1259. 2051 CLS
  1260. 2110 DIM GB(16,16)
  1261. 2115 OPEN"door01.mem" FOR INPUT AS 1
  1262. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  1263. 2130 INPUT #1,R:PSET(T,TT),R
  1264. 2140 NEXT T:NEXT TT
  1265. 2145 CLOSE 1
  1266. 2150 GET(1,1)-(16,16),GB
  1267. 2151 CLS
  1268. 2210 DIM GC(16,16)
  1269. 2215 OPEN"door02.mem" FOR INPUT AS 1
  1270. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  1271. 2230 INPUT #1,R:PSET(T,TT),R
  1272. 2240 NEXT T:NEXT TT
  1273. 2245 CLOSE 1
  1274. 2250 GET(1,1)-(16,16),GC
  1275. 2251 CLS
  1276. 2310 DIM GD(16,16)
  1277. 2315 OPEN"tile01.mem" FOR INPUT AS 1
  1278. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  1279. 2330 INPUT #1,R:PSET(T,TT),R
  1280. 2340 NEXT T:NEXT TT
  1281. 2345 CLOSE 1
  1282. 2350 GET(1,1)-(16,16),GD
  1283. 2351 CLS
  1284. 2410 DIM GE(16,16)
  1285. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  1286. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  1287. 2430 INPUT #1,R:PSET(T,TT),R
  1288. 2440 NEXT T:NEXT TT
  1289. 2445 CLOSE 1
  1290. 2450 GET(1,1)-(16,16),GE
  1291. 2451 CLS
  1292. 2510 DIM GR(16,16)
  1293. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  1294. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  1295. 2530 INPUT #1,R:PSET(T,TT),R
  1296. 2540 NEXT T:NEXT TT
  1297. 2545 CLOSE 1
  1298. 2550 GET(1,1)-(16,16),GR
  1299. 2551 CLS
  1300. 2610 DIM GS(16,16)
  1301. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  1302. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  1303. 2630 INPUT #1,R:PSET(T,TT),R
  1304. 2640 NEXT T:NEXT TT
  1305. 2645 CLOSE 1
  1306. 2650 GET(1,1)-(16,16),GS
  1307. 2651 CLS
  1308. 2710 DIM GT(16,16)
  1309. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  1310. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  1311. 2730 INPUT #1,R:PSET(T,TT),R
  1312. 2740 NEXT T:NEXT TT
  1313. 2745 CLOSE 1
  1314. 2750 GET(1,1)-(16,16),GT
  1315. 2751 CLS
  1316. 2810 DIM GF(16,16)
  1317. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  1318. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  1319. 2830 INPUT #1,R:PSET(T,TT),R
  1320. 2840 NEXT T:NEXT TT
  1321. 2845 CLOSE 1
  1322. 2850 GET(1,1)-(16,16),GF
  1323. 2851 CLS
  1324. 2910 DIM GG(16,16)
  1325. 2915 OPEN"window01.mem" FOR INPUT AS 1
  1326. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  1327. 2930 INPUT #1,R:PSET(T,TT),R
  1328. 2940 NEXT T:NEXT TT
  1329. 2945 CLOSE 1
  1330. 2950 GET(1,1)-(16,16),GG
  1331. 2951 CLS
  1332. 3010 DIM GH(16,16)
  1333. 3015 OPEN"well01.mem" FOR INPUT AS 1
  1334. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  1335. 3030 INPUT #1,R:PSET(T,TT),R
  1336. 3040 NEXT T:NEXT TT
  1337. 3045 CLOSE 1
  1338. 3050 GET(1,1)-(16,16),GH
  1339. 3051 CLS
  1340. 3915 OPEN"map005.mem" FOR INPUT AS 1
  1341. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  1342. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  1343. 3940 NEXT T:NEXT TT
  1344. 3945 CLOSE 1
  1345. 3951 CLS
  1346. 3999 RETURN
  1347. 5000 '
  1348. 5001 IF (MAP(8,4)<>0) THEN X=XX:Y=YY:RETURN 1010
  1349. 5010 'LOCATE 1,32:PRINT X;",";Y;
  1350. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  1351. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  1352. 5035 IF MAP(8,5)=2 AND DOORC=0 THEN DOORC=TIMER
  1353. 5036 IF MAP(8,5)<>2 THEN DOORC=0
  1354. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  1355. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  1356. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  1357. 5043 IF MAP(8,3)=5 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
  1358. 5044 IF MAP(8,3)=7 THEN LOCATE 18,1:PRINT"Woman: Welcome to my bathhouse."
  1359. 5045 IF MAP(8,3)=7 THEN LOCATE 19,1:PRINT"It costs 5 gold pieces to use the water."
  1360. 5999 RETURN
  1361. 10000 '
  1362. 10010 PCOPY 0,1
  1363. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  1364. 10015 ST=5
  1365. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  1366. 10030 LINE(0,0)-(T,199),0,BF
  1367. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  1368. 10040 LINE(0,0)-(319,TT),0,BF
  1369. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  1370. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1371. 10050 PCOPY 1,0
  1372. 10060 NEXT T
  1373. 10061 PSET(120,56),0
  1374. 10062 PCOPY 1,0
  1375. 10070 '
  1376. 10080 IF X=29 AND Y=15 THEN CHAIN"dungeon.017"
  1377. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  1378. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  1379. 
  1380. miscdun/DUN012.BAS
  1381. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=8:Y=16
  1382. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1383. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1384. 105 IF C$=CHR$(27) THEN 10000
  1385. 106 IF C$=CHR$(13) THEN 10000
  1386. 108 XX=X:YY=Y
  1387. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1388. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1389. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1390. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1391. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1392. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1393. 190 '
  1394. 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
  1395. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
  1396. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
  1397. 1000 '
  1398. 1010 PCOPY 2,1
  1399. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1400. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1401. 1040 NEXT T:NEXT TT
  1402. 1050 LINE(0,0)-(319,199),0,BF
  1403. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1404. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1405. 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=3) THEN PUT((T-1)*16,(TT-1)*16),GB
  1406. 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>3) THEN PUT((T-1)*16,(TT-1)*16),GC
  1407. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
  1408. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
  1409. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
  1410. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1411. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  1412. 1100 IF MAP(T,TT)=6 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),6,BF
  1413. 1109 NEXT T:NEXT TT
  1414. 1110 GOSUB 5000
  1415. 1111 PCOPY 1,0
  1416. 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
  1417. 1120 GOTO 100
  1418. 2000 '
  1419. 2010 DIM GA(16,16)
  1420. 2015 OPEN"brick04.mem" FOR INPUT AS 1
  1421. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  1422. 2030 INPUT #1,R:PSET(T,TT),R
  1423. 2040 NEXT T:NEXT TT
  1424. 2045 CLOSE 1
  1425. 2050 GET(1,1)-(16,16),GA
  1426. 2051 CLS
  1427. 2110 DIM GB(16,16)
  1428. 2115 OPEN"door01.mem" FOR INPUT AS 1
  1429. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  1430. 2130 INPUT #1,R:PSET(T,TT),R
  1431. 2140 NEXT T:NEXT TT
  1432. 2145 CLOSE 1
  1433. 2150 GET(1,1)-(16,16),GB
  1434. 2151 CLS
  1435. 2210 DIM GC(16,16)
  1436. 2215 OPEN"door02.mem" FOR INPUT AS 1
  1437. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  1438. 2230 INPUT #1,R:PSET(T,TT),R
  1439. 2240 NEXT T:NEXT TT
  1440. 2245 CLOSE 1
  1441. 2250 GET(1,1)-(16,16),GC
  1442. 2251 CLS
  1443. 2310 DIM GD(16,16)
  1444. 2315 OPEN"tile01.mem" FOR INPUT AS 1
  1445. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  1446. 2330 INPUT #1,R:PSET(T,TT),R
  1447. 2340 NEXT T:NEXT TT
  1448. 2345 CLOSE 1
  1449. 2350 GET(1,1)-(16,16),GD
  1450. 2351 CLS
  1451. 2410 DIM GE(16,16)
  1452. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  1453. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  1454. 2430 INPUT #1,R:PSET(T,TT),R
  1455. 2440 NEXT T:NEXT TT
  1456. 2445 CLOSE 1
  1457. 2450 GET(1,1)-(16,16),GE
  1458. 2451 CLS
  1459. 2510 DIM GR(16,16)
  1460. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  1461. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  1462. 2530 INPUT #1,R:PSET(T,TT),R
  1463. 2540 NEXT T:NEXT TT
  1464. 2545 CLOSE 1
  1465. 2550 GET(1,1)-(16,16),GR
  1466. 2551 CLS
  1467. 2610 DIM GS(16,16)
  1468. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  1469. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  1470. 2630 INPUT #1,R:PSET(T,TT),R
  1471. 2640 NEXT T:NEXT TT
  1472. 2645 CLOSE 1
  1473. 2650 GET(1,1)-(16,16),GS
  1474. 2651 CLS
  1475. 2710 DIM GT(16,16)
  1476. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  1477. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  1478. 2730 INPUT #1,R:PSET(T,TT),R
  1479. 2740 NEXT T:NEXT TT
  1480. 2745 CLOSE 1
  1481. 2750 GET(1,1)-(16,16),GT
  1482. 2751 CLS
  1483. 2810 DIM GF(16,16)
  1484. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  1485. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  1486. 2830 INPUT #1,R:PSET(T,TT),R
  1487. 2840 NEXT T:NEXT TT
  1488. 2845 CLOSE 1
  1489. 2850 GET(1,1)-(16,16),GF
  1490. 2851 CLS
  1491. 2910 DIM GG(16,16)
  1492. 2915 OPEN"window01.mem" FOR INPUT AS 1
  1493. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  1494. 2930 INPUT #1,R:PSET(T,TT),R
  1495. 2940 NEXT T:NEXT TT
  1496. 2945 CLOSE 1
  1497. 2950 GET(1,1)-(16,16),GG
  1498. 2951 CLS
  1499. 3010 DIM GH(16,16)
  1500. 3015 OPEN"well01.mem" FOR INPUT AS 1
  1501. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  1502. 3030 INPUT #1,R:PSET(T,TT),R
  1503. 3040 NEXT T:NEXT TT
  1504. 3045 CLOSE 1
  1505. 3050 GET(1,1)-(16,16),GH
  1506. 3051 CLS
  1507. 3915 OPEN"map006.mem" FOR INPUT AS 1
  1508. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  1509. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  1510. 3940 NEXT T:NEXT TT
  1511. 3945 CLOSE 1
  1512. 3951 CLS
  1513. 3999 RETURN
  1514. 5000 '
  1515. 5001 IF (MAP(8,4)<>0 AND MAP(8,4)<>6) THEN X=XX:Y=YY:RETURN 1010
  1516. 5010 'LOCATE 20,1:PRINT X;",";Y;
  1517. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  1518. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  1519. 5035 IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  1520. 5036 IF MAP(8,3)<>2 THEN DOORC=0
  1521. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  1522. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  1523. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  1524. 5049 IF MAP(8,3)=5 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
  1525. 5999 RETURN
  1526. 10000 '
  1527. 10010 PCOPY 0,1
  1528. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  1529. 10015 ST=5
  1530. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  1531. 10030 LINE(0,0)-(T,199),0,BF
  1532. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  1533. 10040 LINE(0,0)-(319,TT),0,BF
  1534. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  1535. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1536. 10050 PCOPY 1,0
  1537. 10060 NEXT T
  1538. 10061 PSET(120,56),0
  1539. 10062 PCOPY 1,0:TT=0
  1540. 10070 '
  1541. 10080 IF X=29 AND Y=10 THEN CHAIN"dungeon.011"
  1542. 10081 IF X=0 AND Y=>13 AND Y<=16 THEN CHAIN"dungeon.010"
  1543. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  1544. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  1545. 
  1546. miscdun/DUN015.BAS
  1547. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=12:Y=18
  1548. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1549. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1550. 105 IF C$=CHR$(27) THEN 10000
  1551. 106 IF C$=CHR$(13) THEN 10000
  1552. 108 XX=X:YY=Y
  1553. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1554. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1555. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1556. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1557. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1558. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1559. 190 '
  1560. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  1561. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  1562. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  1563. 1000 '
  1564. 1010 PCOPY 2,1
  1565. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1566. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1567. 1040 NEXT T:NEXT TT
  1568. 1050 LINE(0,0)-(319,199),0,BF
  1569. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1570. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1571. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GO
  1572. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GO
  1573. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  1574. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  1575. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  1576. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  1577. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GN
  1578. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  1579. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1580. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  1581. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  1582. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  1583. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  1584. 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
  1585. 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
  1586. 1105 IF MAP(T,TT)=10 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  1587. 1106 IF MAP(T,TT)=10 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  1588. 1109 NEXT T:NEXT TT
  1589. 1110 GOSUB 5000
  1590. 1111 PCOPY 1,0
  1591. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  1592. 1120 GOTO 100
  1593. 2000 '
  1594. 2010 DIM GA(16,16)
  1595. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  1596. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  1597. 2030 INPUT #1,R:PSET(T,TT),R
  1598. 2040 NEXT T:NEXT TT
  1599. 2045 CLOSE 1
  1600. 2050 GET(1,1)-(16,16),GA
  1601. 2051 CLS
  1602. 2110 DIM GB(16,16)
  1603. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  1604. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  1605. 2130 INPUT #1,R:PSET(T,TT),R
  1606. 2140 NEXT T:NEXT TT
  1607. 2145 CLOSE 1
  1608. 2150 GET(1,1)-(16,16),GB
  1609. 2151 CLS
  1610. 2210 DIM GC(16,16)
  1611. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  1612. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  1613. 2230 INPUT #1,R:PSET(T,TT),R
  1614. 2240 NEXT T:NEXT TT
  1615. 2245 CLOSE 1
  1616. 2250 GET(1,1)-(16,16),GC
  1617. 2251 CLS
  1618. 2310 DIM GD(16,16)
  1619. 2315 OPEN"brick07.mem" FOR INPUT AS 1
  1620. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  1621. 2330 INPUT #1,R:PSET(T,TT),R
  1622. 2340 NEXT T:NEXT TT
  1623. 2345 CLOSE 1
  1624. 2350 GET(1,1)-(16,16),GD
  1625. 2351 CLS
  1626. 2410 DIM GE(16,16)
  1627. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  1628. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  1629. 2430 INPUT #1,R:PSET(T,TT),R
  1630. 2440 NEXT T:NEXT TT
  1631. 2445 CLOSE 1
  1632. 2450 GET(1,1)-(16,16),GE
  1633. 2451 CLS
  1634. 2510 DIM GR(16,16)
  1635. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  1636. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  1637. 2530 INPUT #1,R:PSET(T,TT),R
  1638. 2540 NEXT T:NEXT TT
  1639. 2545 CLOSE 1
  1640. 2550 GET(1,1)-(16,16),GR
  1641. 2551 CLS
  1642. 2610 DIM GS(16,16)
  1643. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  1644. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  1645. 2630 INPUT #1,R:PSET(T,TT),R
  1646. 2640 NEXT T:NEXT TT
  1647. 2645 CLOSE 1
  1648. 2650 GET(1,1)-(16,16),GS
  1649. 2651 CLS
  1650. 2710 DIM GT(16,16)
  1651. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  1652. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  1653. 2730 INPUT #1,R:PSET(T,TT),R
  1654. 2740 NEXT T:NEXT TT
  1655. 2745 CLOSE 1
  1656. 2750 GET(1,1)-(16,16),GT
  1657. 2751 CLS
  1658. 2810 DIM GF(16,16)
  1659. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  1660. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  1661. 2830 INPUT #1,R:PSET(T,TT),R
  1662. 2840 NEXT T:NEXT TT
  1663. 2845 CLOSE 1
  1664. 2850 GET(1,1)-(16,16),GF
  1665. 2851 CLS
  1666. 2910 DIM GI(16,16)
  1667. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  1668. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  1669. 2930 INPUT #1,R:PSET(T,TT),R
  1670. 2940 NEXT T:NEXT TT
  1671. 2945 CLOSE 1
  1672. 2950 GET(1,1)-(16,16),GI
  1673. 2951 CLS
  1674. 3010 DIM GJ(16,16)
  1675. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  1676. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  1677. 3030 INPUT #1,R:PSET(T,TT),R
  1678. 3040 NEXT T:NEXT TT
  1679. 3045 CLOSE 1
  1680. 3050 GET(1,1)-(16,16),GJ
  1681. 3051 CLS
  1682. 3110 DIM GK(16,16)
  1683. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  1684. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  1685. 3130 INPUT #1,R:PSET(T,TT),R
  1686. 3140 NEXT T:NEXT TT
  1687. 3145 CLOSE 1
  1688. 3150 GET(1,1)-(16,16),GK
  1689. 3151 CLS
  1690. 3210 DIM GL(16,16)
  1691. 3215 OPEN"door03.mem" FOR INPUT AS 1
  1692. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  1693. 3230 INPUT #1,R:PSET(T,TT),R
  1694. 3240 NEXT T:NEXT TT
  1695. 3245 CLOSE 1
  1696. 3250 GET(1,1)-(16,16),GL
  1697. 3251 CLS
  1698. 3310 DIM GM(16,16)
  1699. 3315 OPEN"door04.mem" FOR INPUT AS 1
  1700. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  1701. 3330 INPUT #1,R:PSET(T,TT),R
  1702. 3340 NEXT T:NEXT TT
  1703. 3345 CLOSE 1
  1704. 3350 GET(1,1)-(16,16),GM
  1705. 3351 CLS
  1706. 3410 DIM GN(16,16)
  1707. 3415 OPEN"water01.mem" FOR INPUT AS 1
  1708. 3420 FOR TT=1 TO 16:FOR T=1 TO 16
  1709. 3430 INPUT #1,R:PSET(T,TT),R
  1710. 3440 NEXT T:NEXT TT
  1711. 3445 CLOSE 1
  1712. 3450 GET(1,1)-(16,16),GN
  1713. 3451 CLS
  1714. 3510 DIM GO(16,16)
  1715. 3515 OPEN"rock01.mem" FOR INPUT AS 1
  1716. 3520 FOR TT=1 TO 16:FOR T=1 TO 16
  1717. 3530 INPUT #1,R:PSET(T,TT),R
  1718. 3540 NEXT T:NEXT TT
  1719. 3545 CLOSE 1
  1720. 3550 GET(1,1)-(16,16),GO
  1721. 3551 CLS
  1722. 3915 OPEN"map008.mem" FOR INPUT AS 1
  1723. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  1724. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  1725. 3940 NEXT T:NEXT TT
  1726. 3945 CLOSE 1
  1727. 3951 CLS
  1728. 3999 RETURN
  1729. 5000 '
  1730. 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
  1731. 5010 'LOCATE 1,32:PRINT X;",";Y;
  1732. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  1733. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  1734. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  1735. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  1736. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  1737. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  1738. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  1739. 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  1740. 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  1741. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  1742. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  1743. 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  1744. 5999 RETURN
  1745. 10000 '
  1746. 10010 PCOPY 0,1
  1747. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  1748. 10015 ST=5
  1749. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  1750. 10030 LINE(0,0)-(T,199),0,BF
  1751. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  1752. 10040 LINE(0,0)-(319,TT),0,BF
  1753. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  1754. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1755. 10047 LINE(240,0)-(319,199),0,BF
  1756. 10050 PCOPY 1,0
  1757. 10060 NEXT T
  1758. 10061 PSET(120,56),0
  1759. 10062 PCOPY 1,0
  1760. 10070 '
  1761. 10080 IF X=1 AND Y=0 THEN 'CHAIN"town.bas"
  1762. 10081 IF X=>12 AND X<=13 AND Y=17 THEN CHAIN"dungeon.016"
  1763. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  1764. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  1765. 
  1766. miscdun/DUN016.BAS
  1767. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=58:Y=29
  1768. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1769. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1770. 105 IF C$=CHR$(27) THEN 10000
  1771. 106 IF C$=CHR$(13) THEN 10000
  1772. 108 XX=X:YY=Y
  1773. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1774. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1775. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1776. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1777. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1778. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1779. 190 '
  1780. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  1781. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  1782. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  1783. 1000 '
  1784. 1010 PCOPY 2,1
  1785. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1786. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1787. 1040 NEXT T:NEXT TT
  1788. 1050 LINE(0,0)-(319,199),0,BF
  1789. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1790. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1791. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  1792. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  1793. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  1794. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  1795. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  1796. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  1797. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
  1798. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  1799. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1800. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  1801. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  1802. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  1803. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  1804. 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
  1805. 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
  1806. 1109 NEXT T:NEXT TT
  1807. 1110 GOSUB 5000
  1808. 1111 PCOPY 1,0
  1809. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  1810. 1120 GOTO 100
  1811. 2000 '
  1812. 2010 DIM GA(16,16)
  1813. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  1814. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  1815. 2030 INPUT #1,R:PSET(T,TT),R
  1816. 2040 NEXT T:NEXT TT
  1817. 2045 CLOSE 1
  1818. 2050 GET(1,1)-(16,16),GA
  1819. 2051 CLS
  1820. 2110 DIM GB(16,16)
  1821. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  1822. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  1823. 2130 INPUT #1,R:PSET(T,TT),R
  1824. 2140 NEXT T:NEXT TT
  1825. 2145 CLOSE 1
  1826. 2150 GET(1,1)-(16,16),GB
  1827. 2151 CLS
  1828. 2210 DIM GC(16,16)
  1829. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  1830. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  1831. 2230 INPUT #1,R:PSET(T,TT),R
  1832. 2240 NEXT T:NEXT TT
  1833. 2245 CLOSE 1
  1834. 2250 GET(1,1)-(16,16),GC
  1835. 2251 CLS
  1836. 2310 DIM GD(16,16)
  1837. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  1838. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  1839. 2330 INPUT #1,R:PSET(T,TT),R
  1840. 2340 NEXT T:NEXT TT
  1841. 2345 CLOSE 1
  1842. 2350 GET(1,1)-(16,16),GD
  1843. 2351 CLS
  1844. 2410 DIM GE(16,16)
  1845. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  1846. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  1847. 2430 INPUT #1,R:PSET(T,TT),R
  1848. 2440 NEXT T:NEXT TT
  1849. 2445 CLOSE 1
  1850. 2450 GET(1,1)-(16,16),GE
  1851. 2451 CLS
  1852. 2510 DIM GR(16,16)
  1853. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  1854. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  1855. 2530 INPUT #1,R:PSET(T,TT),R
  1856. 2540 NEXT T:NEXT TT
  1857. 2545 CLOSE 1
  1858. 2550 GET(1,1)-(16,16),GR
  1859. 2551 CLS
  1860. 2610 DIM GS(16,16)
  1861. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  1862. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  1863. 2630 INPUT #1,R:PSET(T,TT),R
  1864. 2640 NEXT T:NEXT TT
  1865. 2645 CLOSE 1
  1866. 2650 GET(1,1)-(16,16),GS
  1867. 2651 CLS
  1868. 2710 DIM GT(16,16)
  1869. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  1870. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  1871. 2730 INPUT #1,R:PSET(T,TT),R
  1872. 2740 NEXT T:NEXT TT
  1873. 2745 CLOSE 1
  1874. 2750 GET(1,1)-(16,16),GT
  1875. 2751 CLS
  1876. 2810 DIM GF(16,16)
  1877. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  1878. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  1879. 2830 INPUT #1,R:PSET(T,TT),R
  1880. 2840 NEXT T:NEXT TT
  1881. 2845 CLOSE 1
  1882. 2850 GET(1,1)-(16,16),GF
  1883. 2851 CLS
  1884. 2910 DIM GI(16,16)
  1885. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  1886. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  1887. 2930 INPUT #1,R:PSET(T,TT),R
  1888. 2940 NEXT T:NEXT TT
  1889. 2945 CLOSE 1
  1890. 2950 GET(1,1)-(16,16),GI
  1891. 2951 CLS
  1892. 3010 DIM GJ(16,16)
  1893. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  1894. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  1895. 3030 INPUT #1,R:PSET(T,TT),R
  1896. 3040 NEXT T:NEXT TT
  1897. 3045 CLOSE 1
  1898. 3050 GET(1,1)-(16,16),GJ
  1899. 3051 CLS
  1900. 3110 DIM GK(16,16)
  1901. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  1902. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  1903. 3130 INPUT #1,R:PSET(T,TT),R
  1904. 3140 NEXT T:NEXT TT
  1905. 3145 CLOSE 1
  1906. 3150 GET(1,1)-(16,16),GK
  1907. 3151 CLS
  1908. 3210 DIM GL(16,16)
  1909. 3215 OPEN"door03.mem" FOR INPUT AS 1
  1910. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  1911. 3230 INPUT #1,R:PSET(T,TT),R
  1912. 3240 NEXT T:NEXT TT
  1913. 3245 CLOSE 1
  1914. 3250 GET(1,1)-(16,16),GL
  1915. 3251 CLS
  1916. 3310 DIM GM(16,16)
  1917. 3315 OPEN"door04.mem" FOR INPUT AS 1
  1918. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  1919. 3330 INPUT #1,R:PSET(T,TT),R
  1920. 3340 NEXT T:NEXT TT
  1921. 3345 CLOSE 1
  1922. 3350 GET(1,1)-(16,16),GM
  1923. 3351 CLS
  1924. 3915 OPEN"map003.mem" FOR INPUT AS 1
  1925. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  1926. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  1927. 3940 NEXT T:NEXT TT
  1928. 3945 CLOSE 1
  1929. 3951 CLS
  1930. 3999 RETURN
  1931. 5000 '
  1932. 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
  1933. 5010 'LOCATE 1,32:PRINT X;",";Y;
  1934. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  1935. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  1936. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  1937. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  1938. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  1939. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  1940. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  1941. 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  1942. 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  1943. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  1944. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  1945. 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  1946. 5999 RETURN
  1947. 10000 '
  1948. 10010 PCOPY 0,1
  1949. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  1950. 10015 ST=5
  1951. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  1952. 10030 LINE(0,0)-(T,199),0,BF
  1953. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  1954. 10040 LINE(0,0)-(319,TT),0,BF
  1955. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  1956. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  1957. 10047 LINE(240,0)-(319,199),0,BF
  1958. 10050 PCOPY 1,0
  1959. 10060 NEXT T
  1960. 10061 PSET(120,56),0
  1961. 10062 PCOPY 1,0
  1962. 10070 '
  1963. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  1964. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  1965. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  1966. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  1967. 
  1968. miscdun/DUN017.BAS
  1969. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=29:Y=11
  1970. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  1971. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  1972. 105 IF C$=CHR$(27) THEN 10000
  1973. 106 IF C$=CHR$(13) THEN 10000
  1974. 108 XX=X:YY=Y
  1975. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  1976. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  1977. 130 IF INSTR("369",C$)>0 THEN X=X+1
  1978. 140 IF INSTR("147",C$)>0 THEN X=X-1
  1979. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  1980. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  1981. 190 '
  1982. 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
  1983. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
  1984. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
  1985. 1000 '
  1986. 1010 PCOPY 2,1
  1987. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  1988. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  1989. 1040 NEXT T:NEXT TT
  1990. 1050 LINE(0,0)-(319,199),0,BF
  1991. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  1992. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  1993. 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=3) THEN PUT((T-1)*16,(TT-1)*16),GB
  1994. 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>3) THEN PUT((T-1)*16,(TT-1)*16),GC
  1995. 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
  1996. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
  1997. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
  1998. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  1999. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  2000. 1100 IF MAP(T,TT)=6 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),6,BF
  2001. 1109 NEXT T:NEXT TT
  2002. 1110 GOSUB 5000
  2003. 1111 PCOPY 1,0
  2004. 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
  2005. 1120 GOTO 100
  2006. 2000 '
  2007. 2010 DIM GA(16,16)
  2008. 2015 OPEN"brick04.mem" FOR INPUT AS 1
  2009. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  2010. 2030 INPUT #1,R:PSET(T,TT),R
  2011. 2040 NEXT T:NEXT TT
  2012. 2045 CLOSE 1
  2013. 2050 GET(1,1)-(16,16),GA
  2014. 2051 CLS
  2015. 2110 DIM GB(16,16)
  2016. 2115 OPEN"door01.mem" FOR INPUT AS 1
  2017. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  2018. 2130 INPUT #1,R:PSET(T,TT),R
  2019. 2140 NEXT T:NEXT TT
  2020. 2145 CLOSE 1
  2021. 2150 GET(1,1)-(16,16),GB
  2022. 2151 CLS
  2023. 2210 DIM GC(16,16)
  2024. 2215 OPEN"door02.mem" FOR INPUT AS 1
  2025. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  2026. 2230 INPUT #1,R:PSET(T,TT),R
  2027. 2240 NEXT T:NEXT TT
  2028. 2245 CLOSE 1
  2029. 2250 GET(1,1)-(16,16),GC
  2030. 2251 CLS
  2031. 2310 DIM GD(16,16)
  2032. 2315 OPEN"tile01.mem" FOR INPUT AS 1
  2033. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  2034. 2330 INPUT #1,R:PSET(T,TT),R
  2035. 2340 NEXT T:NEXT TT
  2036. 2345 CLOSE 1
  2037. 2350 GET(1,1)-(16,16),GD
  2038. 2351 CLS
  2039. 2410 DIM GE(16,16)
  2040. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  2041. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  2042. 2430 INPUT #1,R:PSET(T,TT),R
  2043. 2440 NEXT T:NEXT TT
  2044. 2445 CLOSE 1
  2045. 2450 GET(1,1)-(16,16),GE
  2046. 2451 CLS
  2047. 2510 DIM GR(16,16)
  2048. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  2049. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  2050. 2530 INPUT #1,R:PSET(T,TT),R
  2051. 2540 NEXT T:NEXT TT
  2052. 2545 CLOSE 1
  2053. 2550 GET(1,1)-(16,16),GR
  2054. 2551 CLS
  2055. 2610 DIM GS(16,16)
  2056. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  2057. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  2058. 2630 INPUT #1,R:PSET(T,TT),R
  2059. 2640 NEXT T:NEXT TT
  2060. 2645 CLOSE 1
  2061. 2650 GET(1,1)-(16,16),GS
  2062. 2651 CLS
  2063. 2710 DIM GT(16,16)
  2064. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  2065. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  2066. 2730 INPUT #1,R:PSET(T,TT),R
  2067. 2740 NEXT T:NEXT TT
  2068. 2745 CLOSE 1
  2069. 2750 GET(1,1)-(16,16),GT
  2070. 2751 CLS
  2071. 2810 DIM GF(16,16)
  2072. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  2073. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  2074. 2830 INPUT #1,R:PSET(T,TT),R
  2075. 2840 NEXT T:NEXT TT
  2076. 2845 CLOSE 1
  2077. 2850 GET(1,1)-(16,16),GF
  2078. 2851 CLS
  2079. 2910 DIM GG(16,16)
  2080. 2915 OPEN"window01.mem" FOR INPUT AS 1
  2081. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  2082. 2930 INPUT #1,R:PSET(T,TT),R
  2083. 2940 NEXT T:NEXT TT
  2084. 2945 CLOSE 1
  2085. 2950 GET(1,1)-(16,16),GG
  2086. 2951 CLS
  2087. 3010 DIM GH(16,16)
  2088. 3015 OPEN"well01.mem" FOR INPUT AS 1
  2089. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  2090. 3030 INPUT #1,R:PSET(T,TT),R
  2091. 3040 NEXT T:NEXT TT
  2092. 3045 CLOSE 1
  2093. 3050 GET(1,1)-(16,16),GH
  2094. 3051 CLS
  2095. 3915 OPEN"map006.mem" FOR INPUT AS 1
  2096. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  2097. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  2098. 3940 NEXT T:NEXT TT
  2099. 3945 CLOSE 1
  2100. 3951 CLS
  2101. 3999 RETURN
  2102. 5000 '
  2103. 5001 IF (MAP(8,4)<>0 AND MAP(8,4)<>6) THEN X=XX:Y=YY:RETURN 1010
  2104. 5010 'LOCATE 20,1:PRINT X;",";Y;
  2105. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  2106. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  2107. 5035 IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  2108. 5036 IF MAP(8,3)<>2 THEN DOORC=0
  2109. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  2110. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  2111. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  2112. 5049 IF MAP(8,3)=5 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
  2113. 5999 RETURN
  2114. 10000 '
  2115. 10010 PCOPY 0,1
  2116. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2117. 10015 ST=5
  2118. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  2119. 10030 LINE(0,0)-(T,199),0,BF
  2120. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  2121. 10040 LINE(0,0)-(319,TT),0,BF
  2122. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  2123. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2124. 10050 PCOPY 1,0
  2125. 10060 NEXT T
  2126. 10061 PSET(120,56),0
  2127. 10062 PCOPY 1,0:TT=0
  2128. 10070 '
  2129. 10080 IF X=29 AND Y=10 THEN CHAIN"dungeon.011"
  2130. 10081 IF X=0 AND Y=>13 AND Y<=16 THEN CHAIN"dungeon.010"
  2131. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  2132. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  2133. 
  2134. miscdun/DUN018.BAS
  2135. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=22:Y=15
  2136. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  2137. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  2138. 105 IF C$=CHR$(27) THEN 10000
  2139. 106 IF C$=CHR$(13) THEN 10000
  2140. 107 IF C$="p" OR C$="P" THEN 20000
  2141. 108 XX=X:YY=Y
  2142. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  2143. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  2144. 130 IF INSTR("369",C$)>0 THEN X=X+1
  2145. 140 IF INSTR("147",C$)>0 THEN X=X-1
  2146. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  2147. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  2148. 190 '
  2149. 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
  2150. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
  2151. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
  2152. 1000 '
  2153. 1010 PCOPY 2,1
  2154. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  2155. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  2156. 1040 NEXT T:NEXT TT
  2157. 1050 LINE(0,0)-(319,199),0,BF
  2158. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  2159. 1065 IF MAP(T,TT)=1 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GA
  2160. 1070 IF MAP(T,TT)=1 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GB
  2161. 1075 IF MAP(T,TT)=1 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GC
  2162. 1080 IF MAP(T,TT)=2 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GD
  2163. 1090 IF MAP(T,TT)=2 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GE
  2164. 1096 IF MAP(T,TT)=3 AND (GC=1 OR GC=3) THEN PUT((T-1)*16,(TT-1)*16),GF
  2165. 1097 IF MAP(T,TT)=3 AND GC=2 THEN PUT((T-1)*16,(TT-1)*16),GG
  2166. 1098 IF MAP(T,TT)=3 AND GC=4 THEN PUT((T-1)*16,(TT-1)*16),GH
  2167. 1099 IF MAP(T,TT)=4 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  2168. 1100 IF MAP(T,TT)=4 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  2169. 1101 IF MAP(T,TT)=4 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  2170. 1102 IF MAP(T,TT)=5 AND (GC=1 OR GC=3) THEN PUT((T-1)*16,(TT-1)*16),GL
  2171. 1103 IF MAP(T,TT)=5 AND GC=4 THEN PUT((T-1)*16,(TT-1)*16),GM
  2172. 1104 IF MAP(T,TT)=5 AND GC=2 THEN PUT((T-1)*16,(TT-1)*16),GN
  2173. 1105 IF MAP(T,TT)=6 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GR
  2174. 1106 IF MAP(T,TT)=6 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GS
  2175. 1107 IF MAP(T,TT)=6 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GT
  2176. 1109 NEXT T:NEXT TT
  2177. 1110 GOSUB 5000
  2178. 1111 PCOPY 1,0
  2179. 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
  2180. 1120 GOTO 100
  2181. 2000 '
  2182. 2010 DIM GR(16,16)
  2183. 2015 OPEN"phillip1.mem" FOR INPUT AS 1
  2184. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  2185. 2030 INPUT #1,R:PSET(T,TT),R
  2186. 2040 NEXT T:NEXT TT
  2187. 2045 CLOSE 1
  2188. 2050 GET(1,1)-(16,16),GR
  2189. 2051 CLS
  2190. 2110 DIM GS(16,16)
  2191. 2115 OPEN"phillip2.mem" FOR INPUT AS 1
  2192. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  2193. 2130 INPUT #1,R:PSET(T,TT),R
  2194. 2140 NEXT T:NEXT TT
  2195. 2145 CLOSE 1
  2196. 2150 GET(1,1)-(16,16),GS
  2197. 2151 CLS
  2198. 2210 DIM GT(16,16)
  2199. 2215 OPEN"phillip3.mem" FOR INPUT AS 1
  2200. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  2201. 2230 INPUT #1,R:PSET(T,TT),R
  2202. 2240 NEXT T:NEXT TT
  2203. 2245 CLOSE 1
  2204. 2250 GET(1,1)-(16,16),GT
  2205. 2251 CLS
  2206. 2310 DIM GA(16,16)
  2207. 2315 OPEN"guard1.mem" FOR INPUT AS 1
  2208. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  2209. 2330 INPUT #1,R:PSET(T,TT),R
  2210. 2340 NEXT T:NEXT TT
  2211. 2345 CLOSE 1
  2212. 2350 GET(1,1)-(16,16),GA
  2213. 2351 CLS
  2214. 2410 DIM GB(16,16)
  2215. 2415 OPEN"guard2.mem" FOR INPUT AS 1
  2216. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  2217. 2430 INPUT #1,R:PSET(T,TT),R
  2218. 2440 NEXT T:NEXT TT
  2219. 2445 CLOSE 1
  2220. 2450 GET(1,1)-(16,16),GB
  2221. 2451 CLS
  2222. 2510 DIM GC(16,16)
  2223. 2515 OPEN"guard3.mem" FOR INPUT AS 1
  2224. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  2225. 2530 INPUT #1,R:PSET(T,TT),R
  2226. 2540 NEXT T:NEXT TT
  2227. 2545 CLOSE 1
  2228. 2550 GET(1,1)-(16,16),GC
  2229. 2551 CLS
  2230. 2610 DIM GD(16,16)
  2231. 2615 OPEN"caveman1.mem" FOR INPUT AS 1
  2232. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  2233. 2630 INPUT #1,R:PSET(T,TT),R
  2234. 2640 NEXT T:NEXT TT
  2235. 2645 CLOSE 1
  2236. 2650 GET(1,1)-(16,16),GD
  2237. 2651 CLS
  2238. 2710 DIM GE(16,16)
  2239. 2715 OPEN"caveman2.mem" FOR INPUT AS 1
  2240. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  2241. 2730 INPUT #1,R:PSET(T,TT),R
  2242. 2740 NEXT T:NEXT TT
  2243. 2745 CLOSE 1
  2244. 2750 GET(1,1)-(16,16),GE
  2245. 2751 CLS
  2246. 2810 DIM GF(16,16)
  2247. 2815 OPEN"woman01.mem" FOR INPUT AS 1
  2248. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  2249. 2830 INPUT #1,R:PSET(T,TT),R
  2250. 2840 NEXT T:NEXT TT
  2251. 2845 CLOSE 1
  2252. 2850 GET(1,1)-(16,16),GF
  2253. 2851 CLS
  2254. 2910 DIM GG(16,16)
  2255. 2915 OPEN"woman02.mem" FOR INPUT AS 1
  2256. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  2257. 2930 INPUT #1,R:PSET(T,TT),R
  2258. 2940 NEXT T:NEXT TT
  2259. 2945 CLOSE 1
  2260. 2950 GET(1,1)-(16,16),GG
  2261. 2951 CLS
  2262. 3010 DIM GH(16,16)
  2263. 3015 OPEN"woman03.mem" FOR INPUT AS 1
  2264. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  2265. 3030 INPUT #1,R:PSET(T,TT),R
  2266. 3040 NEXT T:NEXT TT
  2267. 3045 CLOSE 1
  2268. 3050 GET(1,1)-(16,16),GH
  2269. 3051 CLS
  2270. 3110 DIM GI(16,16)
  2271. 3115 OPEN"pndex1.mem" FOR INPUT AS 1
  2272. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  2273. 3130 INPUT #1,R:PSET(T,TT),R
  2274. 3140 NEXT T:NEXT TT
  2275. 3145 CLOSE 1
  2276. 3150 GET(1,1)-(16,16),GI
  2277. 3151 CLS
  2278. 3210 DIM GJ(16,16)
  2279. 3215 OPEN"pndex2.mem" FOR INPUT AS 1
  2280. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  2281. 3230 INPUT #1,R:PSET(T,TT),R
  2282. 3240 NEXT T:NEXT TT
  2283. 3245 CLOSE 1
  2284. 3250 GET(1,1)-(16,16),GJ
  2285. 3251 CLS
  2286. 3310 DIM GK(16,16)
  2287. 3315 OPEN"pndex3.mem" FOR INPUT AS 1
  2288. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  2289. 3330 INPUT #1,R:PSET(T,TT),R
  2290. 3340 NEXT T:NEXT TT
  2291. 3345 CLOSE 1
  2292. 3350 GET(1,1)-(16,16),GK
  2293. 3351 CLS
  2294. 3410 DIM GL(16,16)
  2295. 3415 OPEN"dereck1.mem" FOR INPUT AS 1
  2296. 3420 FOR TT=1 TO 16:FOR T=1 TO 16
  2297. 3430 INPUT #1,R:PSET(T,TT),R
  2298. 3440 NEXT T:NEXT TT
  2299. 3445 CLOSE 1
  2300. 3450 GET(1,1)-(16,16),GL
  2301. 3451 CLS
  2302. 3510 DIM GM(16,16)
  2303. 3515 OPEN"dereck2.mem" FOR INPUT AS 1
  2304. 3520 FOR TT=1 TO 16:FOR T=1 TO 16
  2305. 3530 INPUT #1,R:PSET(T,TT),R
  2306. 3540 NEXT T:NEXT TT
  2307. 3545 CLOSE 1
  2308. 3550 GET(1,1)-(16,16),GM
  2309. 3551 CLS
  2310. 3610 DIM GN(16,16)
  2311. 3615 OPEN"dereck3.mem" FOR INPUT AS 1
  2312. 3620 FOR TT=1 TO 16:FOR T=1 TO 16
  2313. 3630 INPUT #1,R:PSET(T,TT),R
  2314. 3640 NEXT T:NEXT TT
  2315. 3645 CLOSE 1
  2316. 3650 GET(1,1)-(16,16),GN
  2317. 3651 CLS
  2318. 3915 OPEN"map009.mem" FOR INPUT AS 1
  2319. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  2320. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  2321. 3940 NEXT T:NEXT TT
  2322. 3945 CLOSE 1
  2323. 3951 CLS
  2324. 3999 RETURN
  2325. 5000 '
  2326. 5001 IF (MAP(8,4)<>0) THEN X=XX:Y=YY:RETURN 1010
  2327. 5010 'LOCATE 1,32:PRINT X;",";Y;
  2328. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  2329. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  2330. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  2331. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  2332. 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
  2333. 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  2334. 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  2335. 5043 LOCATE 18,1:PRINT"Dereck: It's a trap!"
  2336. 5044 LOCATE 19,1:PRINT"Poindexter: Run for your life!!"
  2337. 5999 RETURN
  2338. 10000 '
  2339. 10010 PCOPY 0,1
  2340. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2341. 10015 ST=5
  2342. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  2343. 10030 LINE(0,0)-(T,199),0,BF
  2344. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  2345. 10040 LINE(0,0)-(319,TT),0,BF
  2346. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  2347. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2348. 10047 LINE(240,0)-(319,199),0,BF
  2349. 10050 PCOPY 1,0
  2350. 10060 NEXT T
  2351. 10061 PSET(120,56),0
  2352. 10062 PCOPY 1,0
  2353. 10070 '
  2354. 10080 'IF X=5 AND Y=5 THEN CHAIN"town.bas"
  2355. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  2356. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  2357. 20000 '
  2358. 20010 PCOPY 0,1:PCOPY 0,3
  2359. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2360. 20015 ST=5
  2361. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  2362. 20030 LINE(0,0)-(T,112),0,BF
  2363. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  2364. 20040 LINE(0,0)-(319,TT),0,BF
  2365. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  2366. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2367. 20047 'LINE(240,0)-(319,199),0,BF
  2368. 20050 PCOPY 1,0
  2369. 20060 NEXT T
  2370. 20061 PSET(120,56),0
  2371. 20062 LOCATE 24,17:PRINT"(Pause)";
  2372. 20070 PCOPY 1,0
  2373. 20080 C$=INPUT$(1)
  2374. 20098 GOTO 30000
  2375. 30000 '
  2376. 30010 PCOPY 3,1
  2377. 30015 ST=5:TT=36
  2378. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  2379. 30025 PCOPY 3,1
  2380. 30030 LINE(0,0)-(T,112),0,BF
  2381. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  2382. 30040 LINE(0,0)-(319,TT),0,BF
  2383. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  2384. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2385. 30047 'LINE(240,0)-(319,199),0,BF
  2386. 30050 PCOPY 1,0
  2387. 30060 NEXT T
  2388. 30070 PCOPY 1,0
  2389. 30098 C$=" ":GOTO 190
  2390. 
  2391. miscdun/DUN019.BAS
  2392. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  2393. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  2394. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  2395. 105 IF C$=CHR$(27) THEN 10000
  2396. 106 IF C$=CHR$(13) THEN 10000
  2397. 107 IF C$="p" OR C$="P" THEN 20000
  2398. 108 XX=X:YY=Y
  2399. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  2400. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  2401. 130 IF INSTR("369",C$)>0 THEN X=X+1
  2402. 140 IF INSTR("147",C$)>0 THEN X=X-1
  2403. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  2404. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  2405. 190 '
  2406. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  2407. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  2408. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  2409. 1000 '
  2410. 1010 PCOPY 2,1
  2411. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  2412. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  2413. 1040 NEXT T:NEXT TT
  2414. 1050 LINE(0,0)-(319,199),0,BF
  2415. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  2416. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  2417. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2418. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2419. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2420. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2421. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  2422. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  2423. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
  2424. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  2425. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  2426. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  2427. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  2428. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  2429. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  2430. 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
  2431. 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
  2432. 1109 NEXT T:NEXT TT
  2433. 1110 GOSUB 5000
  2434. 1111 PCOPY 1,0
  2435. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  2436. 1120 GOTO 100
  2437. 2000 '
  2438. 2010 DIM GA(16,16)
  2439. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  2440. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  2441. 2030 INPUT #1,R:PSET(T,TT),R
  2442. 2040 NEXT T:NEXT TT
  2443. 2045 CLOSE 1
  2444. 2050 GET(1,1)-(16,16),GA
  2445. 2051 CLS
  2446. 2110 DIM GB(16,16)
  2447. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  2448. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  2449. 2130 INPUT #1,R:PSET(T,TT),R
  2450. 2140 NEXT T:NEXT TT
  2451. 2145 CLOSE 1
  2452. 2150 GET(1,1)-(16,16),GB
  2453. 2151 CLS
  2454. 2210 DIM GC(16,16)
  2455. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  2456. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  2457. 2230 INPUT #1,R:PSET(T,TT),R
  2458. 2240 NEXT T:NEXT TT
  2459. 2245 CLOSE 1
  2460. 2250 GET(1,1)-(16,16),GC
  2461. 2251 CLS
  2462. 2310 DIM GD(16,16)
  2463. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  2464. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  2465. 2330 INPUT #1,R:PSET(T,TT),R
  2466. 2340 NEXT T:NEXT TT
  2467. 2345 CLOSE 1
  2468. 2350 GET(1,1)-(16,16),GD
  2469. 2351 CLS
  2470. 2410 DIM GE(16,16)
  2471. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  2472. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  2473. 2430 INPUT #1,R:PSET(T,TT),R
  2474. 2440 NEXT T:NEXT TT
  2475. 2445 CLOSE 1
  2476. 2450 GET(1,1)-(16,16),GE
  2477. 2451 CLS
  2478. 2510 DIM GR(16,16)
  2479. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  2480. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  2481. 2530 INPUT #1,R:PSET(T,TT),R
  2482. 2540 NEXT T:NEXT TT
  2483. 2545 CLOSE 1
  2484. 2550 GET(1,1)-(16,16),GR
  2485. 2551 CLS
  2486. 2610 DIM GS(16,16)
  2487. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  2488. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  2489. 2630 INPUT #1,R:PSET(T,TT),R
  2490. 2640 NEXT T:NEXT TT
  2491. 2645 CLOSE 1
  2492. 2650 GET(1,1)-(16,16),GS
  2493. 2651 CLS
  2494. 2710 DIM GT(16,16)
  2495. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  2496. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  2497. 2730 INPUT #1,R:PSET(T,TT),R
  2498. 2740 NEXT T:NEXT TT
  2499. 2745 CLOSE 1
  2500. 2750 GET(1,1)-(16,16),GT
  2501. 2751 CLS
  2502. 2810 DIM GF(16,16)
  2503. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  2504. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  2505. 2830 INPUT #1,R:PSET(T,TT),R
  2506. 2840 NEXT T:NEXT TT
  2507. 2845 CLOSE 1
  2508. 2850 GET(1,1)-(16,16),GF
  2509. 2851 CLS
  2510. 2910 DIM GI(16,16)
  2511. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  2512. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  2513. 2930 INPUT #1,R:PSET(T,TT),R
  2514. 2940 NEXT T:NEXT TT
  2515. 2945 CLOSE 1
  2516. 2950 GET(1,1)-(16,16),GI
  2517. 2951 CLS
  2518. 3010 DIM GJ(16,16)
  2519. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  2520. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  2521. 3030 INPUT #1,R:PSET(T,TT),R
  2522. 3040 NEXT T:NEXT TT
  2523. 3045 CLOSE 1
  2524. 3050 GET(1,1)-(16,16),GJ
  2525. 3051 CLS
  2526. 3110 DIM GK(16,16)
  2527. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  2528. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  2529. 3130 INPUT #1,R:PSET(T,TT),R
  2530. 3140 NEXT T:NEXT TT
  2531. 3145 CLOSE 1
  2532. 3150 GET(1,1)-(16,16),GK
  2533. 3151 CLS
  2534. 3210 DIM GL(16,16)
  2535. 3215 OPEN"door03.mem" FOR INPUT AS 1
  2536. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  2537. 3230 INPUT #1,R:PSET(T,TT),R
  2538. 3240 NEXT T:NEXT TT
  2539. 3245 CLOSE 1
  2540. 3250 GET(1,1)-(16,16),GL
  2541. 3251 CLS
  2542. 3310 DIM GM(16,16)
  2543. 3315 OPEN"door04.mem" FOR INPUT AS 1
  2544. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  2545. 3330 INPUT #1,R:PSET(T,TT),R
  2546. 3340 NEXT T:NEXT TT
  2547. 3345 CLOSE 1
  2548. 3350 GET(1,1)-(16,16),GM
  2549. 3351 CLS
  2550. 3915 OPEN"map003.mem" FOR INPUT AS 1
  2551. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  2552. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  2553. 3940 NEXT T:NEXT TT
  2554. 3945 CLOSE 1
  2555. 3951 CLS
  2556. 3999 RETURN
  2557. 5000 '
  2558. 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
  2559. 5010 'LOCATE 1,32:PRINT X;",";Y;
  2560. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  2561. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  2562. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  2563. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  2564. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  2565. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  2566. 5040 IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  2567. 5041 IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  2568. 5042 IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  2569. 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  2570. 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  2571. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  2572. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  2573. 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  2574. 5999 RETURN
  2575. 10000 '
  2576. 10010 PCOPY 0,1
  2577. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2578. 10015 ST=5
  2579. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  2580. 10030 LINE(0,0)-(T,199),0,BF
  2581. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  2582. 10040 LINE(0,0)-(319,TT),0,BF
  2583. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  2584. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2585. 10047 LINE(240,0)-(319,199),0,BF
  2586. 10050 PCOPY 1,0
  2587. 10060 NEXT T
  2588. 10061 PSET(120,56),0
  2589. 10062 PCOPY 1,0
  2590. 10070 '
  2591. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  2592. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  2593. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  2594. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  2595. 20000 '
  2596. 20010 PCOPY 0,1:PCOPY 0,3
  2597. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2598. 20015 ST=5
  2599. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  2600. 20030 LINE(0,0)-(T,112),0,BF
  2601. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  2602. 20040 LINE(0,0)-(319,TT),0,BF
  2603. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  2604. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2605. 20047 'LINE(240,0)-(319,199),0,BF
  2606. 20050 PCOPY 1,0
  2607. 20060 NEXT T
  2608. 20061 'PSET(120,56),0
  2609. 20062 LOCATE 24,17:PRINT"(Pause)";
  2610. 20070 PCOPY 1,0
  2611. 20080 C$=INPUT$(1)
  2612. 20098 GOTO 30000
  2613. 30000 '
  2614. 30010 PCOPY 3,1
  2615. 30015 ST=5:TT=36
  2616. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  2617. 30025 PCOPY 3,1
  2618. 30030 LINE(0,0)-(T,112),0,BF
  2619. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  2620. 30040 LINE(0,0)-(319,TT),0,BF
  2621. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  2622. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2623. 30047 'LINE(240,0)-(319,199),0,BF
  2624. 30050 PCOPY 1,0
  2625. 30060 NEXT T
  2626. 30070 PCOPY 1,0
  2627. 30098 C$=" ":GOTO 190
  2628. 
  2629. miscdun/DUN020.BAS
  2630. 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
  2631. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(20,11)
  2632. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  2633. 105 IF C$=CHR$(27) THEN 10000
  2634. 106 IF C$=CHR$(13) THEN 10000
  2635. 107 IF C$="p" OR C$="P" THEN 20000
  2636. 108 XX=X:YY=Y
  2637. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  2638. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  2639. 130 IF INSTR("369",C$)>0 THEN X=X+1
  2640. 140 IF INSTR("147",C$)>0 THEN X=X-1
  2641. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  2642. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  2643. 190 '
  2644. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  2645. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  2646. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  2647. 1000 '
  2648. 1010 PCOPY 2,1
  2649. 1020 FOR TT=1 TO 11:FOR T=1 TO 20
  2650. 1030 MAP(T,TT)=POINT(X+(T-X1),Y+(TT-Y1))
  2651. 1040 NEXT T:NEXT TT
  2652. 1050 LINE(0,0)-(319,199),0,BF
  2653. 1060 FOR TT=1 TO 11:FOR T=1 TO 20
  2654. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  2655. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2656. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2657. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2658. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2659. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  2660. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  2661. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
  2662. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  2663. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  2664. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  2665. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  2666. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  2667. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  2668. 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
  2669. 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
  2670. 1109 NEXT T:NEXT TT
  2671. 1110 GOSUB 5000
  2672. 1111 PCOPY 1,0
  2673. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  2674. 1120 GOTO 100
  2675. 2000 '
  2676. 2010 DIM GA(16,16)
  2677. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  2678. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  2679. 2030 INPUT #1,R:PSET(T,TT),R
  2680. 2040 NEXT T:NEXT TT
  2681. 2045 CLOSE 1
  2682. 2050 GET(1,1)-(16,16),GA
  2683. 2051 CLS
  2684. 2110 DIM GB(16,16)
  2685. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  2686. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  2687. 2130 INPUT #1,R:PSET(T,TT),R
  2688. 2140 NEXT T:NEXT TT
  2689. 2145 CLOSE 1
  2690. 2150 GET(1,1)-(16,16),GB
  2691. 2151 CLS
  2692. 2210 DIM GC(16,16)
  2693. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  2694. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  2695. 2230 INPUT #1,R:PSET(T,TT),R
  2696. 2240 NEXT T:NEXT TT
  2697. 2245 CLOSE 1
  2698. 2250 GET(1,1)-(16,16),GC
  2699. 2251 CLS
  2700. 2310 DIM GD(16,16)
  2701. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  2702. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  2703. 2330 INPUT #1,R:PSET(T,TT),R
  2704. 2340 NEXT T:NEXT TT
  2705. 2345 CLOSE 1
  2706. 2350 GET(1,1)-(16,16),GD
  2707. 2351 CLS
  2708. 2410 DIM GE(16,16)
  2709. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  2710. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  2711. 2430 INPUT #1,R:PSET(T,TT),R
  2712. 2440 NEXT T:NEXT TT
  2713. 2445 CLOSE 1
  2714. 2450 GET(1,1)-(16,16),GE
  2715. 2451 CLS
  2716. 2510 DIM GR(16,16)
  2717. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  2718. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  2719. 2530 INPUT #1,R:PSET(T,TT),R
  2720. 2540 NEXT T:NEXT TT
  2721. 2545 CLOSE 1
  2722. 2550 GET(1,1)-(16,16),GR
  2723. 2551 CLS
  2724. 2610 DIM GS(16,16)
  2725. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  2726. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  2727. 2630 INPUT #1,R:PSET(T,TT),R
  2728. 2640 NEXT T:NEXT TT
  2729. 2645 CLOSE 1
  2730. 2650 GET(1,1)-(16