Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CFG[array{[string(8) "swap.GFX"] => string(561) "(IF)\s([A-Z]+|[0-9]+)\(([A-Z]+|[0-9]+)(|((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+)),([A-Z]+|[0-9]+)(|((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+))\)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+)(\s|(AND|OR|XOR|NOT)\s([A-Z]+|[0-9]+)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+))\s(THEN|ELSE)\s(PUT|GET)\s\(\(([A-Z]+|[0-9]+)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+)\)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+),\(([A-Z]+|[0-9]+)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+)\)((=|<>|<=|>=|<|>)|(\+|\-|\*|\/))([A-Z]+|[0-9]+)\),([A-Z]+|[0-9]+)",[string(14) "swap.SIMPLEPUT"] => string(87) "([0-9]{4}) IF MAP\(T,TT\)=((|\-)[0-9]+) THEN PUT\(\(T\-1\)\*16,\(TT\-1\)\*16\),([A-Z]+)",[string(13) "swap.QUICKMAP"] => string(21) "([0-9]{4}) IF MAP(.*)"}]
- miscdun/DUN001.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=1:Y=1
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 50 C$=" ":GOTO 105
- 100 C$=INPUT$(1):XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 106 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1045 IF POINT(X,Y)<>0 THEN X=XX:Y=YY:GOTO 1010
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=0 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1070 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1080 IF MAP(T,TT)=2 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1090 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1100 NEXT T:NEXT TT
- 1105 LOCATE 20,1:PRINT X;",";Y;
- 1108 GOSUB 5000
- 1111 PCOPY 1,0
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 READ R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 READ R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 READ R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 READ R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GR(16,16)
- 2415 OPEN"dereck1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GR
- 2451 CLS
- 2515 OPEN"map001.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2551 CLS
- 2999 RETURN
- 3000 'GA
- 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
- 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
- 3100 'Gb
- 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
- 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
- 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
- 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
- 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
- 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
- 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3200 'Gc
- 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
- 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
- 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3300 'Gd
- 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
- 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
- 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
- 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
- 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
- 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
- 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
- 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
- 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
- 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
- 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
- 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
- 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 5000 '
- 5010 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5020 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5030 PUT((8-1)*16,(4-1)*16),GR,OR
- 5040 PCOPY 1,0
- 5050 RETURN
- miscdun/DUN002.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INPUT$(1):XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1100 NEXT T:NEXT TT
- 1102 GOSUB 5000
- 1111 PCOPY 1,0
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 READ R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 READ R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 READ R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 READ R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GR(16,16)
- 2415 OPEN"dereck1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GR
- 2451 CLS
- 2515 OPEN"map001.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 32:FOR T=1 TO 64
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2551 CLS
- 2999 RETURN
- 3000 'GA
- 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
- 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
- 3100 'Gb
- 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
- 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
- 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
- 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
- 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
- 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
- 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3200 'Gc
- 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
- 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
- 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3300 'Gd
- 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
- 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
- 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
- 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
- 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
- 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
- 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
- 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
- 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
- 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
- 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
- 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
- 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 5000 '
- 5001 IF MAP(8,4)<>0 THEN X=XX:Y=YY:RETURN 1010
- 5010 LOCATE 20,1:PRINT X;",";Y;
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5040 PUT((8-1)*16,(4-1)*16),GR,OR
- 5999 RETURN
- miscdun/DUN003.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INPUT$(1):XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 1000 '
- 1005 GS=1-GS
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1100 NEXT T:NEXT TT
- 1102 GOSUB 5000
- 1111 PCOPY 1,0
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick02.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"flame01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"flame02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"switch01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GR(16,16)
- 2415 OPEN"dereck1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GR
- 2451 CLS
- 2515 OPEN"map001.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 32:FOR T=1 TO 64
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2551 CLS
- 2999 RETURN
- 3000 'GA
- 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
- 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
- 3100 'Gb
- 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
- 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
- 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
- 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
- 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
- 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
- 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3200 'Gc
- 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
- 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
- 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3300 'Gd
- 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
- 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
- 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
- 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
- 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
- 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
- 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
- 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
- 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
- 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
- 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
- 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
- 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 5000 '
- 5001 IF MAP(8,4)<>0 THEN X=XX:Y=YY:RETURN 1010
- 5010 LOCATE 20,1:PRINT X;",";Y;
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5040 PUT((8-1)*16,(4-1)*16),GR,OR
- 5999 RETURN
- miscdun/DUN004.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1095 IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
- 1100 NEXT T:NEXT TT
- 1102 GOSUB 5000
- 1111 PCOPY 1,0
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick03.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"flame01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"flame02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"switch01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GR(16,16)
- 2415 OPEN"dereck1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GR
- 2451 CLS
- 2515 OPEN"map001.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 32:FOR T=1 TO 64
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2551 CLS
- 2999 RETURN
- 3000 'GA
- 3001 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3002 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3003 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3004 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3005 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3006 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3007 DATA 04,04,04,04,04,04,04,07,04,04,04,04,04,04,04,04
- 3008 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
- 3009 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3010 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3011 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3012 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3013 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3014 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3015 DATA 04,04,04,04,04,04,04,04,04,04,04,04,04,04,04,07
- 3016 DATA 07,07,07,07,07,07,07,07,07,07,07,07,07,07,07,07
- 3100 'Gb
- 3101 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3102 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
- 3103 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
- 3104 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
- 3105 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3106 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3107 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3108 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3109 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3110 DATA 00,08,00,00,00,00,00,00,00,00,00,00,00,00,08,00
- 3111 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3112 DATA 00,00,08,00,00,00,00,00,00,00,00,00,00,08,00,00
- 3113 DATA 00,00,00,08,00,00,00,00,00,00,00,00,08,00,00,00
- 3114 DATA 00,00,00,00,08,08,00,00,00,00,08,08,00,00,00,00
- 3115 DATA 00,00,00,00,00,00,08,08,08,08,00,00,00,00,00,00
- 3116 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3200 'Gc
- 3201 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3202 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
- 3203 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3204 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3205 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3206 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3207 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3208 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3209 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3210 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3211 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3212 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3213 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3214 DATA 00,06,00,00,00,00,00,00,00,00,00,00,00,00,06,00
- 3215 DATA 00,06,06,06,06,06,06,06,06,06,06,06,06,06,06,00
- 3216 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3300 'Gd
- 3301 DATA 00,07,07,00,00,00,00,00,00,07,07,00,00,00,00,00
- 3302 DATA 07,08,08,08,00,00,00,00,07,08,08,08,00,00,00,00
- 3303 DATA 00,08,08,00,00,00,00,00,00,08,08,00,00,00,00,00
- 3304 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3305 DATA 00,00,00,07,07,00,00,00,00,00,00,07,07,00,00,00
- 3306 DATA 00,00,07,08,08,08,00,00,00,00,07,08,08,08,00,00
- 3307 DATA 00,00,00,08,08,00,00,00,00,00,00,08,08,00,00,00
- 3308 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3309 DATA 00,00,00,00,00,07,07,00,00,00,00,00,00,07,07,00
- 3310 DATA 00,00,00,00,07,08,08,08,00,00,00,00,07,08,08,08
- 3311 DATA 00,00,00,00,00,08,08,00,00,00,00,00,00,08,08,00
- 3312 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 3313 DATA 07,00,00,00,00,00,00,07,07,00,00,00,00,00,00,07
- 3314 DATA 08,08,00,00,00,00,07,08,08,08,00,00,00,00,07,08
- 3315 DATA 08,00,00,00,00,00,00,08,08,00,00,00,00,00,00,08
- 3316 DATA 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
- 5000 '
- 5001 IF MAP(8,4)<>0 THEN X=XX:Y=YY:RETURN 1010
- 5010 LOCATE 20,1:PRINT X;",";Y;
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5040 PUT((8-1)*16,(4-1)*16),GR,OR
- 5999 RETURN
- miscdun/DUN005.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=3:Y=3
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
- 1100 NEXT T:NEXT TT
- 1102 GOSUB 5000
- 1111 PCOPY 1,0
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick03.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"flame01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"flame02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"switch01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GR(16,16)
- 2415 OPEN"dereck1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GR
- 2451 CLS
- 2515 OPEN"map001.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 32:FOR T=1 TO 64
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2551 CLS
- 2999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 20,1:PRINT X;",";Y;
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5040 PUT((8-1)*16,(4-1)*16),GR,OR
- 5999 RETURN
- miscdun/DUN006.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
- 1100 NEXT T:NEXT TT
- 1102 GOSUB 5000
- 1111 PCOPY 1,0
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick03.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"flame01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"flame02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"skull01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GR(16,16)
- 2415 OPEN"dereck1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GR
- 2451 CLS
- 2515 OPEN"map002.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 32:FOR T=1 TO 64
- 2530 INPUT #1,R:PSET(T-1,TT-1),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2551 CLS
- 2999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 20,1:PRINT X;",";Y;
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5040 PUT((8-1)*16,(4-1)*16),GR,OR
- 5999 RETURN
- miscdun/DUN007.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
- 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
- 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
- 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
- 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
- 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
- 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick03.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"flame01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"flame02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"skull01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GE(16,16)
- 2415 OPEN"caveman1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GE
- 2451 CLS
- 2510 DIM GR(16,16)
- 2515 OPEN"dereck1.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GR
- 2551 CLS
- 2610 DIM GS(16,16)
- 2615 OPEN"dereck2.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GS
- 2651 CLS
- 2710 DIM GT(16,16)
- 2715 OPEN"dereck3.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GT
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"caveman2.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GI(16,16)
- 2915 OPEN"guard1.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GI
- 2951 CLS
- 3010 DIM GJ(16,16)
- 3015 OPEN"guard2.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GJ
- 3051 CLS
- 3110 DIM GK(16,16)
- 3115 OPEN"guard3.mem" FOR INPUT AS 1
- 3120 FOR TT=1 TO 16:FOR T=1 TO 16
- 3130 INPUT #1,R:PSET(T,TT),R
- 3140 NEXT T:NEXT TT
- 3145 CLOSE 1
- 3150 GET(1,1)-(16,16),GK
- 3151 CLS
- 3210 DIM GL(16,16)
- 3215 OPEN"door03.mem" FOR INPUT AS 1
- 3220 FOR TT=1 TO 16:FOR T=1 TO 16
- 3230 INPUT #1,R:PSET(T,TT),R
- 3240 NEXT T:NEXT TT
- 3245 CLOSE 1
- 3250 GET(1,1)-(16,16),GL
- 3251 CLS
- 3310 DIM GM(16,16)
- 3315 OPEN"door04.mem" FOR INPUT AS 1
- 3320 FOR TT=1 TO 16:FOR T=1 TO 16
- 3330 INPUT #1,R:PSET(T,TT),R
- 3340 NEXT T:NEXT TT
- 3345 CLOSE 1
- 3350 GET(1,1)-(16,16),GM
- 3351 CLS
- 3915 OPEN"map003.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(8,3)<>2 THEN DOORC=0
- 5040 IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5
- 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
- 20030 LINE(0,0)-(T,112),0,BF
- 20035 LINE(120+(120-T),0)-(240,112),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,56+(56-TT))-(319,112),0,BF
- 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT T
- 20061 'PSET(120,56),0
- 20062 LOCATE 24,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
- miscdun/DUN010.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=8:Y=1
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=3) THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>3) THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
- 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
- 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
- 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
- 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
- 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick04.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"door01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"door02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"tile01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GE(16,16)
- 2415 OPEN"caveman1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GE
- 2451 CLS
- 2510 DIM GR(16,16)
- 2515 OPEN"phillip1.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GR
- 2551 CLS
- 2610 DIM GS(16,16)
- 2615 OPEN"phillip2.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GS
- 2651 CLS
- 2710 DIM GT(16,16)
- 2715 OPEN"phillip3.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GT
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"caveman2.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GG(16,16)
- 2915 OPEN"window01.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GG
- 2951 CLS
- 3010 DIM GH(16,16)
- 3015 OPEN"well01.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GH
- 3051 CLS
- 3110 DIM GI(16,16)
- 3115 OPEN"woman01.mem" FOR INPUT AS 1
- 3120 FOR TT=1 TO 16:FOR T=1 TO 16
- 3130 INPUT #1,R:PSET(T,TT),R
- 3140 NEXT T:NEXT TT
- 3145 CLOSE 1
- 3150 GET(1,1)-(16,16),GI
- 3151 CLS
- 3210 DIM GJ(16,16)
- 3215 OPEN"woman02.mem" FOR INPUT AS 1
- 3220 FOR TT=1 TO 16:FOR T=1 TO 16
- 3230 INPUT #1,R:PSET(T,TT),R
- 3240 NEXT T:NEXT TT
- 3245 CLOSE 1
- 3250 GET(1,1)-(16,16),GJ
- 3251 CLS
- 3310 DIM GK(16,16)
- 3315 OPEN"woman03.mem" FOR INPUT AS 1
- 3320 FOR TT=1 TO 16:FOR T=1 TO 16
- 3330 INPUT #1,R:PSET(T,TT),R
- 3340 NEXT T:NEXT TT
- 3345 CLOSE 1
- 3350 GET(1,1)-(16,16),GK
- 3351 CLS
- 3915 OPEN"map004.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 5001 IF (MAP(8,4)<>0) THEN X=XX:Y=YY:RETURN 1010
- 5010 'LOCATE 20,1:PRINT X;",";Y;
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 IF MAP(8,3)<>2 THEN DOORC=0
- 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 IF X=2 AND Y=7 THEN LOCATE 18,1:PRINT"Woman: This is the dart shop."
- 5044 IF X=7 AND Y=4 THEN LOCATE 18,1:PRINT"Man: Welcome to Mortstown."
- 5045 IF X=10 AND Y=6 THEN LOCATE 18,1:PRINT"Man: Water from these wells is free!"
- 5046 IF X=18 AND Y=8 THEN LOCATE 18,1:PRINT"Woman: The general store's owner is missing."
- 5047 IF X=9 AND Y=14 THEN LOCATE 18,1:PRINT"Man: The blacksmith lives on the other side of the river."
- 5048 IF X=4 AND Y=19 THEN LOCATE 18,1:PRINT"Man: Mort, the tavern keeper, enjoys meeting new faces."
- 5049 IF X=8 AND Y=8 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
- 5050 IF X=12 AND Y=16 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
- 5051 IF X=16 AND Y=9 THEN LOCATE 18,1:PRINT"Lady: Welcome to Mortstown."
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=5 AND Y=5 THEN CHAIN"town.bas"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- miscdun/DUN011.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=29:Y=14
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=5) THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>5) THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
- 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
- 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
- 1100 NEXT T:NEXT TT
- 1102 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick04.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"door01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"door02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"tile01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GE(16,16)
- 2415 OPEN"caveman1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GE
- 2451 CLS
- 2510 DIM GR(16,16)
- 2515 OPEN"dereck1.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GR
- 2551 CLS
- 2610 DIM GS(16,16)
- 2615 OPEN"dereck2.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GS
- 2651 CLS
- 2710 DIM GT(16,16)
- 2715 OPEN"dereck3.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GT
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"caveman2.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GG(16,16)
- 2915 OPEN"window01.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GG
- 2951 CLS
- 3010 DIM GH(16,16)
- 3015 OPEN"well01.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GH
- 3051 CLS
- 3915 OPEN"map005.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 5001 IF (MAP(8,4)<>0) THEN X=XX:Y=YY:RETURN 1010
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 IF MAP(8,5)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 IF MAP(8,5)<>2 THEN DOORC=0
- 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 IF MAP(8,3)=5 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
- 5044 IF MAP(8,3)=7 THEN LOCATE 18,1:PRINT"Woman: Welcome to my bathhouse."
- 5045 IF MAP(8,3)=7 THEN LOCATE 19,1:PRINT"It costs 5 gold pieces to use the water."
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=29 AND Y=15 THEN CHAIN"dungeon.017"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- miscdun/DUN012.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=8:Y=16
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=3) THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>3) THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
- 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
- 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
- 1100 IF MAP(T,TT)=6 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),6,BF
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick04.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"door01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"door02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"tile01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GE(16,16)
- 2415 OPEN"caveman1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GE
- 2451 CLS
- 2510 DIM GR(16,16)
- 2515 OPEN"dereck1.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GR
- 2551 CLS
- 2610 DIM GS(16,16)
- 2615 OPEN"dereck2.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GS
- 2651 CLS
- 2710 DIM GT(16,16)
- 2715 OPEN"dereck3.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GT
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"caveman2.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GG(16,16)
- 2915 OPEN"window01.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GG
- 2951 CLS
- 3010 DIM GH(16,16)
- 3015 OPEN"well01.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GH
- 3051 CLS
- 3915 OPEN"map006.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 5001 IF (MAP(8,4)<>0 AND MAP(8,4)<>6) THEN X=XX:Y=YY:RETURN 1010
- 5010 'LOCATE 20,1:PRINT X;",";Y;
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 IF MAP(8,3)<>2 THEN DOORC=0
- 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5049 IF MAP(8,3)=5 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0:TT=0
- 10070 '
- 10080 IF X=29 AND Y=10 THEN CHAIN"dungeon.011"
- 10081 IF X=0 AND Y=>13 AND Y<=16 THEN CHAIN"dungeon.010"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- miscdun/DUN015.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=12:Y=18
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GO
- 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GO
- 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
- 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GN
- 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
- 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
- 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
- 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
- 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
- 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
- 1105 IF MAP(T,TT)=10 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1106 IF MAP(T,TT)=10 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick03.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"flame01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"flame02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"brick07.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GE(16,16)
- 2415 OPEN"caveman1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GE
- 2451 CLS
- 2510 DIM GR(16,16)
- 2515 OPEN"dereck1.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GR
- 2551 CLS
- 2610 DIM GS(16,16)
- 2615 OPEN"dereck2.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GS
- 2651 CLS
- 2710 DIM GT(16,16)
- 2715 OPEN"dereck3.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GT
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"caveman2.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GI(16,16)
- 2915 OPEN"guard1.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GI
- 2951 CLS
- 3010 DIM GJ(16,16)
- 3015 OPEN"guard2.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GJ
- 3051 CLS
- 3110 DIM GK(16,16)
- 3115 OPEN"guard3.mem" FOR INPUT AS 1
- 3120 FOR TT=1 TO 16:FOR T=1 TO 16
- 3130 INPUT #1,R:PSET(T,TT),R
- 3140 NEXT T:NEXT TT
- 3145 CLOSE 1
- 3150 GET(1,1)-(16,16),GK
- 3151 CLS
- 3210 DIM GL(16,16)
- 3215 OPEN"door03.mem" FOR INPUT AS 1
- 3220 FOR TT=1 TO 16:FOR T=1 TO 16
- 3230 INPUT #1,R:PSET(T,TT),R
- 3240 NEXT T:NEXT TT
- 3245 CLOSE 1
- 3250 GET(1,1)-(16,16),GL
- 3251 CLS
- 3310 DIM GM(16,16)
- 3315 OPEN"door04.mem" FOR INPUT AS 1
- 3320 FOR TT=1 TO 16:FOR T=1 TO 16
- 3330 INPUT #1,R:PSET(T,TT),R
- 3340 NEXT T:NEXT TT
- 3345 CLOSE 1
- 3350 GET(1,1)-(16,16),GM
- 3351 CLS
- 3410 DIM GN(16,16)
- 3415 OPEN"water01.mem" FOR INPUT AS 1
- 3420 FOR TT=1 TO 16:FOR T=1 TO 16
- 3430 INPUT #1,R:PSET(T,TT),R
- 3440 NEXT T:NEXT TT
- 3445 CLOSE 1
- 3450 GET(1,1)-(16,16),GN
- 3451 CLS
- 3510 DIM GO(16,16)
- 3515 OPEN"rock01.mem" FOR INPUT AS 1
- 3520 FOR TT=1 TO 16:FOR T=1 TO 16
- 3530 INPUT #1,R:PSET(T,TT),R
- 3540 NEXT T:NEXT TT
- 3545 CLOSE 1
- 3550 GET(1,1)-(16,16),GO
- 3551 CLS
- 3915 OPEN"map008.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=1 AND Y=0 THEN 'CHAIN"town.bas"
- 10081 IF X=>12 AND X<=13 AND Y=17 THEN CHAIN"dungeon.016"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- miscdun/DUN016.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=58:Y=29
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
- 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
- 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
- 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
- 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
- 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
- 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick03.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"flame01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"flame02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"skull01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GE(16,16)
- 2415 OPEN"caveman1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GE
- 2451 CLS
- 2510 DIM GR(16,16)
- 2515 OPEN"dereck1.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GR
- 2551 CLS
- 2610 DIM GS(16,16)
- 2615 OPEN"dereck2.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GS
- 2651 CLS
- 2710 DIM GT(16,16)
- 2715 OPEN"dereck3.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GT
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"caveman2.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GI(16,16)
- 2915 OPEN"guard1.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GI
- 2951 CLS
- 3010 DIM GJ(16,16)
- 3015 OPEN"guard2.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GJ
- 3051 CLS
- 3110 DIM GK(16,16)
- 3115 OPEN"guard3.mem" FOR INPUT AS 1
- 3120 FOR TT=1 TO 16:FOR T=1 TO 16
- 3130 INPUT #1,R:PSET(T,TT),R
- 3140 NEXT T:NEXT TT
- 3145 CLOSE 1
- 3150 GET(1,1)-(16,16),GK
- 3151 CLS
- 3210 DIM GL(16,16)
- 3215 OPEN"door03.mem" FOR INPUT AS 1
- 3220 FOR TT=1 TO 16:FOR T=1 TO 16
- 3230 INPUT #1,R:PSET(T,TT),R
- 3240 NEXT T:NEXT TT
- 3245 CLOSE 1
- 3250 GET(1,1)-(16,16),GL
- 3251 CLS
- 3310 DIM GM(16,16)
- 3315 OPEN"door04.mem" FOR INPUT AS 1
- 3320 FOR TT=1 TO 16:FOR T=1 TO 16
- 3330 INPUT #1,R:PSET(T,TT),R
- 3340 NEXT T:NEXT TT
- 3345 CLOSE 1
- 3350 GET(1,1)-(16,16),GM
- 3351 CLS
- 3915 OPEN"map003.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- miscdun/DUN017.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=29:Y=11
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND (T=8 AND TT=3) THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND (T<>8 OR TT<>3) THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GG
- 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GH
- 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
- 1100 IF MAP(T,TT)=6 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),6,BF
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick04.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"door01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"door02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"tile01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GE(16,16)
- 2415 OPEN"caveman1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GE
- 2451 CLS
- 2510 DIM GR(16,16)
- 2515 OPEN"dereck1.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GR
- 2551 CLS
- 2610 DIM GS(16,16)
- 2615 OPEN"dereck2.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GS
- 2651 CLS
- 2710 DIM GT(16,16)
- 2715 OPEN"dereck3.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GT
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"caveman2.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GG(16,16)
- 2915 OPEN"window01.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GG
- 2951 CLS
- 3010 DIM GH(16,16)
- 3015 OPEN"well01.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GH
- 3051 CLS
- 3915 OPEN"map006.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 5001 IF (MAP(8,4)<>0 AND MAP(8,4)<>6) THEN X=XX:Y=YY:RETURN 1010
- 5010 'LOCATE 20,1:PRINT X;",";Y;
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 IF MAP(8,3)<>2 THEN DOORC=0
- 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5049 IF MAP(8,3)=5 THEN LOCATE 18,1:PRINT"The water is very refreshing!"
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0:TT=0
- 10070 '
- 10080 IF X=29 AND Y=10 THEN CHAIN"dungeon.011"
- 10081 IF X=0 AND Y=>13 AND Y<=16 THEN CHAIN"dungeon.010"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- miscdun/DUN018.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=22:Y=15
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 'IF TIMER-START>1 THEN START=TIMER:GS=1-GS:'doors
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1:'dereck
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY:'people
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=1 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=1 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=2 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1090 IF MAP(T,TT)=2 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1096 IF MAP(T,TT)=3 AND (GC=1 OR GC=3) THEN PUT((T-1)*16,(TT-1)*16),GF
- 1097 IF MAP(T,TT)=3 AND GC=2 THEN PUT((T-1)*16,(TT-1)*16),GG
- 1098 IF MAP(T,TT)=3 AND GC=4 THEN PUT((T-1)*16,(TT-1)*16),GH
- 1099 IF MAP(T,TT)=4 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
- 1100 IF MAP(T,TT)=4 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
- 1101 IF MAP(T,TT)=4 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
- 1102 IF MAP(T,TT)=5 AND (GC=1 OR GC=3) THEN PUT((T-1)*16,(TT-1)*16),GL
- 1103 IF MAP(T,TT)=5 AND GC=4 THEN PUT((T-1)*16,(TT-1)*16),GM
- 1104 IF MAP(T,TT)=5 AND GC=2 THEN PUT((T-1)*16,(TT-1)*16),GN
- 1105 IF MAP(T,TT)=6 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GR
- 1106 IF MAP(T,TT)=6 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GS
- 1107 IF MAP(T,TT)=6 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GT
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF TIMER-DOORC=>2 AND DOORC<>0 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GR(16,16)
- 2015 OPEN"phillip1.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GR
- 2051 CLS
- 2110 DIM GS(16,16)
- 2115 OPEN"phillip2.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GS
- 2151 CLS
- 2210 DIM GT(16,16)
- 2215 OPEN"phillip3.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GT
- 2251 CLS
- 2310 DIM GA(16,16)
- 2315 OPEN"guard1.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GA
- 2351 CLS
- 2410 DIM GB(16,16)
- 2415 OPEN"guard2.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GB
- 2451 CLS
- 2510 DIM GC(16,16)
- 2515 OPEN"guard3.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GC
- 2551 CLS
- 2610 DIM GD(16,16)
- 2615 OPEN"caveman1.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GD
- 2651 CLS
- 2710 DIM GE(16,16)
- 2715 OPEN"caveman2.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GE
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"woman01.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GG(16,16)
- 2915 OPEN"woman02.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GG
- 2951 CLS
- 3010 DIM GH(16,16)
- 3015 OPEN"woman03.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GH
- 3051 CLS
- 3110 DIM GI(16,16)
- 3115 OPEN"pndex1.mem" FOR INPUT AS 1
- 3120 FOR TT=1 TO 16:FOR T=1 TO 16
- 3130 INPUT #1,R:PSET(T,TT),R
- 3140 NEXT T:NEXT TT
- 3145 CLOSE 1
- 3150 GET(1,1)-(16,16),GI
- 3151 CLS
- 3210 DIM GJ(16,16)
- 3215 OPEN"pndex2.mem" FOR INPUT AS 1
- 3220 FOR TT=1 TO 16:FOR T=1 TO 16
- 3230 INPUT #1,R:PSET(T,TT),R
- 3240 NEXT T:NEXT TT
- 3245 CLOSE 1
- 3250 GET(1,1)-(16,16),GJ
- 3251 CLS
- 3310 DIM GK(16,16)
- 3315 OPEN"pndex3.mem" FOR INPUT AS 1
- 3320 FOR TT=1 TO 16:FOR T=1 TO 16
- 3330 INPUT #1,R:PSET(T,TT),R
- 3340 NEXT T:NEXT TT
- 3345 CLOSE 1
- 3350 GET(1,1)-(16,16),GK
- 3351 CLS
- 3410 DIM GL(16,16)
- 3415 OPEN"dereck1.mem" FOR INPUT AS 1
- 3420 FOR TT=1 TO 16:FOR T=1 TO 16
- 3430 INPUT #1,R:PSET(T,TT),R
- 3440 NEXT T:NEXT TT
- 3445 CLOSE 1
- 3450 GET(1,1)-(16,16),GL
- 3451 CLS
- 3510 DIM GM(16,16)
- 3515 OPEN"dereck2.mem" FOR INPUT AS 1
- 3520 FOR TT=1 TO 16:FOR T=1 TO 16
- 3530 INPUT #1,R:PSET(T,TT),R
- 3540 NEXT T:NEXT TT
- 3545 CLOSE 1
- 3550 GET(1,1)-(16,16),GM
- 3551 CLS
- 3610 DIM GN(16,16)
- 3615 OPEN"dereck3.mem" FOR INPUT AS 1
- 3620 FOR TT=1 TO 16:FOR T=1 TO 16
- 3630 INPUT #1,R:PSET(T,TT),R
- 3640 NEXT T:NEXT TT
- 3645 CLOSE 1
- 3650 GET(1,1)-(16,16),GN
- 3651 CLS
- 3915 OPEN"map009.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 5001 IF (MAP(8,4)<>0) THEN X=XX:Y=YY:RETURN 1010
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(8,3)<>2 THEN DOORC=0
- 5040 IF GC=1 OR GC=3 THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 IF GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 IF GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 LOCATE 18,1:PRINT"Dereck: It's a trap!"
- 5044 LOCATE 19,1:PRINT"Poindexter: Run for your life!!"
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 'IF X=5 AND Y=5 THEN CHAIN"town.bas"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5
- 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
- 20030 LINE(0,0)-(T,112),0,BF
- 20035 LINE(120+(120-T),0)-(240,112),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,56+(56-TT))-(319,112),0,BF
- 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT T
- 20061 PSET(120,56),0
- 20062 LOCATE 24,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
- miscdun/DUN019.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
- 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
- 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
- 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
- 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
- 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
- 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick03.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"flame01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"flame02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"skull01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GE(16,16)
- 2415 OPEN"caveman1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GE
- 2451 CLS
- 2510 DIM GR(16,16)
- 2515 OPEN"dereck1.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GR
- 2551 CLS
- 2610 DIM GS(16,16)
- 2615 OPEN"dereck2.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GS
- 2651 CLS
- 2710 DIM GT(16,16)
- 2715 OPEN"dereck3.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GT
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"caveman2.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GI(16,16)
- 2915 OPEN"guard1.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GI
- 2951 CLS
- 3010 DIM GJ(16,16)
- 3015 OPEN"guard2.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GJ
- 3051 CLS
- 3110 DIM GK(16,16)
- 3115 OPEN"guard3.mem" FOR INPUT AS 1
- 3120 FOR TT=1 TO 16:FOR T=1 TO 16
- 3130 INPUT #1,R:PSET(T,TT),R
- 3140 NEXT T:NEXT TT
- 3145 CLOSE 1
- 3150 GET(1,1)-(16,16),GK
- 3151 CLS
- 3210 DIM GL(16,16)
- 3215 OPEN"door03.mem" FOR INPUT AS 1
- 3220 FOR TT=1 TO 16:FOR T=1 TO 16
- 3230 INPUT #1,R:PSET(T,TT),R
- 3240 NEXT T:NEXT TT
- 3245 CLOSE 1
- 3250 GET(1,1)-(16,16),GL
- 3251 CLS
- 3310 DIM GM(16,16)
- 3315 OPEN"door04.mem" FOR INPUT AS 1
- 3320 FOR TT=1 TO 16:FOR T=1 TO 16
- 3330 INPUT #1,R:PSET(T,TT),R
- 3340 NEXT T:NEXT TT
- 3345 CLOSE 1
- 3350 GET(1,1)-(16,16),GM
- 3351 CLS
- 3915 OPEN"map003.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(8,3)<>2 THEN DOORC=0
- 5040 IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5
- 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
- 20030 LINE(0,0)-(T,112),0,BF
- 20035 LINE(120+(120-T),0)-(240,112),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,56+(56-TT))-(319,112),0,BF
- 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT T
- 20061 'PSET(120,56),0
- 20062 LOCATE 24,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
- miscdun/DUN020.BAS
- 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
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(20,11)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 11:FOR T=1 TO 20
- 1030 MAP(T,TT)=POINT(X+(T-X1),Y+(TT-Y1))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 11:FOR T=1 TO 20
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
- 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
- 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
- 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
- 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
- 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
- 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
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick03.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"flame01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"flame02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"skull01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GE(16,16)
- 2415 OPEN"caveman1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GE
- 2451 CLS
- 2510 DIM GR(16,16)
- 2515 OPEN"dereck1.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GR
- 2551 CLS
- 2610 DIM GS(16,16)
- 2615 OPEN"dereck2.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GS
- 2651 CLS
- 2710 DIM GT(16,16)
- 2715 OPEN"dereck3.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GT
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"caveman2.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GI(16,16)
- 2915 OPEN"guard1.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GI
- 2951 CLS
- 3010 DIM GJ(16,16)
- 3015 OPEN"guard2.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GJ
- 3051 CLS
- 3110 DIM GK(16,16)
- 3115 OPEN"guard3.mem" FOR INPUT AS 1
- 3120 FOR TT=1 TO 16:FOR T=1 TO 16
- 3130 INPUT #1,R:PSET(T,TT),R
- 3140 NEXT T:NEXT TT
- 3145 CLOSE 1
- 3150 GET(1,1)-(16,16),GK
- 3151 CLS
- 3210 DIM GL(16,16)
- 3215 OPEN"door03.mem" FOR INPUT AS 1
- 3220 FOR TT=1 TO 16:FOR T=1 TO 16
- 3230 INPUT #1,R:PSET(T,TT),R
- 3240 NEXT T:NEXT TT
- 3245 CLOSE 1
- 3250 GET(1,1)-(16,16),GL
- 3251 CLS
- 3310 DIM GM(16,16)
- 3315 OPEN"door04.mem" FOR INPUT AS 1
- 3320 FOR TT=1 TO 16:FOR T=1 TO 16
- 3330 INPUT #1,R:PSET(T,TT),R
- 3340 NEXT T:NEXT TT
- 3345 CLOSE 1
- 3350 GET(1,1)-(16,16),GM
- 3351 CLS
- 3915 OPEN"map003.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(x1,y1);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 'LINE((x1-1)*16,(y1-1)*16)-(x1*16,y1*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-((20*16)-1,(11*16)-1),15,B
- 5035 'IF MAP(x1,y1-1)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(x1,y1-1)<>2 THEN DOORC=0
- 5040 IF MAP(X1,Y1)=0 AND (GC=1 OR GC=3) THEN PUT((X1-1)*16,(Y1-1)*16),GR,OR
- 5041 IF MAP(X1,Y1)=0 AND GC=2 THEN PUT((X1-1)*16,(Y1-1)*16),GS,OR
- 5042 IF MAP(X1,Y1)=0 AND GC=4 THEN PUT((X1-1)*16,(Y1-1)*16),GT,OR
- 5043 IF (MAP(X1,Y1-1)=15 OR MAP(X2,Y1+1)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 IF (MAP(X1,Y1-1)<>15 AND MAP(X1,Y1+1)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 24,1:PRINT"You found the exit!"
- 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 23,1:PRINT"Dereck: Let's get out of here."
- 5070 IF X=6 AND Y=18 THEN LOCATE 23,1:PRINT"Man: Some skulls mark secret passages."
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5:S2=1.5
- 20020 FOR TT=0 TO 56 STEP ST:T=T+(S2)*ST
- 20030 LINE(0,0)-(T,175),0,BF
- 20035 LINE(319-T,0)-(319,175),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,175)-(319,175-TT),0,BF
- 20046 LINE(T,TT)-(319-T,175-TT),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT TT
- 20061 'PSET(120,56),0
- 20062 LOCATE 25,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
- miscdun/DUN025.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15
- 1065 IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF MAP(T,TT)=2 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1075 IF MAP(T,TT)=2 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1080 IF MAP(T,TT)=3 AND GS=0 THEN PUT((T-1)*16,(TT-1)*16),GB
- 1085 IF MAP(T,TT)=3 AND GS=1 THEN PUT((T-1)*16,(TT-1)*16),GC
- 1090 IF MAP(T,TT)=4 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1095 'IF MAP(T,TT)>4 THEN LINE((T-1)*16,(TT-1)*16)-(T*16,TT*16),15,B
- 1096 IF MAP(T,TT)=5 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1097 IF MAP(T,TT)=6 THEN PUT((T-1)*16,(TT-1)*16),GD
- 1098 IF MAP(T,TT)=7 AND GY=0 THEN PUT((T-1)*16,(TT-1)*16),GE
- 1099 IF MAP(T,TT)=7 AND GY=1 THEN PUT((T-1)*16,(TT-1)*16),GF
- 1100 IF MAP(T,TT)=8 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GI
- 1101 IF MAP(T,TT)=8 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GJ
- 1102 IF MAP(T,TT)=8 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GK
- 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
- 1104 IF MAP(T,TT)=15 AND (T<>8 OR (TT<>3 AND TT<>5)) THEN PUT((T-1)*16,(TT-1)*16),GM
- 1105 IF MAP(T,TT)=9 AND (GC=2 OR GC=4) THEN PUT((T-1)*16,(TT-1)*16),GN
- 1106 IF MAP(T,TT)=9 AND GC=1 THEN PUT((T-1)*16,(TT-1)*16),GO
- 1107 IF MAP(T,TT)=9 AND GC=3 THEN PUT((T-1)*16,(TT-1)*16),GP
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM GA(16,16)
- 2015 OPEN"brick03.mem" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),GA
- 2051 CLS
- 2110 DIM GB(16,16)
- 2115 OPEN"flame01.mem" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),GB
- 2151 CLS
- 2210 DIM GC(16,16)
- 2215 OPEN"flame02.mem" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),GC
- 2251 CLS
- 2310 DIM GD(16,16)
- 2315 OPEN"skull01.mem" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),GD
- 2351 CLS
- 2410 DIM GE(16,16)
- 2415 OPEN"caveman1.mem" FOR INPUT AS 1
- 2420 FOR TT=1 TO 16:FOR T=1 TO 16
- 2430 INPUT #1,R:PSET(T,TT),R
- 2440 NEXT T:NEXT TT
- 2445 CLOSE 1
- 2450 GET(1,1)-(16,16),GE
- 2451 CLS
- 2510 DIM GR(16,16)
- 2515 OPEN"dereck1.mem" FOR INPUT AS 1
- 2520 FOR TT=1 TO 16:FOR T=1 TO 16
- 2530 INPUT #1,R:PSET(T,TT),R
- 2540 NEXT T:NEXT TT
- 2545 CLOSE 1
- 2550 GET(1,1)-(16,16),GR
- 2551 CLS
- 2610 DIM GS(16,16)
- 2615 OPEN"dereck2.mem" FOR INPUT AS 1
- 2620 FOR TT=1 TO 16:FOR T=1 TO 16
- 2630 INPUT #1,R:PSET(T,TT),R
- 2640 NEXT T:NEXT TT
- 2645 CLOSE 1
- 2650 GET(1,1)-(16,16),GS
- 2651 CLS
- 2710 DIM GT(16,16)
- 2715 OPEN"dereck3.mem" FOR INPUT AS 1
- 2720 FOR TT=1 TO 16:FOR T=1 TO 16
- 2730 INPUT #1,R:PSET(T,TT),R
- 2740 NEXT T:NEXT TT
- 2745 CLOSE 1
- 2750 GET(1,1)-(16,16),GT
- 2751 CLS
- 2810 DIM GF(16,16)
- 2815 OPEN"caveman2.mem" FOR INPUT AS 1
- 2820 FOR TT=1 TO 16:FOR T=1 TO 16
- 2830 INPUT #1,R:PSET(T,TT),R
- 2840 NEXT T:NEXT TT
- 2845 CLOSE 1
- 2850 GET(1,1)-(16,16),GF
- 2851 CLS
- 2910 DIM GI(16,16)
- 2915 OPEN"guard1.mem" FOR INPUT AS 1
- 2920 FOR TT=1 TO 16:FOR T=1 TO 16
- 2930 INPUT #1,R:PSET(T,TT),R
- 2940 NEXT T:NEXT TT
- 2945 CLOSE 1
- 2950 GET(1,1)-(16,16),GI
- 2951 CLS
- 3010 DIM GJ(16,16)
- 3015 OPEN"guard2.mem" FOR INPUT AS 1
- 3020 FOR TT=1 TO 16:FOR T=1 TO 16
- 3030 INPUT #1,R:PSET(T,TT),R
- 3040 NEXT T:NEXT TT
- 3045 CLOSE 1
- 3050 GET(1,1)-(16,16),GJ
- 3051 CLS
- 3110 DIM GK(16,16)
- 3115 OPEN"guard3.mem" FOR INPUT AS 1
- 3120 FOR TT=1 TO 16:FOR T=1 TO 16
- 3130 INPUT #1,R:PSET(T,TT),R
- 3140 NEXT T:NEXT TT
- 3145 CLOSE 1
- 3150 GET(1,1)-(16,16),GK
- 3151 CLS
- 3210 DIM GL(16,16)
- 3215 OPEN"door03.mem" FOR INPUT AS 1
- 3220 FOR TT=1 TO 16:FOR T=1 TO 16
- 3230 INPUT #1,R:PSET(T,TT),R
- 3240 NEXT T:NEXT TT
- 3245 CLOSE 1
- 3250 GET(1,1)-(16,16),GL
- 3251 CLS
- 3310 DIM GM(16,16)
- 3315 OPEN"door04.mem" FOR INPUT AS 1
- 3320 FOR TT=1 TO 16:FOR T=1 TO 16
- 3330 INPUT #1,R:PSET(T,TT),R
- 3340 NEXT T:NEXT TT
- 3345 CLOSE 1
- 3350 GET(1,1)-(16,16),GM
- 3351 CLS
- 3410 DIM GN(16,16)
- 3415 OPEN"monster4.mem" FOR INPUT AS 1
- 3420 FOR TT=1 TO 16:FOR T=1 TO 16
- 3430 INPUT #1,R:PSET(T,TT),R
- 3440 NEXT T:NEXT TT
- 3445 CLOSE 1
- 3450 GET(1,1)-(16,16),GN
- 3451 CLS
- 3510 DIM GO(16,16)
- 3515 OPEN"monster5.mem" FOR INPUT AS 1
- 3520 FOR TT=1 TO 16:FOR T=1 TO 16
- 3530 INPUT #1,R:PSET(T,TT),R
- 3540 NEXT T:NEXT TT
- 3545 CLOSE 1
- 3550 GET(1,1)-(16,16),GO
- 3551 CLS
- 3610 DIM GP(16,16)
- 3615 OPEN"monster6.mem" FOR INPUT AS 1
- 3620 FOR TT=1 TO 16:FOR T=1 TO 16
- 3630 INPUT #1,R:PSET(T,TT),R
- 3640 NEXT T:NEXT TT
- 3645 CLOSE 1
- 3650 GET(1,1)-(16,16),GP
- 3651 CLS
- 3915 OPEN"map025.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(8,3)<>2 THEN DOORC=0
- 5040 IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5071 IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
- 5072 IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5
- 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
- 20030 LINE(0,0)-(T,112),0,BF
- 20035 LINE(120+(120-T),0)-(240,112),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,56+(56-TT))-(319,112),0,BF
- 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT T
- 20061 'PSET(120,56),0
- 20062 LOCATE 24,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
- miscdun/DUN030.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
- 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
- 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
- 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
- 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM RW(16,16)
- 2015 OPEN"road01.16x" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),RW
- 2051 CLS
- 2110 DIM RN(16,16)
- 2115 OPEN"road02.16x" FOR INPUT AS 1
- 2120 FOR TT=1 TO 16:FOR T=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT T:NEXT TT
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),RN
- 2151 CLS
- 2210 DIM RE(16,16)
- 2215 OPEN"road03.16x" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=1 TO 16
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),RE
- 2251 CLS
- 2310 DIM RS(16,16)
- 2315 OPEN"road04.16x" FOR INPUT AS 1
- 2320 FOR TT=1 TO 16:FOR T=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT T:NEXT TT
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),RS
- 2351 CLS
- 3915 OPEN"map030.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(8,3)<>2 THEN DOORC=0
- 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
- 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5
- 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
- 20030 LINE(0,0)-(T,112),0,BF
- 20035 LINE(120+(120-T),0)-(240,112),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,56+(56-TT))-(319,112),0,BF
- 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT T
- 20061 'PSET(120,56),0
- 20062 LOCATE 24,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
- miscdun/DUN031.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 '
- 1010 PCOPY 2,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
- 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
- 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
- 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
- 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
- 1109 NEXT T:NEXT TT
- 1110 GOSUB 5000
- 1111 PCOPY 1,0
- 1115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 1120 GOTO 100
- 2000 '
- 2010 DIM RW(16,16)
- 2015 OPEN"road06.16x" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),RW
- 2051 CLS
- 2110 DIM RN(16,16)
- 2115 OPEN"road06.16x" FOR INPUT AS 1
- 2120 FOR T=1 TO 16:FOR TT=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT TT:NEXT T
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),RN
- 2151 CLS
- 2210 DIM RE(16,16)
- 2215 OPEN"road06.16x" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),RE
- 2251 CLS
- 2310 DIM RS(16,16)
- 2315 OPEN"road06.16x" FOR INPUT AS 1
- 2320 FOR T=16 TO 1 STEP -1:FOR TT=1 TO 16
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT TT:NEXT T
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),RS
- 2351 CLS
- 3915 OPEN"map030.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(8,3)<>2 THEN DOORC=0
- 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
- 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
- 5999 RETURN
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5
- 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
- 20030 LINE(0,0)-(T,112),0,BF
- 20035 LINE(120+(120-T),0)-(240,112),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,56+(56-TT))-(319,112),0,BF
- 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT T
- 20061 'PSET(120,56),0
- 20062 LOCATE 24,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
- miscdun/DUN032.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 'Road Map
- 1010 PCOPY 3,1
- 1020 CW=0:CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
- 1040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6000
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
- 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
- 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
- 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
- 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
- 1080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
- 1109 NEXT T:NEXT TT
- 1120 GOTO 6000
- 2000 '
- 2010 DIM RW(16,16)
- 2015 OPEN"road08.16x" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),RW
- 2051 CLS
- 2110 DIM RN(16,16)
- 2115 OPEN"road08.16x" FOR INPUT AS 1
- 2120 FOR T=1 TO 16:FOR TT=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT TT:NEXT T
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),RN
- 2151 CLS
- 2210 DIM RE(16,16)
- 2215 OPEN"road08.16x" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),RE
- 2251 CLS
- 2310 DIM RS(16,16)
- 2315 OPEN"road08.16x" FOR INPUT AS 1
- 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT TT:NEXT T
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),RS
- 2351 CLS
- 3810 'Terrein map
- 3815 OPEN"map030.Tmm" FOR INPUT AS 1
- 3820 FOR TT=1 TO 32:FOR T=1 TO 64
- 3830 INPUT #1,R:PSET(T-1,TT-1),R
- 3840 NEXT T:NEXT TT
- 3845 CLOSE 1:PCOPY 1,2
- 3851 CLS
- 3910 'Road map
- 3915 OPEN"map030.Rmm" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1:PCOPY 1,3
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(8,3)<>2 THEN DOORC=0
- 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
- 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
- 5999 RETURN
- 6000 'Terrein Map
- 6010 PCOPY 2,1
- 6020 CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
- 6030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
- 6040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6110
- 6050 LINE(0,0)-(319,199),0,BF
- 6060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
- 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
- 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
- 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
- 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
- 6080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
- 6109 NEXT T:NEXT TT
- 6110 IF CW=2 THEN LINE(0,0)-(319,199),0,BF:LOCATE 7,11:COLOR 5:PRINT"outer space";:COLOR 15
- 6111 GOSUB 5000
- 6112 PCOPY 1,0
- 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 6120 GOTO 100
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5
- 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
- 20030 LINE(0,0)-(T,112),0,BF
- 20035 LINE(120+(120-T),0)-(240,112),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,56+(56-TT))-(319,112),0,BF
- 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT T
- 20061 'PSET(120,56),0
- 20062 LOCATE 24,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
- miscdun/DUN033.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 'Road Map
- 1010 PCOPY 3,1
- 1020 CW=0:CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
- 1040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6000
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
- 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
- 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
- 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
- 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
- 1080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
- 1109 NEXT T:NEXT TT
- 1120 GOTO 6000
- 2000 '
- 2010 DIM RW(16,16)
- 2015 OPEN"road08.16x" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),RW
- 2051 CLS
- 2110 DIM RN(16,16)
- 2115 OPEN"road08.16x" FOR INPUT AS 1
- 2120 FOR T=1 TO 16:FOR TT=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT TT:NEXT T
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),RN
- 2151 CLS
- 2210 DIM RE(16,16)
- 2215 OPEN"road08.16x" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),RE
- 2251 CLS
- 2310 DIM RS(16,16)
- 2315 OPEN"road08.16x" FOR INPUT AS 1
- 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT TT:NEXT T
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),RS
- 2351 CLS
- 3810 'Terrein map
- 3815 OPEN"map030.Tmm" FOR INPUT AS 1
- 3820 FOR TT=1 TO 32:FOR T=1 TO 64
- 3830 INPUT #1,R:PSET(T-1,TT-1),R
- 3840 NEXT T:NEXT TT
- 3845 CLOSE 1:PCOPY 1,2
- 3851 CLS
- 3910 'Road map
- 3915 OPEN"map030.Rmm" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1:PCOPY 1,3
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(8,3)<>2 THEN DOORC=0
- 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
- 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
- 5999 RETURN
- 6000 'Terrein Map
- 6010 PCOPY 2,1
- 6020 CV=0:FOR TT=1 TO 7:FOR T=1 TO 15
- 6030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4)):IF MAP(T,TT)>0 THEN CV=CV+1
- 6040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6110
- 6050 LINE(0,0)-(319,199),0,BF
- 6060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
- 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
- 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
- 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
- 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
- 6080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
- 6109 NEXT T:NEXT TT
- 6110 IF CW=2 THEN LINE(0,0)-(319,199),0,BF:LOCATE 7,11:COLOR 5:PRINT"outer space";:COLOR 15
- 6111 GOSUB 5000
- 6112 PCOPY 1,0
- 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 6120 GOTO 100
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5
- 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
- 20030 LINE(0,0)-(T,112),0,BF
- 20035 LINE(120+(120-T),0)-(240,112),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,56+(56-TT))-(319,112),0,BF
- 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT T
- 20061 'PSET(120,56),0
- 20062 LOCATE 24,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
- miscdun/DUN034.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(15,7)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 'Road Map
- 1010 PCOPY 3,1
- 1020 FOR TT=1 TO 7:FOR T=1 TO 15
- 1030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 1040 NEXT T:NEXT TT
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
- 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
- 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
- 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
- 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
- 1080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
- 1109 NEXT T:NEXT TT
- 1120 GOTO 6000
- 2000 '
- 2010 DIM RW(16,16)
- 2015 OPEN"road08.16x" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),RW
- 2051 CLS
- 2110 DIM RN(16,16)
- 2115 OPEN"road08.16x" FOR INPUT AS 1
- 2120 FOR T=1 TO 16:FOR TT=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT TT:NEXT T
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),RN
- 2151 CLS
- 2210 DIM RE(16,16)
- 2215 OPEN"road08.16x" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),RE
- 2251 CLS
- 2310 DIM RS(16,16)
- 2315 OPEN"road08.16x" FOR INPUT AS 1
- 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT TT:NEXT T
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),RS
- 2351 CLS
- 3915 OPEN"map030.mem" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 'LINE((8-1)*16,(4-1)*16)-(8*16,4*16),15,B
- 5030 LINE((1-1)*16,(1-1)*16)-(15*16,7*16),15,B
- 5035 'IF MAP(8,3)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(8,3)<>2 THEN DOORC=0
- 5040 'IF MAP(8,4)=0 AND (GC=1 OR GC=3) THEN PUT((8-1)*16,(4-1)*16),GR,OR
- 5041 'IF MAP(8,4)=0 AND GC=2 THEN PUT((8-1)*16,(4-1)*16),GS,OR
- 5042 'IF MAP(8,4)=0 AND GC=4 THEN PUT((8-1)*16,(4-1)*16),GT,OR
- 5043 'IF (MAP(8,3)=15 OR MAP(8,5)=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 'IF (MAP(8,3)<>15 AND MAP(8,5)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
- 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
- 5999 RETURN
- 6000 'Terrein Map
- 6010 PCOPY 2,1
- 6020 FOR TT=1 TO 7:FOR T=1 TO 15
- 6030 MAP(T,TT)=POINT(X+(T-8),Y+(TT-4))
- 6040 NEXT T:NEXT TT
- 6050 LINE(0,0)-(319,199),0,BF
- 6060 FOR TT=1 TO 7:FOR T=1 TO 15:M=MAP(T,TT)
- 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*16,(TT-1)*16),GA
- 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RW,OR
- 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RE,OR
- 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RN,OR
- 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*16,(TT-1)*16),RS,OR
- 6080 'IF M=0 THEN LINE((T-1)*16,(TT-1)*16)-((T*16)-1,(TT*16)-1),2,BF
- 6109 NEXT T:NEXT TT
- 6110 GOSUB 5000
- 6111 PCOPY 1,0
- 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 6120 GOTO 100
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5
- 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
- 20030 LINE(0,0)-(T,112),0,BF
- 20035 LINE(120+(120-T),0)-(240,112),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,56+(56-TT))-(319,112),0,BF
- 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT T
- 20061 'PSET(120,56),0
- 20062 LOCATE 24,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
- miscdun/DUN040.BAS
- 10 KEY OFF:SCREEN 7,0,1,0:VIEW PRINT 1 TO 25:COLOR 15,0,0:CLS:MAP=2:X=2:Y=2
- 15 XD=16:YD=16:XS=15:YS=7:MX=8:MY=4
- 20 GOSUB 2000:CLS:PCOPY 1,2:DIM MAP(XS,YS)
- 100 C$=INKEY$:XM$="":YM$="":IF C$="" THEN C$=" "
- 105 IF C$=CHR$(27) THEN 10000
- 106 IF C$=CHR$(13) THEN 10000
- 107 IF C$="p" OR C$="P" THEN 20000
- 108 XX=X:YY=Y
- 110 IF INSTR("123",C$)>0 THEN Y=Y+1
- 120 IF INSTR("789",C$)>0 THEN Y=Y-1
- 130 IF INSTR("369",C$)>0 THEN X=X+1
- 140 IF INSTR("147",C$)>0 THEN X=X-1
- 150 IF X<0 THEN X=0 ELSE IF X>319 THEN X=319
- 160 IF Y<0 THEN Y=0 ELSE IF Y>199 THEN Y=199
- 190 '
- 195 IF TIMER-START>.2 THEN START=TIMER:GS=1-GS
- 196 IF TIMER-START2>.2 THEN START2=TIMER:GC=(GC MOD 4)+1
- 197 IF TIMER-START3>.5 THEN START3=TIMER:GY=1-GY
- 1000 'Road Map
- 1010 PCOPY 3,1
- 1020 CW=0:CV=0:FOR TT=1 TO YS:FOR T=1 TO XS
- 1030 MAP(T,TT)=POINT(X+(T-MX),Y+(TT-MY)):IF MAP(T,TT)>0 THEN CV=CV+1
- 1040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6000
- 1050 LINE(0,0)-(319,199),0,BF
- 1060 FOR TT=1 TO YS:FOR T=1 TO XS:M=MAP(T,TT)
- 1065 'IF MAP(T,TT)=1 THEN PUT((T-1)*xd,(TT-1)*yd),GA
- 1070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RW,OR
- 1071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RE,OR
- 1072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RN,OR
- 1073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RS,OR
- 1080 'IF M=0 THEN LINE((T-1)*xd,(TT-1)*yd)-((T*xd)-1,(TT*yd)-1),2,BF
- 1109 NEXT T:NEXT TT
- 1120 GOTO 6000
- 2000 '
- 2010 DIM RW(16,16)
- 2015 OPEN"road08.16x" FOR INPUT AS 1
- 2020 FOR TT=1 TO 16:FOR T=1 TO 16
- 2030 INPUT #1,R:PSET(T,TT),R
- 2040 NEXT T:NEXT TT
- 2045 CLOSE 1
- 2050 GET(1,1)-(16,16),RW
- 2051 CLS
- 2110 DIM RN(16,16)
- 2115 OPEN"road08.16x" FOR INPUT AS 1
- 2120 FOR T=1 TO 16:FOR TT=1 TO 16
- 2130 INPUT #1,R:PSET(T,TT),R
- 2140 NEXT TT:NEXT T
- 2145 CLOSE 1
- 2150 GET(1,1)-(16,16),RN
- 2151 CLS
- 2210 DIM RE(16,16)
- 2215 OPEN"road08.16x" FOR INPUT AS 1
- 2220 FOR TT=1 TO 16:FOR T=16 TO 1 STEP -1
- 2230 INPUT #1,R:PSET(T,TT),R
- 2240 NEXT T:NEXT TT
- 2245 CLOSE 1
- 2250 GET(1,1)-(16,16),RE
- 2251 CLS
- 2310 DIM RS(16,16)
- 2315 OPEN"road08.16x" FOR INPUT AS 1
- 2320 FOR T=1 TO 16:FOR TT=16 TO 1 STEP -1
- 2330 INPUT #1,R:PSET(T,TT),R
- 2340 NEXT TT:NEXT T
- 2345 CLOSE 1
- 2350 GET(1,1)-(16,16),RS
- 2351 CLS
- 3810 'Terrein map
- 3815 OPEN"map030.Tmm" FOR INPUT AS 1
- 3820 FOR TT=1 TO 32:FOR T=1 TO 64
- 3830 INPUT #1,R:PSET(T-1,TT-1),R
- 3840 NEXT T:NEXT TT
- 3845 CLOSE 1:PCOPY 1,2
- 3851 CLS
- 3910 'Road map
- 3915 OPEN"map030.Rmm" FOR INPUT AS 1
- 3920 FOR TT=1 TO 32:FOR T=1 TO 64
- 3930 INPUT #1,R:PSET(T-1,TT-1),R
- 3940 NEXT T:NEXT TT
- 3945 CLOSE 1:PCOPY 1,3
- 3951 CLS
- 3999 RETURN
- 5000 '
- 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
- 5010 'LOCATE 1,32:PRINT X;",";Y;
- 5011 'LOCATE 2,32:PRINT MAP(8,4);
- 5012 'LOCATE 3,32:PRINT INT(DOORC);
- 5020 'LINE((mx-1)*xd,(my-1)*yd)-(mx*xd,my*yd),15,B
- 5030 LINE((1-1)*XD,(1-1)*YD)-(15*XD,7*YD),15,B
- 5035 'IF MAP(mx,my-1)=2 AND DOORC=0 THEN DOORC=TIMER
- 5036 'IF MAP(mx,my-1)<>2 THEN DOORC=0
- 5040 'IF MAP(mx,my)=0 AND (GC=1 OR GC=3) THEN PUT((mx-1)*xd,(my-1)*yd),GR,OR
- 5041 'IF MAP(mx,my)=0 AND GC=2 THEN PUT((mx-1)*xd,(my-1)*yd),GS,OR
- 5042 'IF MAP(mx,my)=0 AND GC=4 THEN PUT((mx-1)*xd,(my-1)*yd),GT,OR
- 5043 'IF (MAP(mx,my-1)=15 OR MAP(xd,yd+1=15) AND DOORC=0 THEN DOORC=TIMER
- 5044 'IF (MAP(mx,my-1)<>15 AND MAP(xd,yd+1)<>15) THEN DOORC=0
- 5050 'IF X=>55 AND X<=62 AND Y=>28 AND Y<=31 THEN LOCATE 18,1:PRINT"You found the exit!"
- 5060 'IF X=>58 AND X<=59 AND Y=>30 THEN LOCATE 19,1:PRINT"Dereck: Let's get out of here."
- 5070 'IF X=6 AND Y=18 THEN LOCATE 18,1:PRINT"Man: Some skulls mark secret passages."
- 5071 'IF X=34 AND Y=22 THEN LOCATE 18,1:PRINT"Man: Going to the acid palace? Well,";
- 5072 'IF X=34 AND Y=22 THEN LOCATE 19,1:PRINT"be sure to remember the word 'firefly'."
- 5999 RETURN
- 6000 'Terrein Map
- 6010 PCOPY 2,1
- 6020 CV=0:FOR TT=1 TO YS:FOR T=1 TO XS
- 6030 MAP(T,TT)=POINT(X+(T-MX),Y+(TT-MY)):IF MAP(T,TT)>0 THEN CV=CV+1
- 6040 NEXT T:NEXT TT:IF CV<=0 THEN CW=CW+1:GOTO 6110
- 6050 LINE(0,0)-(319,199),0,BF
- 6060 FOR TT=1 TO YS:FOR T=1 TO XS:M=MAP(T,TT)
- 6065 'IF MAP(T,TT)=1 THEN PUT((T-1)*xd,(TT-1)*yd),GA
- 6070 IF INSTR(" 1 5 8 9 11 12 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RW,OR
- 6071 IF INSTR(" 3 6 7 9 12 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RE,OR
- 6072 IF INSTR(" 2 5 6 10 11 12 13 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RN,OR
- 6073 IF INSTR(" 4 7 8 10 11 13 14 15 ",STR$(M)+" ")>0 THEN PUT((T-1)*XD,(TT-1)*YD),RS,OR
- 6080 'IF M=0 THEN LINE((T-1)*xd,(TT-1)*yd)-((T*xd)-1,(TT*yd)-1),2,BF
- 6109 NEXT T:NEXT TT
- 6110 IF CW=2 THEN LINE(0,0)-(319,199),0,BF:LOCATE 18,1:COLOR 5:PRINT"outer space";:COLOR 15
- 6111 GOSUB 5000
- 6112 PCOPY 1,0
- 6115 IF DOORC<>0 AND TIMER-DOORC>2 THEN 10000
- 6120 GOTO 100
- 10000 '
- 10010 PCOPY 0,1
- 10012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 10015 ST=5
- 10020 FOR T=0 TO 120 STEP ST:TT=TT+(.38)*ST
- 10030 LINE(0,0)-(T,199),0,BF
- 10035 LINE(120+(120-T),0)-(240,199),0,BF
- 10040 LINE(0,0)-(319,TT),0,BF
- 10045 LINE(0,56+(56-TT))-(319,112),0,BF
- 10046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 10047 LINE(240,0)-(319,199),0,BF
- 10050 PCOPY 1,0
- 10060 NEXT T
- 10061 PSET(120,56),0
- 10062 PCOPY 1,0
- 10070 '
- 10080 IF X=2 AND Y=1 THEN CHAIN"dungeon.010"
- 10081 IF X=>58 AND X<=59 AND Y=30 THEN CHAIN"dungeon.015"
- 10098 IF C$=CHR$(13) THEN TT=0:C$=" ":GOTO 105
- 10099 SCREEN 0,0,0,0:WIDTH 80:COLOR 15,1,1:CLS:END
- 20000 '
- 20010 PCOPY 0,1:PCOPY 0,3
- 20012 'START=TIMER:WHILE TIMER-START<.5:WEND
- 20015 ST=5
- 20020 FOR T=0 TO 90 STEP ST:TT=TT+(.38)*ST
- 20030 LINE(0,0)-(T,112),0,BF
- 20035 LINE(120+(120-T),0)-(240,112),0,BF
- 20040 LINE(0,0)-(319,TT),0,BF
- 20045 LINE(0,56+(56-TT))-(319,112),0,BF
- 20046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 20047 'LINE(240,0)-(319,199),0,BF
- 20050 PCOPY 1,0
- 20060 NEXT T
- 20061 'PSET(120,56),0
- 20062 LOCATE 24,17:PRINT"(Pause)";
- 20070 PCOPY 1,0
- 20080 C$=INPUT$(1)
- 20098 GOTO 30000
- 30000 '
- 30010 PCOPY 3,1
- 30015 ST=5:TT=36
- 30020 FOR T=90 TO 0 STEP -ST:TT=TT-(.38)*ST
- 30025 PCOPY 3,1
- 30030 LINE(0,0)-(T,112),0,BF
- 30035 LINE(120+(120-T),0)-(240,112),0,BF
- 30040 LINE(0,0)-(319,TT),0,BF
- 30045 LINE(0,56+(56-TT))-(319,112),0,BF
- 30046 LINE(T,TT)-(120+(120-T),56+(56-TT)),15,B
- 30047 'LINE(240,0)-(319,199),0,BF
- 30050 PCOPY 1,0
- 30060 NEXT T
- 30070 PCOPY 1,0
- 30098 C$=" ":GOTO 190
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement