Advertisement
jargon

Dungeon Collective 2021-0922-1315

Sep 22nd, 2021
2,865
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,16),GS
  2731. 2651 CLS
  2732. 2710 DIM GT(16,16)
  2733. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  2734. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  2735. 2730 INPUT #1,R:PSET(T,TT),R
  2736. 2740 NEXT T:NEXT TT
  2737. 2745 CLOSE 1
  2738. 2750 GET(1,1)-(16,16),GT
  2739. 2751 CLS
  2740. 2810 DIM GF(16,16)
  2741. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  2742. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  2743. 2830 INPUT #1,R:PSET(T,TT),R
  2744. 2840 NEXT T:NEXT TT
  2745. 2845 CLOSE 1
  2746. 2850 GET(1,1)-(16,16),GF
  2747. 2851 CLS
  2748. 2910 DIM GI(16,16)
  2749. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  2750. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  2751. 2930 INPUT #1,R:PSET(T,TT),R
  2752. 2940 NEXT T:NEXT TT
  2753. 2945 CLOSE 1
  2754. 2950 GET(1,1)-(16,16),GI
  2755. 2951 CLS
  2756. 3010 DIM GJ(16,16)
  2757. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  2758. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  2759. 3030 INPUT #1,R:PSET(T,TT),R
  2760. 3040 NEXT T:NEXT TT
  2761. 3045 CLOSE 1
  2762. 3050 GET(1,1)-(16,16),GJ
  2763. 3051 CLS
  2764. 3110 DIM GK(16,16)
  2765. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  2766. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  2767. 3130 INPUT #1,R:PSET(T,TT),R
  2768. 3140 NEXT T:NEXT TT
  2769. 3145 CLOSE 1
  2770. 3150 GET(1,1)-(16,16),GK
  2771. 3151 CLS
  2772. 3210 DIM GL(16,16)
  2773. 3215 OPEN"door03.mem" FOR INPUT AS 1
  2774. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  2775. 3230 INPUT #1,R:PSET(T,TT),R
  2776. 3240 NEXT T:NEXT TT
  2777. 3245 CLOSE 1
  2778. 3250 GET(1,1)-(16,16),GL
  2779. 3251 CLS
  2780. 3310 DIM GM(16,16)
  2781. 3315 OPEN"door04.mem" FOR INPUT AS 1
  2782. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  2783. 3330 INPUT #1,R:PSET(T,TT),R
  2784. 3340 NEXT T:NEXT TT
  2785. 3345 CLOSE 1
  2786. 3350 GET(1,1)-(16,16),GM
  2787. 3351 CLS
  2788. 3915 OPEN"map003.mem" FOR INPUT AS 1
  2789. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  2790. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  2791. 3940 NEXT T:NEXT TT
  2792. 3945 CLOSE 1
  2793. 3951 CLS
  2794. 3999 RETURN
  2795. 5000 '
  2796. 5001 IF (MAP(X1,Y1)=>1 AND MAP(X1,Y1)<=2) OR MAP(X1,Y1)=-1 OR MAP(X1,Y1)=4 OR MAP(X1,Y1)=>7 THEN X=XX:Y=YY:RETURN 1010
  2797. 5010 'LOCATE 1,32:PRINT X;",";Y;
  2798. 5011 'LOCATE 2,32:PRINT MAP(x1,y1);
  2799. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  2800. 5020 'LINE((x1-1)*16,(y1-1)*16)-(x1*16,y1*16),15,B
  2801. 5030 LINE((1-1)*16,(1-1)*16)-((20*16)-1,(11*16)-1),15,B
  2802. 5035 'IF MAP(x1,y1-1)=2 AND DOORC=0 THEN DOORC=TIMER
  2803. 5036 'IF MAP(x1,y1-1)<>2 THEN DOORC=0
  2804. 5040 IF MAP(X1,Y1)=0 AND (GC=1 OR GC=3) THEN PUT((X1-1)*16,(Y1-1)*16),GR,OR
  2805. 5041 IF MAP(X1,Y1)=0 AND GC=2 THEN PUT((X1-1)*16,(Y1-1)*16),GS,OR
  2806. 5042 IF MAP(X1,Y1)=0 AND GC=4 THEN PUT((X1-1)*16,(Y1-1)*16),GT,OR
  2807. 5043 IF (MAP(X1,Y1-1)=15 OR MAP(X2,Y1+1)=15) AND DOORC=0 THEN DOORC=TIMER
  2808. 5044 IF (MAP(X1,Y1-1)<>15 AND MAP(X1,Y1+1)<>15) THEN DOORC=0
  2809. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 24,1:PRINT"You found the exit!"
  2810. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 23,1:PRINT"Dereck: Let's get out of here."
  2811. 5070 IF X=6 AND Y=18 THEN LOCATE 23,1:PRINT"Man: Some skulls mark secret passages."
  2812. 5999 RETURN
  2813. 10000 '
  2814. 10010 PCOPY 0,1
  2815. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2816. 10015 ST=5
  2817. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  2818. 10030 LINE(0,0)-(T,199),0,BF
  2819. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  2820. 10040 LINE(0,0)-(319,TT),0,BF
  2821. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  2822. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2823. 10047 LINE(240,0)-(319,199),0,BF
  2824. 10050 PCOPY 1,0
  2825. 10060 NEXT T
  2826. 10061 PSET(120,56),0
  2827. 10062 PCOPY 1,0
  2828. 10070 '
  2829. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  2830. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  2831. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  2832. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  2833. 20000 '
  2834. 20010 PCOPY 0,1:PCOPY 0,3
  2835. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  2836. 20015 ST=5:S2=1.5
  2837. 20020 FOR TT=0 TO 56 STEP ST:T=T+(S2)*ST
  2838. 20030 LINE(0,0)-(T,175),0,BF
  2839. 20035 LINE(319-T,0)-(319,175),0,BF
  2840. 20040 LINE(0,0)-(319,TT),0,BF
  2841. 20045 LINE(0,175)-(319,175-TT),0,BF
  2842. 20046 LINE(T,TT)-(319-T,175-TT),15,B
  2843. 20047 'LINE(240,0)-(319,199),0,BF
  2844. 20050 PCOPY 1,0
  2845. 20060 NEXT TT
  2846. 20061 'PSET(120,56),0
  2847. 20062 LOCATE 25,17:PRINT"(Pause)";
  2848. 20070 PCOPY 1,0
  2849. 20080 C$=INPUT$(1)
  2850. 20098 GOTO 30000
  2851. 30000 '
  2852. 30010 PCOPY 3,1
  2853. 30015 ST=5:TT=36
  2854. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  2855. 30025 PCOPY 3,1
  2856. 30030 LINE(0,0)-(T,112),0,BF
  2857. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  2858. 30040 LINE(0,0)-(319,TT),0,BF
  2859. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  2860. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  2861. 30047 'LINE(240,0)-(319,199),0,BF
  2862. 30050 PCOPY 1,0
  2863. 30060 NEXT T
  2864. 30070 PCOPY 1,0
  2865. 30098 C$=" ":GOTO 190
  2866. 
  2867. miscdun/DUN025.BAS
  2868. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  2869. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  2870. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  2871. 105 IF C$=CHR$(27) THEN 10000
  2872. 106 IF C$=CHR$(13) THEN 10000
  2873. 107 IF C$="p" OR C$="P" THEN 20000
  2874. 108 XX=X:YY=Y
  2875. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  2876. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  2877. 130 IF INSTR("369",C$)>0 THEN X=X+1
  2878. 140 IF INSTR("147",C$)>0 THEN X=X-1
  2879. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  2880. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  2881. 190 '
  2882. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  2883. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  2884. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  2885. 1000 '
  2886. 1010 PCOPY 2,1
  2887. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  2888. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  2889. 1040 NEXT T:NEXT TT
  2890. 1050 LINE(0,0)-(319,199),0,BF
  2891. 1060 FOR TT=1 TO 7:FOR T=1 TO 15
  2892. 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  2893. 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2894. 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2895. 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
  2896. 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
  2897. 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
  2898. 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
  2899. 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
  2900. 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
  2901. 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
  2902. 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
  2903. 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
  2904. 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
  2905. 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
  2906. 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
  2907. 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
  2908. 1105 IF MAP(T,TT)=9 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GN
  2909. 1106 IF MAP(T,TT)=9 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GO
  2910. 1107 IF MAP(T,TT)=9 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GP
  2911. 1109 NEXT T:NEXT TT
  2912. 1110 GOSUB 5000
  2913. 1111 PCOPY 1,0
  2914. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  2915. 1120 GOTO 100
  2916. 2000 '
  2917. 2010 DIM GA(16,16)
  2918. 2015 OPEN"brick03.mem" FOR INPUT AS 1
  2919. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  2920. 2030 INPUT #1,R:PSET(T,TT),R
  2921. 2040 NEXT T:NEXT TT
  2922. 2045 CLOSE 1
  2923. 2050 GET(1,1)-(16,16),GA
  2924. 2051 CLS
  2925. 2110 DIM GB(16,16)
  2926. 2115 OPEN"flame01.mem" FOR INPUT AS 1
  2927. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  2928. 2130 INPUT #1,R:PSET(T,TT),R
  2929. 2140 NEXT T:NEXT TT
  2930. 2145 CLOSE 1
  2931. 2150 GET(1,1)-(16,16),GB
  2932. 2151 CLS
  2933. 2210 DIM GC(16,16)
  2934. 2215 OPEN"flame02.mem" FOR INPUT AS 1
  2935. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  2936. 2230 INPUT #1,R:PSET(T,TT),R
  2937. 2240 NEXT T:NEXT TT
  2938. 2245 CLOSE 1
  2939. 2250 GET(1,1)-(16,16),GC
  2940. 2251 CLS
  2941. 2310 DIM GD(16,16)
  2942. 2315 OPEN"skull01.mem" FOR INPUT AS 1
  2943. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  2944. 2330 INPUT #1,R:PSET(T,TT),R
  2945. 2340 NEXT T:NEXT TT
  2946. 2345 CLOSE 1
  2947. 2350 GET(1,1)-(16,16),GD
  2948. 2351 CLS
  2949. 2410 DIM GE(16,16)
  2950. 2415 OPEN"caveman1.mem" FOR INPUT AS 1
  2951. 2420 FOR TT=1 TO 16:FOR T=1 TO 16
  2952. 2430 INPUT #1,R:PSET(T,TT),R
  2953. 2440 NEXT T:NEXT TT
  2954. 2445 CLOSE 1
  2955. 2450 GET(1,1)-(16,16),GE
  2956. 2451 CLS
  2957. 2510 DIM GR(16,16)
  2958. 2515 OPEN"dereck1.mem" FOR INPUT AS 1
  2959. 2520 FOR TT=1 TO 16:FOR T=1 TO 16
  2960. 2530 INPUT #1,R:PSET(T,TT),R
  2961. 2540 NEXT T:NEXT TT
  2962. 2545 CLOSE 1
  2963. 2550 GET(1,1)-(16,16),GR
  2964. 2551 CLS
  2965. 2610 DIM GS(16,16)
  2966. 2615 OPEN"dereck2.mem" FOR INPUT AS 1
  2967. 2620 FOR TT=1 TO 16:FOR T=1 TO 16
  2968. 2630 INPUT #1,R:PSET(T,TT),R
  2969. 2640 NEXT T:NEXT TT
  2970. 2645 CLOSE 1
  2971. 2650 GET(1,1)-(16,16),GS
  2972. 2651 CLS
  2973. 2710 DIM GT(16,16)
  2974. 2715 OPEN"dereck3.mem" FOR INPUT AS 1
  2975. 2720 FOR TT=1 TO 16:FOR T=1 TO 16
  2976. 2730 INPUT #1,R:PSET(T,TT),R
  2977. 2740 NEXT T:NEXT TT
  2978. 2745 CLOSE 1
  2979. 2750 GET(1,1)-(16,16),GT
  2980. 2751 CLS
  2981. 2810 DIM GF(16,16)
  2982. 2815 OPEN"caveman2.mem" FOR INPUT AS 1
  2983. 2820 FOR TT=1 TO 16:FOR T=1 TO 16
  2984. 2830 INPUT #1,R:PSET(T,TT),R
  2985. 2840 NEXT T:NEXT TT
  2986. 2845 CLOSE 1
  2987. 2850 GET(1,1)-(16,16),GF
  2988. 2851 CLS
  2989. 2910 DIM GI(16,16)
  2990. 2915 OPEN"guard1.mem" FOR INPUT AS 1
  2991. 2920 FOR TT=1 TO 16:FOR T=1 TO 16
  2992. 2930 INPUT #1,R:PSET(T,TT),R
  2993. 2940 NEXT T:NEXT TT
  2994. 2945 CLOSE 1
  2995. 2950 GET(1,1)-(16,16),GI
  2996. 2951 CLS
  2997. 3010 DIM GJ(16,16)
  2998. 3015 OPEN"guard2.mem" FOR INPUT AS 1
  2999. 3020 FOR TT=1 TO 16:FOR T=1 TO 16
  3000. 3030 INPUT #1,R:PSET(T,TT),R
  3001. 3040 NEXT T:NEXT TT
  3002. 3045 CLOSE 1
  3003. 3050 GET(1,1)-(16,16),GJ
  3004. 3051 CLS
  3005. 3110 DIM GK(16,16)
  3006. 3115 OPEN"guard3.mem" FOR INPUT AS 1
  3007. 3120 FOR TT=1 TO 16:FOR T=1 TO 16
  3008. 3130 INPUT #1,R:PSET(T,TT),R
  3009. 3140 NEXT T:NEXT TT
  3010. 3145 CLOSE 1
  3011. 3150 GET(1,1)-(16,16),GK
  3012. 3151 CLS
  3013. 3210 DIM GL(16,16)
  3014. 3215 OPEN"door03.mem" FOR INPUT AS 1
  3015. 3220 FOR TT=1 TO 16:FOR T=1 TO 16
  3016. 3230 INPUT #1,R:PSET(T,TT),R
  3017. 3240 NEXT T:NEXT TT
  3018. 3245 CLOSE 1
  3019. 3250 GET(1,1)-(16,16),GL
  3020. 3251 CLS
  3021. 3310 DIM GM(16,16)
  3022. 3315 OPEN"door04.mem" FOR INPUT AS 1
  3023. 3320 FOR TT=1 TO 16:FOR T=1 TO 16
  3024. 3330 INPUT #1,R:PSET(T,TT),R
  3025. 3340 NEXT T:NEXT TT
  3026. 3345 CLOSE 1
  3027. 3350 GET(1,1)-(16,16),GM
  3028. 3351 CLS
  3029. 3410 DIM GN(16,16)
  3030. 3415 OPEN"monster4.mem" FOR INPUT AS 1
  3031. 3420 FOR TT=1 TO 16:FOR T=1 TO 16
  3032. 3430 INPUT #1,R:PSET(T,TT),R
  3033. 3440 NEXT T:NEXT TT
  3034. 3445 CLOSE 1
  3035. 3450 GET(1,1)-(16,16),GN
  3036. 3451 CLS
  3037. 3510 DIM GO(16,16)
  3038. 3515 OPEN"monster5.mem" FOR INPUT AS 1
  3039. 3520 FOR TT=1 TO 16:FOR T=1 TO 16
  3040. 3530 INPUT #1,R:PSET(T,TT),R
  3041. 3540 NEXT T:NEXT TT
  3042. 3545 CLOSE 1
  3043. 3550 GET(1,1)-(16,16),GO
  3044. 3551 CLS
  3045. 3610 DIM GP(16,16)
  3046. 3615 OPEN"monster6.mem" FOR INPUT AS 1
  3047. 3620 FOR TT=1 TO 16:FOR T=1 TO 16
  3048. 3630 INPUT #1,R:PSET(T,TT),R
  3049. 3640 NEXT T:NEXT TT
  3050. 3645 CLOSE 1
  3051. 3650 GET(1,1)-(16,16),GP
  3052. 3651 CLS
  3053. 3915 OPEN"map025.mem" FOR INPUT AS 1
  3054. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3055. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3056. 3940 NEXT T:NEXT TT
  3057. 3945 CLOSE 1
  3058. 3951 CLS
  3059. 3999 RETURN
  3060. 5000 '
  3061. 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
  3062. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3063. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3064. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3065. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3066. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3067. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3068. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3069. 5040 IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3070. 5041 IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3071. 5042 IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3072. 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3073. 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3074. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3075. 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3076. 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3077. 5071 IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3078. 5072 IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3079. 5999 RETURN
  3080. 10000 '
  3081. 10010 PCOPY 0,1
  3082. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3083. 10015 ST=5
  3084. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3085. 10030 LINE(0,0)-(T,199),0,BF
  3086. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3087. 10040 LINE(0,0)-(319,TT),0,BF
  3088. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3089. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3090. 10047 LINE(240,0)-(319,199),0,BF
  3091. 10050 PCOPY 1,0
  3092. 10060 NEXT T
  3093. 10061 PSET(120,56),0
  3094. 10062 PCOPY 1,0
  3095. 10070 '
  3096. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3097. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3098. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3099. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3100. 20000 '
  3101. 20010 PCOPY 0,1:PCOPY 0,3
  3102. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3103. 20015 ST=5
  3104. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3105. 20030 LINE(0,0)-(T,112),0,BF
  3106. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3107. 20040 LINE(0,0)-(319,TT),0,BF
  3108. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3109. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3110. 20047 'LINE(240,0)-(319,199),0,BF
  3111. 20050 PCOPY 1,0
  3112. 20060 NEXT T
  3113. 20061 'PSET(120,56),0
  3114. 20062 LOCATE 24,17:PRINT"(Pause)";
  3115. 20070 PCOPY 1,0
  3116. 20080 C$=INPUT$(1)
  3117. 20098 GOTO 30000
  3118. 30000 '
  3119. 30010 PCOPY 3,1
  3120. 30015 ST=5:TT=36
  3121. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3122. 30025 PCOPY 3,1
  3123. 30030 LINE(0,0)-(T,112),0,BF
  3124. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3125. 30040 LINE(0,0)-(319,TT),0,BF
  3126. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3127. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3128. 30047 'LINE(240,0)-(319,199),0,BF
  3129. 30050 PCOPY 1,0
  3130. 30060 NEXT T
  3131. 30070 PCOPY 1,0
  3132. 30098 C$=" ":GOTO 190
  3133. 
  3134. miscdun/DUN030.BAS
  3135. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3136. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  3137. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3138. 105 IF C$=CHR$(27) THEN 10000
  3139. 106 IF C$=CHR$(13) THEN 10000
  3140. 107 IF C$="p" OR C$="P" THEN 20000
  3141. 108 XX=X:YY=Y
  3142. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3143. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3144. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3145. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3146. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3147. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3148. 190 '
  3149. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3150. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3151. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3152. 1000 '
  3153. 1010 PCOPY 2,1
  3154. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  3155. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  3156. 1040 NEXT T:NEXT TT
  3157. 1050 LINE(0,0)-(319,199),0,BF
  3158. 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3159. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3160. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3161. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3162. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3163. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3164. 1109 NEXT T:NEXT TT
  3165. 1110 GOSUB 5000
  3166. 1111 PCOPY 1,0
  3167. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  3168. 1120 GOTO 100
  3169. 2000 '
  3170. 2010 DIM RW(16,16)
  3171. 2015 OPEN"road01.16x" FOR INPUT AS 1
  3172. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3173. 2030 INPUT #1,R:PSET(T,TT),R
  3174. 2040 NEXT T:NEXT TT
  3175. 2045 CLOSE 1
  3176. 2050 GET(1,1)-(16,16),RW
  3177. 2051 CLS
  3178. 2110 DIM RN(16,16)
  3179. 2115 OPEN"road02.16x" FOR INPUT AS 1
  3180. 2120 FOR TT=1 TO 16:FOR T=1 TO 16
  3181. 2130 INPUT #1,R:PSET(T,TT),R
  3182. 2140 NEXT T:NEXT TT
  3183. 2145 CLOSE 1
  3184. 2150 GET(1,1)-(16,16),RN
  3185. 2151 CLS
  3186. 2210 DIM RE(16,16)
  3187. 2215 OPEN"road03.16x" FOR INPUT AS 1
  3188. 2220 FOR TT=1 TO 16:FOR T=1 TO 16
  3189. 2230 INPUT #1,R:PSET(T,TT),R
  3190. 2240 NEXT T:NEXT TT
  3191. 2245 CLOSE 1
  3192. 2250 GET(1,1)-(16,16),RE
  3193. 2251 CLS
  3194. 2310 DIM RS(16,16)
  3195. 2315 OPEN"road04.16x" FOR INPUT AS 1
  3196. 2320 FOR TT=1 TO 16:FOR T=1 TO 16
  3197. 2330 INPUT #1,R:PSET(T,TT),R
  3198. 2340 NEXT T:NEXT TT
  3199. 2345 CLOSE 1
  3200. 2350 GET(1,1)-(16,16),RS
  3201. 2351 CLS
  3202. 3915 OPEN"map030.mem" FOR INPUT AS 1
  3203. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3204. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3205. 3940 NEXT T:NEXT TT
  3206. 3945 CLOSE 1
  3207. 3951 CLS
  3208. 3999 RETURN
  3209. 5000 '
  3210. 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
  3211. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3212. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3213. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3214. 5020 LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3215. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3216. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3217. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3218. 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3219. 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3220. 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3221. 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3222. 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3223. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3224. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3225. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3226. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3227. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3228. 5999 RETURN
  3229. 10000 '
  3230. 10010 PCOPY 0,1
  3231. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3232. 10015 ST=5
  3233. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3234. 10030 LINE(0,0)-(T,199),0,BF
  3235. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3236. 10040 LINE(0,0)-(319,TT),0,BF
  3237. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3238. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3239. 10047 LINE(240,0)-(319,199),0,BF
  3240. 10050 PCOPY 1,0
  3241. 10060 NEXT T
  3242. 10061 PSET(120,56),0
  3243. 10062 PCOPY 1,0
  3244. 10070 '
  3245. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3246. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3247. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3248. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3249. 20000 '
  3250. 20010 PCOPY 0,1:PCOPY 0,3
  3251. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3252. 20015 ST=5
  3253. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3254. 20030 LINE(0,0)-(T,112),0,BF
  3255. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3256. 20040 LINE(0,0)-(319,TT),0,BF
  3257. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3258. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3259. 20047 'LINE(240,0)-(319,199),0,BF
  3260. 20050 PCOPY 1,0
  3261. 20060 NEXT T
  3262. 20061 'PSET(120,56),0
  3263. 20062 LOCATE 24,17:PRINT"(Pause)";
  3264. 20070 PCOPY 1,0
  3265. 20080 C$=INPUT$(1)
  3266. 20098 GOTO 30000
  3267. 30000 '
  3268. 30010 PCOPY 3,1
  3269. 30015 ST=5:TT=36
  3270. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3271. 30025 PCOPY 3,1
  3272. 30030 LINE(0,0)-(T,112),0,BF
  3273. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3274. 30040 LINE(0,0)-(319,TT),0,BF
  3275. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3276. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3277. 30047 'LINE(240,0)-(319,199),0,BF
  3278. 30050 PCOPY 1,0
  3279. 30060 NEXT T
  3280. 30070 PCOPY 1,0
  3281. 30098 C$=" ":GOTO 190
  3282. 
  3283. miscdun/DUN031.BAS
  3284. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3285. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  3286. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3287. 105 IF C$=CHR$(27) THEN 10000
  3288. 106 IF C$=CHR$(13) THEN 10000
  3289. 107 IF C$="p" OR C$="P" THEN 20000
  3290. 108 XX=X:YY=Y
  3291. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3292. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3293. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3294. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3295. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3296. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3297. 190 '
  3298. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3299. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3300. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3301. 1000 '
  3302. 1010 PCOPY 2,1
  3303. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  3304. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  3305. 1040 NEXT T:NEXT TT
  3306. 1050 LINE(0,0)-(319,199),0,BF
  3307. 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3308. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3309. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3310. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3311. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3312. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3313. 1109 NEXT T:NEXT TT
  3314. 1110 GOSUB 5000
  3315. 1111 PCOPY 1,0
  3316. 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  3317. 1120 GOTO 100
  3318. 2000 '
  3319. 2010 DIM RW(16,16)
  3320. 2015 OPEN"road06.16x" FOR INPUT AS 1
  3321. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3322. 2030 INPUT #1,R:PSET(T,TT),R
  3323. 2040 NEXT T:NEXT TT
  3324. 2045 CLOSE 1
  3325. 2050 GET(1,1)-(16,16),RW
  3326. 2051 CLS
  3327. 2110 DIM RN(16,16)
  3328. 2115 OPEN"road06.16x" FOR INPUT AS 1
  3329. 2120 FOR T=1 TO 16:FOR TT=1 TO 16
  3330. 2130 INPUT #1,R:PSET(T,TT),R
  3331. 2140 NEXT TT:NEXT T
  3332. 2145 CLOSE 1
  3333. 2150 GET(1,1)-(16,16),RN
  3334. 2151 CLS
  3335. 2210 DIM RE(16,16)
  3336. 2215 OPEN"road06.16x" FOR INPUT AS 1
  3337. 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
  3338. 2230 INPUT #1,R:PSET(T,TT),R
  3339. 2240 NEXT T:NEXT TT
  3340. 2245 CLOSE 1
  3341. 2250 GET(1,1)-(16,16),RE
  3342. 2251 CLS
  3343. 2310 DIM RS(16,16)
  3344. 2315 OPEN"road06.16x" FOR INPUT AS 1
  3345. 2320 FOR T=16 TO 1 STEP -1:FOR TT=1 TO 16
  3346. 2330 INPUT #1,R:PSET(T,TT),R
  3347. 2340 NEXT TT:NEXT T
  3348. 2345 CLOSE 1
  3349. 2350 GET(1,1)-(16,16),RS
  3350. 2351 CLS
  3351. 3915 OPEN"map030.mem" FOR INPUT AS 1
  3352. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3353. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3354. 3940 NEXT T:NEXT TT
  3355. 3945 CLOSE 1
  3356. 3951 CLS
  3357. 3999 RETURN
  3358. 5000 '
  3359. 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
  3360. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3361. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3362. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3363. 5020 LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3364. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3365. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3366. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3367. 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3368. 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3369. 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3370. 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3371. 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3372. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3373. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3374. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3375. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3376. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3377. 5999 RETURN
  3378. 10000 '
  3379. 10010 PCOPY 0,1
  3380. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3381. 10015 ST=5
  3382. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3383. 10030 LINE(0,0)-(T,199),0,BF
  3384. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3385. 10040 LINE(0,0)-(319,TT),0,BF
  3386. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3387. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3388. 10047 LINE(240,0)-(319,199),0,BF
  3389. 10050 PCOPY 1,0
  3390. 10060 NEXT T
  3391. 10061 PSET(120,56),0
  3392. 10062 PCOPY 1,0
  3393. 10070 '
  3394. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3395. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3396. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3397. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3398. 20000 '
  3399. 20010 PCOPY 0,1:PCOPY 0,3
  3400. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3401. 20015 ST=5
  3402. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3403. 20030 LINE(0,0)-(T,112),0,BF
  3404. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3405. 20040 LINE(0,0)-(319,TT),0,BF
  3406. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3407. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3408. 20047 'LINE(240,0)-(319,199),0,BF
  3409. 20050 PCOPY 1,0
  3410. 20060 NEXT T
  3411. 20061 'PSET(120,56),0
  3412. 20062 LOCATE 24,17:PRINT"(Pause)";
  3413. 20070 PCOPY 1,0
  3414. 20080 C$=INPUT$(1)
  3415. 20098 GOTO 30000
  3416. 30000 '
  3417. 30010 PCOPY 3,1
  3418. 30015 ST=5:TT=36
  3419. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3420. 30025 PCOPY 3,1
  3421. 30030 LINE(0,0)-(T,112),0,BF
  3422. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3423. 30040 LINE(0,0)-(319,TT),0,BF
  3424. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3425. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3426. 30047 'LINE(240,0)-(319,199),0,BF
  3427. 30050 PCOPY 1,0
  3428. 30060 NEXT T
  3429. 30070 PCOPY 1,0
  3430. 30098 C$=" ":GOTO 190
  3431. 
  3432. miscdun/DUN032.BAS
  3433. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3434. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  3435. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3436. 105 IF C$=CHR$(27) THEN 10000
  3437. 106 IF C$=CHR$(13) THEN 10000
  3438. 107 IF C$="p" OR C$="P" THEN 20000
  3439. 108 XX=X:YY=Y
  3440. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3441. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3442. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3443. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3444. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3445. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3446. 190 '
  3447. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3448. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3449. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3450. 1000 'Road Map
  3451. 1010 PCOPY 3,1
  3452. 1020 CW=0:CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
  3453. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
  3454. 1040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6000
  3455. 1050 LINE(0,0)-(319,199),0,BF
  3456. 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3457. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3458. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3459. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3460. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3461. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3462. 1080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3463. 1109 NEXT T:NEXT TT
  3464. 1120 GOTO 6000
  3465. 2000 '
  3466. 2010 DIM RW(16,16)
  3467. 2015 OPEN"road08.16x" FOR INPUT AS 1
  3468. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3469. 2030 INPUT #1,R:PSET(T,TT),R
  3470. 2040 NEXT T:NEXT TT
  3471. 2045 CLOSE 1
  3472. 2050 GET(1,1)-(16,16),RW
  3473. 2051 CLS
  3474. 2110 DIM RN(16,16)
  3475. 2115 OPEN"road08.16x" FOR INPUT AS 1
  3476. 2120 FOR T=1 TO 16:FOR TT=1 TO 16
  3477. 2130 INPUT #1,R:PSET(T,TT),R
  3478. 2140 NEXT TT:NEXT T
  3479. 2145 CLOSE 1
  3480. 2150 GET(1,1)-(16,16),RN
  3481. 2151 CLS
  3482. 2210 DIM RE(16,16)
  3483. 2215 OPEN"road08.16x" FOR INPUT AS 1
  3484. 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
  3485. 2230 INPUT #1,R:PSET(T,TT),R
  3486. 2240 NEXT T:NEXT TT
  3487. 2245 CLOSE 1
  3488. 2250 GET(1,1)-(16,16),RE
  3489. 2251 CLS
  3490. 2310 DIM RS(16,16)
  3491. 2315 OPEN"road08.16x" FOR INPUT AS 1
  3492. 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
  3493. 2330 INPUT #1,R:PSET(T,TT),R
  3494. 2340 NEXT TT:NEXT T
  3495. 2345 CLOSE 1
  3496. 2350 GET(1,1)-(16,16),RS
  3497. 2351 CLS
  3498. 3810 'Terrein map
  3499. 3815 OPEN"map030.Tmm" FOR INPUT AS 1
  3500. 3820 FOR TT=1 TO 32:FOR T=1 TO 64
  3501. 3830 INPUT #1,R:PSET(T-1,TT-1),R
  3502. 3840 NEXT T:NEXT TT
  3503. 3845 CLOSE 1:PCOPY 1,2
  3504. 3851 CLS
  3505. 3910 'Road map
  3506. 3915 OPEN"map030.Rmm" FOR INPUT AS 1
  3507. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3508. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3509. 3940 NEXT T:NEXT TT
  3510. 3945 CLOSE 1:PCOPY 1,3
  3511. 3951 CLS
  3512. 3999 RETURN
  3513. 5000 '
  3514. 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
  3515. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3516. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3517. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3518. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3519. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3520. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3521. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3522. 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3523. 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3524. 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3525. 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3526. 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3527. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3528. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3529. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3530. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3531. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3532. 5999 RETURN
  3533. 6000 'Terrein Map
  3534. 6010 PCOPY 2,1
  3535. 6020 CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
  3536. 6030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
  3537. 6040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6110
  3538. 6050 LINE(0,0)-(319,199),0,BF
  3539. 6060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3540. 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3541. 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3542. 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3543. 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3544. 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3545. 6080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3546. 6109 NEXT T:NEXT TT
  3547. 6110 IF CW=2 THEN LINE(0,0)-(319,199),0,BF:LOCATE 7,11:COLOR 5:PRINT"outer space";:COLOR 15
  3548. 6111 GOSUB 5000
  3549. 6112 PCOPY 1,0
  3550. 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  3551. 6120 GOTO 100
  3552. 10000 '
  3553. 10010 PCOPY 0,1
  3554. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3555. 10015 ST=5
  3556. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3557. 10030 LINE(0,0)-(T,199),0,BF
  3558. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3559. 10040 LINE(0,0)-(319,TT),0,BF
  3560. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3561. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3562. 10047 LINE(240,0)-(319,199),0,BF
  3563. 10050 PCOPY 1,0
  3564. 10060 NEXT T
  3565. 10061 PSET(120,56),0
  3566. 10062 PCOPY 1,0
  3567. 10070 '
  3568. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3569. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3570. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3571. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3572. 20000 '
  3573. 20010 PCOPY 0,1:PCOPY 0,3
  3574. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3575. 20015 ST=5
  3576. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3577. 20030 LINE(0,0)-(T,112),0,BF
  3578. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3579. 20040 LINE(0,0)-(319,TT),0,BF
  3580. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3581. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3582. 20047 'LINE(240,0)-(319,199),0,BF
  3583. 20050 PCOPY 1,0
  3584. 20060 NEXT T
  3585. 20061 'PSET(120,56),0
  3586. 20062 LOCATE 24,17:PRINT"(Pause)";
  3587. 20070 PCOPY 1,0
  3588. 20080 C$=INPUT$(1)
  3589. 20098 GOTO 30000
  3590. 30000 '
  3591. 30010 PCOPY 3,1
  3592. 30015 ST=5:TT=36
  3593. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3594. 30025 PCOPY 3,1
  3595. 30030 LINE(0,0)-(T,112),0,BF
  3596. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3597. 30040 LINE(0,0)-(319,TT),0,BF
  3598. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3599. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3600. 30047 'LINE(240,0)-(319,199),0,BF
  3601. 30050 PCOPY 1,0
  3602. 30060 NEXT T
  3603. 30070 PCOPY 1,0
  3604. 30098 C$=" ":GOTO 190
  3605. 
  3606. miscdun/DUN033.BAS
  3607. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3608. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  3609. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3610. 105 IF C$=CHR$(27) THEN 10000
  3611. 106 IF C$=CHR$(13) THEN 10000
  3612. 107 IF C$="p" OR C$="P" THEN 20000
  3613. 108 XX=X:YY=Y
  3614. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3615. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3616. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3617. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3618. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3619. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3620. 190 '
  3621. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3622. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3623. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3624. 1000 'Road Map
  3625. 1010 PCOPY 3,1
  3626. 1020 CW=0:CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
  3627. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
  3628. 1040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6000
  3629. 1050 LINE(0,0)-(319,199),0,BF
  3630. 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3631. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3632. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3633. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3634. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3635. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3636. 1080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3637. 1109 NEXT T:NEXT TT
  3638. 1120 GOTO 6000
  3639. 2000 '
  3640. 2010 DIM RW(16,16)
  3641. 2015 OPEN"road08.16x" FOR INPUT AS 1
  3642. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3643. 2030 INPUT #1,R:PSET(T,TT),R
  3644. 2040 NEXT T:NEXT TT
  3645. 2045 CLOSE 1
  3646. 2050 GET(1,1)-(16,16),RW
  3647. 2051 CLS
  3648. 2110 DIM RN(16,16)
  3649. 2115 OPEN"road08.16x" FOR INPUT AS 1
  3650. 2120 FOR T=1 TO 16:FOR TT=1 TO 16
  3651. 2130 INPUT #1,R:PSET(T,TT),R
  3652. 2140 NEXT TT:NEXT T
  3653. 2145 CLOSE 1
  3654. 2150 GET(1,1)-(16,16),RN
  3655. 2151 CLS
  3656. 2210 DIM RE(16,16)
  3657. 2215 OPEN"road08.16x" FOR INPUT AS 1
  3658. 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
  3659. 2230 INPUT #1,R:PSET(T,TT),R
  3660. 2240 NEXT T:NEXT TT
  3661. 2245 CLOSE 1
  3662. 2250 GET(1,1)-(16,16),RE
  3663. 2251 CLS
  3664. 2310 DIM RS(16,16)
  3665. 2315 OPEN"road08.16x" FOR INPUT AS 1
  3666. 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
  3667. 2330 INPUT #1,R:PSET(T,TT),R
  3668. 2340 NEXT TT:NEXT T
  3669. 2345 CLOSE 1
  3670. 2350 GET(1,1)-(16,16),RS
  3671. 2351 CLS
  3672. 3810 'Terrein map
  3673. 3815 OPEN"map030.Tmm" FOR INPUT AS 1
  3674. 3820 FOR TT=1 TO 32:FOR T=1 TO 64
  3675. 3830 INPUT #1,R:PSET(T-1,TT-1),R
  3676. 3840 NEXT T:NEXT TT
  3677. 3845 CLOSE 1:PCOPY 1,2
  3678. 3851 CLS
  3679. 3910 'Road map
  3680. 3915 OPEN"map030.Rmm" FOR INPUT AS 1
  3681. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3682. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3683. 3940 NEXT T:NEXT TT
  3684. 3945 CLOSE 1:PCOPY 1,3
  3685. 3951 CLS
  3686. 3999 RETURN
  3687. 5000 '
  3688. 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
  3689. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3690. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3691. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3692. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3693. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3694. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3695. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3696. 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3697. 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3698. 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3699. 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3700. 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3701. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3702. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3703. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3704. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3705. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3706. 5999 RETURN
  3707. 6000 'Terrein Map
  3708. 6010 PCOPY 2,1
  3709. 6020 CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
  3710. 6030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
  3711. 6040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6110
  3712. 6050 LINE(0,0)-(319,199),0,BF
  3713. 6060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3714. 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3715. 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3716. 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3717. 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3718. 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3719. 6080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3720. 6109 NEXT T:NEXT TT
  3721. 6110 IF CW=2 THEN LINE(0,0)-(319,199),0,BF:LOCATE 7,11:COLOR 5:PRINT"outer space";:COLOR 15
  3722. 6111 GOSUB 5000
  3723. 6112 PCOPY 1,0
  3724. 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  3725. 6120 GOTO 100
  3726. 10000 '
  3727. 10010 PCOPY 0,1
  3728. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3729. 10015 ST=5
  3730. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3731. 10030 LINE(0,0)-(T,199),0,BF
  3732. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3733. 10040 LINE(0,0)-(319,TT),0,BF
  3734. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3735. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3736. 10047 LINE(240,0)-(319,199),0,BF
  3737. 10050 PCOPY 1,0
  3738. 10060 NEXT T
  3739. 10061 PSET(120,56),0
  3740. 10062 PCOPY 1,0
  3741. 10070 '
  3742. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3743. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3744. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3745. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3746. 20000 '
  3747. 20010 PCOPY 0,1:PCOPY 0,3
  3748. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3749. 20015 ST=5
  3750. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3751. 20030 LINE(0,0)-(T,112),0,BF
  3752. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3753. 20040 LINE(0,0)-(319,TT),0,BF
  3754. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3755. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3756. 20047 'LINE(240,0)-(319,199),0,BF
  3757. 20050 PCOPY 1,0
  3758. 20060 NEXT T
  3759. 20061 'PSET(120,56),0
  3760. 20062 LOCATE 24,17:PRINT"(Pause)";
  3761. 20070 PCOPY 1,0
  3762. 20080 C$=INPUT$(1)
  3763. 20098 GOTO 30000
  3764. 30000 '
  3765. 30010 PCOPY 3,1
  3766. 30015 ST=5:TT=36
  3767. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3768. 30025 PCOPY 3,1
  3769. 30030 LINE(0,0)-(T,112),0,BF
  3770. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3771. 30040 LINE(0,0)-(319,TT),0,BF
  3772. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3773. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3774. 30047 'LINE(240,0)-(319,199),0,BF
  3775. 30050 PCOPY 1,0
  3776. 30060 NEXT T
  3777. 30070 PCOPY 1,0
  3778. 30098 C$=" ":GOTO 190
  3779. 
  3780. miscdun/DUN034.BAS
  3781. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3782. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
  3783. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3784. 105 IF C$=CHR$(27) THEN 10000
  3785. 106 IF C$=CHR$(13) THEN 10000
  3786. 107 IF C$="p" OR C$="P" THEN 20000
  3787. 108 XX=X:YY=Y
  3788. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3789. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3790. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3791. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3792. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3793. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3794. 190 '
  3795. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3796. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3797. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3798. 1000 'Road Map
  3799. 1010 PCOPY 3,1
  3800. 1020 FOR TT=1 TO 7:FOR T=1 TO 15
  3801. 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  3802. 1040 NEXT T:NEXT TT
  3803. 1050 LINE(0,0)-(319,199),0,BF
  3804. 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3805. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3806. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3807. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3808. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3809. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3810. 1080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3811. 1109 NEXT T:NEXT TT
  3812. 1120 GOTO 6000
  3813. 2000 '
  3814. 2010 DIM RW(16,16)
  3815. 2015 OPEN"road08.16x" FOR INPUT AS 1
  3816. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3817. 2030 INPUT #1,R:PSET(T,TT),R
  3818. 2040 NEXT T:NEXT TT
  3819. 2045 CLOSE 1
  3820. 2050 GET(1,1)-(16,16),RW
  3821. 2051 CLS
  3822. 2110 DIM RN(16,16)
  3823. 2115 OPEN"road08.16x" FOR INPUT AS 1
  3824. 2120 FOR T=1 TO 16:FOR TT=1 TO 16
  3825. 2130 INPUT #1,R:PSET(T,TT),R
  3826. 2140 NEXT TT:NEXT T
  3827. 2145 CLOSE 1
  3828. 2150 GET(1,1)-(16,16),RN
  3829. 2151 CLS
  3830. 2210 DIM RE(16,16)
  3831. 2215 OPEN"road08.16x" FOR INPUT AS 1
  3832. 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
  3833. 2230 INPUT #1,R:PSET(T,TT),R
  3834. 2240 NEXT T:NEXT TT
  3835. 2245 CLOSE 1
  3836. 2250 GET(1,1)-(16,16),RE
  3837. 2251 CLS
  3838. 2310 DIM RS(16,16)
  3839. 2315 OPEN"road08.16x" FOR INPUT AS 1
  3840. 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
  3841. 2330 INPUT #1,R:PSET(T,TT),R
  3842. 2340 NEXT TT:NEXT T
  3843. 2345 CLOSE 1
  3844. 2350 GET(1,1)-(16,16),RS
  3845. 2351 CLS
  3846. 3915 OPEN"map030.mem" FOR INPUT AS 1
  3847. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  3848. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  3849. 3940 NEXT T:NEXT TT
  3850. 3945 CLOSE 1
  3851. 3951 CLS
  3852. 3999 RETURN
  3853. 5000 '
  3854. 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
  3855. 5010 'LOCATE 1,32:PRINT X;",";Y;
  3856. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  3857. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  3858. 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
  3859. 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
  3860. 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
  3861. 5036 'IF MAP(8,3)<>2 THEN DOORC=0
  3862. 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
  3863. 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
  3864. 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
  3865. 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
  3866. 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
  3867. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  3868. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  3869. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  3870. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  3871. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  3872. 5999 RETURN
  3873. 6000 'Terrein Map
  3874. 6010 PCOPY 2,1
  3875. 6020 FOR TT=1 TO 7:FOR T=1 TO 15
  3876. 6030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
  3877. 6040 NEXT T:NEXT TT
  3878. 6050 LINE(0,0)-(319,199),0,BF
  3879. 6060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
  3880. 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
  3881. 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
  3882. 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
  3883. 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
  3884. 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
  3885. 6080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
  3886. 6109 NEXT T:NEXT TT
  3887. 6110 GOSUB 5000
  3888. 6111 PCOPY 1,0
  3889. 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  3890. 6120 GOTO 100
  3891. 10000 '
  3892. 10010 PCOPY 0,1
  3893. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3894. 10015 ST=5
  3895. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  3896. 10030 LINE(0,0)-(T,199),0,BF
  3897. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  3898. 10040 LINE(0,0)-(319,TT),0,BF
  3899. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  3900. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3901. 10047 LINE(240,0)-(319,199),0,BF
  3902. 10050 PCOPY 1,0
  3903. 10060 NEXT T
  3904. 10061 PSET(120,56),0
  3905. 10062 PCOPY 1,0
  3906. 10070 '
  3907. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  3908. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  3909. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  3910. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  3911. 20000 '
  3912. 20010 PCOPY 0,1:PCOPY 0,3
  3913. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  3914. 20015 ST=5
  3915. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  3916. 20030 LINE(0,0)-(T,112),0,BF
  3917. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  3918. 20040 LINE(0,0)-(319,TT),0,BF
  3919. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  3920. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3921. 20047 'LINE(240,0)-(319,199),0,BF
  3922. 20050 PCOPY 1,0
  3923. 20060 NEXT T
  3924. 20061 'PSET(120,56),0
  3925. 20062 LOCATE 24,17:PRINT"(Pause)";
  3926. 20070 PCOPY 1,0
  3927. 20080 C$=INPUT$(1)
  3928. 20098 GOTO 30000
  3929. 30000 '
  3930. 30010 PCOPY 3,1
  3931. 30015 ST=5:TT=36
  3932. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  3933. 30025 PCOPY 3,1
  3934. 30030 LINE(0,0)-(T,112),0,BF
  3935. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  3936. 30040 LINE(0,0)-(319,TT),0,BF
  3937. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  3938. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  3939. 30047 'LINE(240,0)-(319,199),0,BF
  3940. 30050 PCOPY 1,0
  3941. 30060 NEXT T
  3942. 30070 PCOPY 1,0
  3943. 30098 C$=" ":GOTO 190
  3944. 
  3945. miscdun/DUN040.BAS
  3946. 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
  3947. 15 XD=16:YD=16:XS=15:YS=7:MX=8:MY=4
  3948. 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(XS,YS)
  3949. 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
  3950. 105 IF C$=CHR$(27) THEN 10000
  3951. 106 IF C$=CHR$(13) THEN 10000
  3952. 107 IF C$="p" OR C$="P" THEN 20000
  3953. 108 XX=X:YY=Y
  3954. 110 IF INSTR("123",C$)>0 THEN Y=Y+1
  3955. 120 IF INSTR("789",C$)>0 THEN Y=Y-1
  3956. 130 IF INSTR("369",C$)>0 THEN X=X+1
  3957. 140 IF INSTR("147",C$)>0 THEN X=X-1
  3958. 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
  3959. 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
  3960. 190 '
  3961. 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
  3962. 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
  3963. 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
  3964. 1000 'Road Map
  3965. 1010 PCOPY 3,1
  3966. 1020 CW=0:CV=0:FOR TT=1 TO YS:FOR T=1 TO XS
  3967. 1030 MAP(T,TT)=POINT(X+(T-MX),Y+(TT-MY)):IF MAP(T,TT)>0 THEN CV=CV+1
  3968. 1040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6000
  3969. 1050 LINE(0,0)-(319,199),0,BF
  3970. 1060 FOR TT=1 TO YS:FOR T=1 TO XS:M=MAP(T,TT)
  3971. 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*xd,(TT-1)*yd),GA
  3972. 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RW,OR
  3973. 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RE,OR
  3974. 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RN,OR
  3975. 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RS,OR
  3976. 1080 'IF M=0 THEN LINE((T-1)*xd,(TT-1)*yd)-((T*xd)-1,(TT*yd)-1),2,BF
  3977. 1109 NEXT T:NEXT TT
  3978. 1120 GOTO 6000
  3979. 2000 '
  3980. 2010 DIM RW(16,16)
  3981. 2015 OPEN"road08.16x" FOR INPUT AS 1
  3982. 2020 FOR TT=1 TO 16:FOR T=1 TO 16
  3983. 2030 INPUT #1,R:PSET(T,TT),R
  3984. 2040 NEXT T:NEXT TT
  3985. 2045 CLOSE 1
  3986. 2050 GET(1,1)-(16,16),RW
  3987. 2051 CLS
  3988. 2110 DIM RN(16,16)
  3989. 2115 OPEN"road08.16x" FOR INPUT AS 1
  3990. 2120 FOR T=1 TO 16:FOR TT=1 TO 16
  3991. 2130 INPUT #1,R:PSET(T,TT),R
  3992. 2140 NEXT TT:NEXT T
  3993. 2145 CLOSE 1
  3994. 2150 GET(1,1)-(16,16),RN
  3995. 2151 CLS
  3996. 2210 DIM RE(16,16)
  3997. 2215 OPEN"road08.16x" FOR INPUT AS 1
  3998. 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
  3999. 2230 INPUT #1,R:PSET(T,TT),R
  4000. 2240 NEXT T:NEXT TT
  4001. 2245 CLOSE 1
  4002. 2250 GET(1,1)-(16,16),RE
  4003. 2251 CLS
  4004. 2310 DIM RS(16,16)
  4005. 2315 OPEN"road08.16x" FOR INPUT AS 1
  4006. 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
  4007. 2330 INPUT #1,R:PSET(T,TT),R
  4008. 2340 NEXT TT:NEXT T
  4009. 2345 CLOSE 1
  4010. 2350 GET(1,1)-(16,16),RS
  4011. 2351 CLS
  4012. 3810 'Terrein map
  4013. 3815 OPEN"map030.Tmm" FOR INPUT AS 1
  4014. 3820 FOR TT=1 TO 32:FOR T=1 TO 64
  4015. 3830 INPUT #1,R:PSET(T-1,TT-1),R
  4016. 3840 NEXT T:NEXT TT
  4017. 3845 CLOSE 1:PCOPY 1,2
  4018. 3851 CLS
  4019. 3910 'Road map
  4020. 3915 OPEN"map030.Rmm" FOR INPUT AS 1
  4021. 3920 FOR TT=1 TO 32:FOR T=1 TO 64
  4022. 3930 INPUT #1,R:PSET(T-1,TT-1),R
  4023. 3940 NEXT T:NEXT TT
  4024. 3945 CLOSE 1:PCOPY 1,3
  4025. 3951 CLS
  4026. 3999 RETURN
  4027. 5000 '
  4028. 5001 'IF (MAP(mx,my)=>1 AND MAP(mx,my)<=2) OR MAP(mx,my)=-1 OR MAP(mx,my)=4 OR MAP(mx,my)=>7 THEN X=XX:Y=YY:RETURN 1010
  4029. 5010 'LOCATE 1,32:PRINT X;",";Y;
  4030. 5011 'LOCATE 2,32:PRINT MAP(8,4);
  4031. 5012 'LOCATE 3,32:PRINT INT(DOORC);
  4032. 5020 'LINE((mx-1)*xd,(my-1)*yd)-(mx*xd,my*yd),15,B
  4033. 5030 LINE((1-1)*XD,(1-1)*YD)-(15*XD,7*YD),15,B
  4034. 5035 'IF MAP(mx,my-1)=2 AND DOORC=0 THEN DOORC=TIMER
  4035. 5036 'IF MAP(mx,my-1)<>2 THEN DOORC=0
  4036. 5040 'IF MAP(mx,my)=0 AND (GC=1 OR GC=3) THEN PUT((mx-1)*xd,(my-1)*yd),GR,OR
  4037. 5041 'IF MAP(mx,my)=0 AND GC=2 THEN PUT((mx-1)*xd,(my-1)*yd),GS,OR
  4038. 5042 'IF MAP(mx,my)=0 AND GC=4 THEN PUT((mx-1)*xd,(my-1)*yd),GT,OR
  4039. 5043 'IF (MAP(mx,my-1)=15 OR MAP(xd,yd+1=15) AND DOORC=0 THEN DOORC=TIMER
  4040. 5044 'IF (MAP(mx,my-1)<>15 AND MAP(xd,yd+1)<>15) THEN DOORC=0
  4041. 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
  4042. 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
  4043. 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
  4044. 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
  4045. 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
  4046. 5999 RETURN
  4047. 6000 'Terrein Map
  4048. 6010 PCOPY 2,1
  4049. 6020 CV=0:FOR TT=1 TO YS:FOR T=1 TO XS
  4050. 6030 MAP(T,TT)=POINT(X+(T-MX),Y+(TT-MY)):IF MAP(T,TT)>0 THEN CV=CV+1
  4051. 6040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6110
  4052. 6050 LINE(0,0)-(319,199),0,BF
  4053. 6060 FOR TT=1 TO YS:FOR T=1 TO XS:M=MAP(T,TT)
  4054. 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*xd,(TT-1)*yd),GA
  4055. 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RW,OR
  4056. 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RE,OR
  4057. 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RN,OR
  4058. 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RS,OR
  4059. 6080 'IF M=0 THEN LINE((T-1)*xd,(TT-1)*yd)-((T*xd)-1,(TT*yd)-1),2,BF
  4060. 6109 NEXT T:NEXT TT
  4061. 6110 IF CW=2 THEN LINE(0,0)-(319,199),0,BF:LOCATE 18,1:COLOR 5:PRINT"outer space";:COLOR 15
  4062. 6111 GOSUB 5000
  4063. 6112 PCOPY 1,0
  4064. 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
  4065. 6120 GOTO 100
  4066. 10000 '
  4067. 10010 PCOPY 0,1
  4068. 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
  4069. 10015 ST=5
  4070. 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
  4071. 10030 LINE(0,0)-(T,199),0,BF
  4072. 10035 LINE(120+(120-T),0)-(240,199),0,BF
  4073. 10040 LINE(0,0)-(319,TT),0,BF
  4074. 10045 LINE(0,56+(56-TT))-(319,112),0,BF
  4075. 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  4076. 10047 LINE(240,0)-(319,199),0,BF
  4077. 10050 PCOPY 1,0
  4078. 10060 NEXT T
  4079. 10061 PSET(120,56),0
  4080. 10062 PCOPY 1,0
  4081. 10070 '
  4082. 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
  4083. 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
  4084. 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
  4085. 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
  4086. 20000 '
  4087. 20010 PCOPY 0,1:PCOPY 0,3
  4088. 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
  4089. 20015 ST=5
  4090. 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
  4091. 20030 LINE(0,0)-(T,112),0,BF
  4092. 20035 LINE(120+(120-T),0)-(240,112),0,BF
  4093. 20040 LINE(0,0)-(319,TT),0,BF
  4094. 20045 LINE(0,56+(56-TT))-(319,112),0,BF
  4095. 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  4096. 20047 'LINE(240,0)-(319,199),0,BF
  4097. 20050 PCOPY 1,0
  4098. 20060 NEXT T
  4099. 20061 'PSET(120,56),0
  4100. 20062 LOCATE 24,17:PRINT"(Pause)";
  4101. 20070 PCOPY 1,0
  4102. 20080 C$=INPUT$(1)
  4103. 20098 GOTO 30000
  4104. 30000 '
  4105. 30010 PCOPY 3,1
  4106. 30015 ST=5:TT=36
  4107. 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
  4108. 30025 PCOPY 3,1
  4109. 30030 LINE(0,0)-(T,112),0,BF
  4110. 30035 LINE(120+(120-T),0)-(240,112),0,BF
  4111. 30040 LINE(0,0)-(319,TT),0,BF
  4112. 30045 LINE(0,56+(56-TT))-(319,112),0,BF
  4113. 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
  4114. 30047 'LINE(240,0)-(319,199),0,BF
  4115. 30050 PCOPY 1,0
  4116. 30060 NEXT T
  4117. 30070 PCOPY 1,0
  4118. 30098 C$=" ":GOTO 190
  4119. 
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement