The original listings for all 3 versions
This commit is contained in:
parent
2345e18077
commit
ab78d63bcc
|
@ -0,0 +1,145 @@
|
||||||
|
30 HI=0:DIM F$(40),N$(3)
|
||||||
|
40 GOTO 14000
|
||||||
|
42 POKE 1,0:POKE 2,0
|
||||||
|
43 POKE 764,255
|
||||||
|
45 TRAP 40000
|
||||||
|
47 F$="":GOSUB 12000:SK=PEEK(0):P=PEEK(1)*256+PEEK(2):GOSUB 10000:GOTO 8000
|
||||||
|
990 REM READ JOY, MOVE
|
||||||
|
1000 REM
|
||||||
|
1010 PA=STICK(0)
|
||||||
|
1020 S3=(PA=7)
|
||||||
|
1030 S0=(PA=14):S1=(PA=13):S2=(PA=11)
|
||||||
|
1100 IF S0 THEN POKE X,7+128:C=20:GOTO 1160
|
||||||
|
1130 IF S3 THEN POKE X,6+128:C=-1:GOTO 1160
|
||||||
|
1140 IF S2 THEN POKE X,8+128:C=1:GOTO 1160
|
||||||
|
1150 IF S1 THEN POKE X,9+128:C=-20:GOTO 1160
|
||||||
|
1155 FOR J=1 TO 50:NEXT J:GOTO 1300
|
||||||
|
1160 X=X-C:IF PEEK(X)=129 THEN X=X+C:GOTO 1300
|
||||||
|
1165 SOUND 0,100,10,8
|
||||||
|
1170 F$(LEN(F$)+1)=CHR$(-C+99)
|
||||||
|
1180 J=PEEK(X):POKE X,2+64:IF J=10 THEN K=100:GOSUB 9000
|
||||||
|
1190 IF J=11 THEN K=50:GOSUB 9000
|
||||||
|
1200 IF J=12 THEN K=30:GOSUB 9000
|
||||||
|
1210 IF J=13 THEN K=20:GOSUB 9000
|
||||||
|
1220 IF J=14 THEN K=10:GOSUB 9000
|
||||||
|
1230 SOUND 0,0,0,0
|
||||||
|
1250 POSITION 6,22:? #6;P;" ";
|
||||||
|
1300 POKE X,3+64:RETURN
|
||||||
|
1990 REM "MOVE MONSTER
|
||||||
|
2000 IF LEN(F$)>=30 THEN GOSUB 3000
|
||||||
|
2005 O=O+1:IF O/S<>INT(O/S) THEN RETURN
|
||||||
|
2010 FOR J=1 TO SK:GOSUB 4000:POKE F,0:F=F+(ASC(F$)-99):F$=F$(1+((LEN(F$)>1)))
|
||||||
|
2030 POKE F,5+192:SOUND 0,120,0,8:FOR M=1 TO 50:NEXT M:POKE F,4+192:SOUND 0,80,0,8:NEXT J:SOUND 0,0,0,0:RETURN
|
||||||
|
2990 REM " SPEED UP MONSTER
|
||||||
|
3000 POKE F,0:S=S-1:IF S<1 THEN S=1
|
||||||
|
3005 POSITION 18,22:? #6;E-S;
|
||||||
|
3010 FOR N=1 TO 10:POKE F,0:F=F+(ASC(F$)-99):F$=F$(2):POKE F,5+192
|
||||||
|
3150 IF (N/SK=INT(N/SK)) AND PP THEN GOSUB 1000
|
||||||
|
3310 FOR M=N TO N+2:SOUND 0,M*3,0,8:NEXT M:NEXT N:SOUND 0,0,0,0
|
||||||
|
3500 RETURN
|
||||||
|
3990 REM " CHECK IF EATEN
|
||||||
|
4000 IF X<>F THEN RETURN
|
||||||
|
4005 POKE F,8:SOUND 0,0,0,0
|
||||||
|
4010 GOSUB 18000:POSITION 0,22:? #6;"A TASTY MORSEL INDEED_";
|
||||||
|
4015 FOR J=1 TO 2000
|
||||||
|
4025 NEXT J
|
||||||
|
4027 IF PP=0 THEN 16800
|
||||||
|
4060 GOTO 11000
|
||||||
|
6990 REM " GET PROMOTED
|
||||||
|
7000 J=INT(P/256):POKE 1,J:POKE 2,P-J*256
|
||||||
|
7100 SK=PEEK(0)+1:POKE 0,SK
|
||||||
|
7200 POSITION 0,23:? #6;"CONGRATULATIONS !!"
|
||||||
|
7205 FOR J=1 TO 1000:NEXT J
|
||||||
|
7400 PRINT "}":POKE 752,1:? " ONE AS FLEET-FOOTED AS YOU DESERVES":? " MORE CHALLENGE.":POKE 710,18
|
||||||
|
7405 FOR J=1 TO 500:NEXT J
|
||||||
|
7410 PRINT " YOU ARE THEREFORE PROMOTED TO":? " SKILL LEVEL ";SK
|
||||||
|
7420 FOR J=1 TO 1000:NEXT J
|
||||||
|
7500 GOTO 45
|
||||||
|
7990 REM " MAIN LOOP!
|
||||||
|
8000 FOR M=1 TO 500:GOSUB 1000:IF LEN(F$)<20 THEN NEXT M
|
||||||
|
8100 GOSUB 1000:GOSUB 2000:GOSUB 4000:GOTO 8100
|
||||||
|
8990 REM " PICKED UP TREASURE
|
||||||
|
9000 FOR I=1 TO 10:SOUND 0,10*RND(0),10,8:NEXT I:SOUND 0,0,0,0
|
||||||
|
9010 P=P+K*(E-S):PC=PC+1:IF PC>=61 THEN 7000
|
||||||
|
9100 RETURN
|
||||||
|
9990 REM " SET VARIABLES, ETC.
|
||||||
|
10000 REM
|
||||||
|
10030 S=10:PC=0:RO=22:PP=1
|
||||||
|
10110 W=5:E=11:GOSUB 18000
|
||||||
|
10600 POSITION 8,23:? #6;"顼<>"
|
||||||
|
10700 POSITION 0,22:? #6;"用弦藕 speed:1"
|
||||||
|
10800 X=SC+21:F=X
|
||||||
|
10900 RETURN
|
||||||
|
11000 REM " GAME OVER
|
||||||
|
11102 ? "}":POKE 752,1:POKE 710,212
|
||||||
|
11103 IF P>HI THEN HI=P:GOSUB 11150
|
||||||
|
11105 ?:? "YOUR SCORE IS: ";P
|
||||||
|
11107 ?:? "THE HIGH SCORE IS ";HI;" BY ";N$
|
||||||
|
11110 ?:?:? "PLAY AGAIN ? (Y/N): ";
|
||||||
|
11120 OPEN #1,4,0,"K:":GET #1,A:CLOSE #1
|
||||||
|
11130 IF A=ASC("N") THEN GRAPHICS 0:END
|
||||||
|
11140 POKE 764,255:POKE 77,0:GOTO 40
|
||||||
|
11150 ?:? "CONGRATULATIONS!! YOU HAVE THE NEW HIGH SCORE.":?:? "PLEASE ENTER YOUR INITIALS";:INPUT N$
|
||||||
|
11160 RETURN
|
||||||
|
11990 REM " MAKE MAZE (ALGORITHM FROM COMPUTE!)
|
||||||
|
12000 GRAPHICS 17:POKE 756,CHSET/256
|
||||||
|
12010 TRAP 12015:DIM A(3):A(0)=2:A(1)=-40:A(2)=-2:A(3)=40:WL=129:HL=0:TRAP 40000
|
||||||
|
12015 A=SC+21
|
||||||
|
12100 FOR I=1 TO 21:? #6;" <E38080>":NEXT I:POKE A,5
|
||||||
|
12150 ? #6;"the dwarves mined":? #6;"here many years ago";
|
||||||
|
12200 J=INT(RND(1)*4):X=J
|
||||||
|
12205 B=A+A(J)
|
||||||
|
12210 IF PEEK(B)=WL THEN POKE B,J+1:POKE A+A(J)/2,HL:A=B:GOTO 12200
|
||||||
|
12240 J=(J+1)*(J<3):IF J<>X THEN 12205
|
||||||
|
12250 J=PEEK(A):POKE A,HL:IF J<5 THEN A=A-A(J-1):GOTO 12200
|
||||||
|
12255 GOSUB 18000
|
||||||
|
12260 POSITION 0,22:? #6;"翳妁犾彐魻磲铢":? #6;"赍麇祗犪钿狋蝈狍躜<E78B8D>";
|
||||||
|
12270 RESTORE
|
||||||
|
12300 FOR K=10 TO 14:READ J,C
|
||||||
|
12310 FOR A=1 TO J
|
||||||
|
12320 B=SC+40+INT(20*RND(0))*20+INT(19*RND(0))
|
||||||
|
12330 IF PEEK(B)<>0 THEN 12320
|
||||||
|
12340 POKE B,K
|
||||||
|
12350 NEXT A:NEXT K
|
||||||
|
12500 RESTORE:RETURN
|
||||||
|
12600 DATA 1,1,7,3,12,7,15,6,26,0
|
||||||
|
13990 REM " TITLE PAGE, ETC.
|
||||||
|
14000 GRAPHICS 17
|
||||||
|
14005 SC=PEEK(88)+256*PEEK(89):CHSET=PEEK(106)-8:CHSET=CHSET*256
|
||||||
|
14007 FOR I=0 TO 512:POKE CHSET+I,PEEK(57344+I):NEXT I
|
||||||
|
14010 ? #6;" 篚疱蜚栳箦<E6A0B3>":? #6
|
||||||
|
14020 ? #6
|
||||||
|
14030 GOTO 16000
|
||||||
|
14050 ? #6:? #6;"铀商虪膛峙炭 <1..9>"
|
||||||
|
14060 OPEN #1,4,0,"K:":GET #1,A:CLOSE #1
|
||||||
|
14070 SK=A-48:IF SK<1 OR SK>9 THEN 14060
|
||||||
|
14080 POKE 0,SK:GOTO 42
|
||||||
|
15990 REM " SHOW & DEFINE CHARACTERS
|
||||||
|
16000 FOR J=1 TO 7:POKE SC+J*40+80,J:NEXT J
|
||||||
|
16010 FOR J=8 TO 15:POKE SC+19+80+40*(J-7),J:NEXT J
|
||||||
|
16020 POKE 756,CHSET/256
|
||||||
|
16150 FOR J=0 TO 7:POKE CHSET+J,0:NEXT J
|
||||||
|
16160 FOR J=1 TO 10:READ K:NEXT J
|
||||||
|
16200 X=256:FOR J=0 TO 119:READ K
|
||||||
|
16250 X=X-0.81:SOUND 0,X,10,8
|
||||||
|
16300 POKE CHSET+8+J,K:NEXT J
|
||||||
|
16305 FOR I=0 TO 7:READ A:POKE CHSET+63*8+I,A:NEXT I
|
||||||
|
16310 SOUND 0,0,0,0:GOTO 14050
|
||||||
|
17111 REM " CHARACTER DATA
|
||||||
|
17112 DATA 85,42,85,42,85,42,85,0
|
||||||
|
17115 DATA 28,42,62,34,28,36,68,38
|
||||||
|
17120 DATA 28,42,62,34,28,21,18,24
|
||||||
|
17130 DATA 60,90,126,74,66,60,36,102
|
||||||
|
17140 DATA 60,90,126,74,126,66,66,195
|
||||||
|
17150 DATA 0,224,240,224,14,15,14,0
|
||||||
|
17160 DATA 4,14,14,14,32,112,112,112
|
||||||
|
17170 DATA 0,112,240,112,7,15,7,0
|
||||||
|
17180 DATA 14,14,14,4,112,112,112,32
|
||||||
|
17190 DATA 0,8,34,8,93,8,34,8
|
||||||
|
17200 DATA 1,76,18,34,68,72,50,128
|
||||||
|
17210 DATA 0,73,42,0,216,28,60,0
|
||||||
|
17220 DATA 0,2,24,36,36,24,64,0
|
||||||
|
17230 DATA 0,0,12,28,56,48,0,0
|
||||||
|
17235 DATA 0,126,126,126,122,126,126,0
|
||||||
|
17300 DATA 0,7,15,14,24,48,0,64
|
||||||
|
18000 COLOR 0:PLOT 0,21:DRAWTO 19,21:PLOT 0,22:DRAWTO 19,22:PLOT 0,23:DRAWTO 19,23:RETURN
|
|
@ -0,0 +1,179 @@
|
||||||
|
100 CALL CLEAR
|
||||||
|
110 PRINT TAB(6);"**************"
|
||||||
|
120 PRINT TAB(6);"* SUPERCHASE *"
|
||||||
|
130 PRINT TAB(6);"**************"
|
||||||
|
140 CALL CHAR(96,"00183C7E7E3C18")
|
||||||
|
150 CALL COLOR(9,14,12)
|
||||||
|
160 PRINT : : : :"USE THE ARROW KEYS TO MOVE."
|
||||||
|
170 PRINT : :"TRY TO GATHER AS MANY"
|
||||||
|
180 PRINT :"TREASURES (`) IN THE MAZE"
|
||||||
|
190 PRINT :"AS POSSIBLE BEFORE THE"
|
||||||
|
200 PRINT :"ENEMY CATCHES YOU!"
|
||||||
|
210 CALL COLOR(10,5,5)
|
||||||
|
220 CALL COLOR(11,12,12)
|
||||||
|
230 CALL CHAR(120,"383810FE10387CFE")
|
||||||
|
240 CALL COLOR(12,7,12)
|
||||||
|
250 CALL CHAR(128,"383810FE10387CFE")
|
||||||
|
260 CALL COLOR(13,16,12)
|
||||||
|
270 PRINT : : :"PRESS ANY KEY TO BEGIN";
|
||||||
|
280 CALL KEY(0,K,S)
|
||||||
|
290 IF S<1 THEN 280
|
||||||
|
300 SC=0
|
||||||
|
310 LV=1
|
||||||
|
320 CALL CLEAR
|
||||||
|
330 CALL SCREEN(4)
|
||||||
|
340 FOR X=3 TO 21
|
||||||
|
350 CALL HCHAR(X,3,104,27)
|
||||||
|
360 NEXT X
|
||||||
|
370 RANDOMIZE
|
||||||
|
380 FOR I=1 TO 65
|
||||||
|
390 X=2*(INT(9*RND))+4
|
||||||
|
400 Y=2*(INT(11*RND))+4
|
||||||
|
410 CALL HCHAR(X,Y,112,5)
|
||||||
|
420 NEXT I
|
||||||
|
430 FOR I=1 TO 60
|
||||||
|
440 X=2*(INT(7*RND))+4
|
||||||
|
450 Y=2*(INT(13*RND))+4
|
||||||
|
460 CALL VCHAR(X,Y,112,5)
|
||||||
|
470 NEXT I
|
||||||
|
480 CALL HCHAR(4,4,112,5)
|
||||||
|
490 CALL VCHAR(4,4,112,5)
|
||||||
|
500 FOR I=1 TO 80
|
||||||
|
510 X=2*(INT(9*RND))+4
|
||||||
|
520 Y=2*(INT(13*RND))+4
|
||||||
|
530 CALL HCHAR(X,Y,96)
|
||||||
|
540 NEXT I
|
||||||
|
550 FOR I=1 TO 6
|
||||||
|
560 CALL HCHAR(23,2+I,ASC(SEG$("SCORE:",I,1)))
|
||||||
|
570 NEXT I
|
||||||
|
580 CALL SOUND(100,1497,2)
|
||||||
|
590 T=0
|
||||||
|
600 IF LV<8 THEN 620
|
||||||
|
610 LV=7
|
||||||
|
620 A=4
|
||||||
|
630 B=4
|
||||||
|
640 C=4
|
||||||
|
650 D=4
|
||||||
|
660 PG=112
|
||||||
|
670 CALL HCHAR(A,B,120)
|
||||||
|
680 IF T<8-LV THEN 1410
|
||||||
|
690 IF FL=0 THEN 740
|
||||||
|
700 IF FL/2=INT(FL/2)THEN 1140
|
||||||
|
710 CCX=CX
|
||||||
|
720 CCY=CY
|
||||||
|
730 FL=0
|
||||||
|
740 CALL GCHAR(C+1,D,GC)
|
||||||
|
750 IF GC=120 THEN 1760
|
||||||
|
760 IF GC=104 THEN 810
|
||||||
|
770 IF GC<>128 THEN 810
|
||||||
|
780 CX=1
|
||||||
|
790 CY=0
|
||||||
|
800 GOTO 1340
|
||||||
|
810 CALL GCHAR(C,D+1,GC)
|
||||||
|
820 IF GC=120 THEN 1760
|
||||||
|
830 IF GC=104 THEN 880
|
||||||
|
840 IF GC<>128 THEN 880
|
||||||
|
850 CX=0
|
||||||
|
860 CY=1
|
||||||
|
870 GOTO 1340
|
||||||
|
880 CALL GCHAR(C-1,D,GC)
|
||||||
|
890 IF GC=120 THEN 1760
|
||||||
|
900 IF GC=104 THEN 950
|
||||||
|
910 IF GC<>128 THEN 950
|
||||||
|
920 CX=-1
|
||||||
|
930 CY=0
|
||||||
|
940 GOTO 1340
|
||||||
|
950 CALL GCHAR(C,D-1,GC)
|
||||||
|
960 IF GC=120 THEN 1760
|
||||||
|
970 IF GC=128 THEN 1320
|
||||||
|
980 IF GC=112 THEN 1320
|
||||||
|
990 FL=FL+1
|
||||||
|
1000 IF FL/2=INT(FL/2)THEN 1040
|
||||||
|
1010 CX=CCX
|
||||||
|
1020 CY=CCY
|
||||||
|
1030 GOTO 1160
|
||||||
|
1040 CX=SGN(A-C)
|
||||||
|
1050 CY=0
|
||||||
|
1060 IF CX<>0 THEN 1080
|
||||||
|
1070 CY=SGN(D-B)
|
||||||
|
1080 CALL GCHAR(C+CX,D+CY,GC)
|
||||||
|
1090 IF GC=104 THEN 1110
|
||||||
|
1100 IF (GC=96)+(GC=112)THEN 1340
|
||||||
|
1110 CX=-1
|
||||||
|
1120 CY=0
|
||||||
|
1130 GOTO 1160
|
||||||
|
1140 FL=FL+1
|
||||||
|
1150 IF FL>1 THEN 1300
|
||||||
|
1160 CALL GCHAR(C+CX,D+CY,GC)
|
||||||
|
1170 IF (GC=112)+(GC=96)+(GC=128)THEN 1340
|
||||||
|
1180 CX=1
|
||||||
|
1190 CY=0
|
||||||
|
1200 CALL GCHAR(C+CX,D,GC)
|
||||||
|
1210 IF (GC=112)+(GC=96)+(GC=128)THEN 1340
|
||||||
|
1220 CX=-1
|
||||||
|
1230 CALL GCHAR(C+CX,D,GC)
|
||||||
|
1240 IF (GC=112)+(GC=96)+(GC=128)THEN 1340
|
||||||
|
1250 CX=0
|
||||||
|
1260 CY=-1
|
||||||
|
1270 CALL GCHAR(C,D+CY,GC)
|
||||||
|
1280 IF (GC=112)+(GC=96)+(GC=128)THEN 1340
|
||||||
|
1290 CY=1
|
||||||
|
1300 CALL GCHAR(C+CX,D+CY,GC)
|
||||||
|
1310 IF GC=104 THEN 1390 ELSE 1340
|
||||||
|
1320 CX=0
|
||||||
|
1330 CY=-1
|
||||||
|
1340 IF PG=96 THEN 1360
|
||||||
|
1350 PG=112+FL
|
||||||
|
1360 CALL HCHAR(C,D,PG)
|
||||||
|
1370 C=C+CX
|
||||||
|
1380 D=D+CY
|
||||||
|
1390 CALL HCHAR(C,D,42)
|
||||||
|
1400 PG=GC
|
||||||
|
1410 CALL KEY(1,K1,S)
|
||||||
|
1420 IF (K1<0)+(K1>5)THEN 1410
|
||||||
|
1430 CALL HCHAR(A,B,128)
|
||||||
|
1440 ON K1+1 GOTO 1540,1410,1590,1640,1410,1690
|
||||||
|
1450 IF G<>96 THEN 670
|
||||||
|
1460 CALL SOUND(100,-1,4)
|
||||||
|
1470 SC=SC+1
|
||||||
|
1480 SC$=STR$(SC)
|
||||||
|
1490 FOR I=1 TO LEN(SC$)
|
||||||
|
1500 CALL HCHAR(23,10+I,ASC(SEG$(SC$,I,1)))
|
||||||
|
1510 NEXT I
|
||||||
|
1520 T=T+1
|
||||||
|
1530 IF T<45 THEN 670 ELSE 320
|
||||||
|
1540 CALL GCHAR(A+1,B,G)
|
||||||
|
1550 IF G=104 THEN 1740
|
||||||
|
1560 IF G=42 THEN 1760
|
||||||
|
1570 A=A+1
|
||||||
|
1580 GOTO 1450
|
||||||
|
1590 CALL GCHAR(A,B-1,G)
|
||||||
|
1600 IF G=104 THEN 1740
|
||||||
|
1610 IF G=42 THEN 1760
|
||||||
|
1620 B=B-1
|
||||||
|
1630 GOTO 1450
|
||||||
|
1640 CALL GCHAR(A,B+1,G)
|
||||||
|
1650 IF G=104 THEN 1740
|
||||||
|
1660 IF G=42 THEN 1760
|
||||||
|
1670 B=B+1
|
||||||
|
1680 GOTO 1450
|
||||||
|
1690 CALL GCHAR(A-1,B,G)
|
||||||
|
1700 IF G=104 THEN 1740
|
||||||
|
1710 IF G=42 THEN 1760
|
||||||
|
1720 A=A-1
|
||||||
|
1730 GOTO 1450
|
||||||
|
1740 CALL SOUND(-100,-5,4)
|
||||||
|
1750 GOTO 670
|
||||||
|
1760 CALL SOUND(200,-6,4)
|
||||||
|
1770 FOR I=1 TO 3
|
||||||
|
1780 CALL SCREEN(16)
|
||||||
|
1790 CALL SCREEN(9)
|
||||||
|
1800 CALL SCREEN(8)
|
||||||
|
1810 NEXT I
|
||||||
|
1820 PRINT "GOT CAUGHT!!!"
|
||||||
|
1830 PRINT "TRY AGAIN? (Y/N)";
|
||||||
|
1840 CALL KEY(0,K,S)
|
||||||
|
1850 IF K=89 THEN 300
|
||||||
|
1860 IF K<>78 THEN 1840
|
||||||
|
1870 CALL CLEAR
|
||||||
|
1880 END
|
|
@ -0,0 +1,108 @@
|
||||||
|
40 gosub 14000
|
||||||
|
42 poke 1,0:poke 2,0
|
||||||
|
45 gosub 12000:clr:sk=peek(0):p=peek(1)*256+peek(2)
|
||||||
|
100 goto 10000
|
||||||
|
1000 m$=""
|
||||||
|
1110 poke dd,127:p1=peek(d1) and ad:p2=peek(d2) 'legge joystick
|
||||||
|
1120 if p1=59 then m$="+{left}{up}":print m$;:y=y-1:c$="{down}":cx=0:cy=1:goto 1160: 'rem bugfix changed 58 to 59 (rms)
|
||||||
|
1130 if p2=119 then m$="+{left}{rght}":print m$;:x=x+1:c$="{left}":cx=-1:cy=0:goto 1160
|
||||||
|
1140 if p1=47 then m$="+{left}{left}":print m$;:x=x-1:c$="{rght}":cx=1:cy=0:goto 1160: 'rem bugfix changed 46 to 47 (rms)
|
||||||
|
1150 if p1=55 then m$="+{left}{down}":print m$;:y=y+1:c$="{up}":cy=-1:cx=0:goto 1160: 'rem bugfix changed 54 to 55 (rms)
|
||||||
|
1155 goto 1300
|
||||||
|
1160 if fnch(s)=wl then print c$;:x=x+cx:y=y+cy:goto 1300
|
||||||
|
1170 f$=f$+right$(m$,1)
|
||||||
|
1180 if fnch(s)=di then p=p+100*(el-s):pc=pc+1
|
||||||
|
1190 if fnch(s)=sp then p=p+50*(el-s):pc=pc+1
|
||||||
|
1200 if fnch(s)=cl then p=p+30*(el-s):pc=pc+1
|
||||||
|
1210 if fnch(s)=he then p=p+20*(el-s):pc=pc+1
|
||||||
|
1220 if fnch(s)=ci then p=p+10*(el-s):pc=pc+1
|
||||||
|
1250 j$=str$(p*sk):for j=1 to len(j$):poke sc+j+489,asc(mid$(j$,j,1)):next
|
||||||
|
1300 print"Q{left}";
|
||||||
|
1310 if pc>=61 then print dn$"no more treasure.";:goto 7000
|
||||||
|
1900 return
|
||||||
|
2000 if len(f$)>=30 then gosub 3000
|
||||||
|
2005 fm=fm+1:if fm/s<>int(fm/s) then return
|
||||||
|
2006 for h=1 to skl:
|
||||||
|
2007 poke fnplot(0),32
|
||||||
|
2010 j$=left$(f$,1):f$=mid$(f$,2)
|
||||||
|
2030 poke v,15:poke s1,254-len(f$):for m=1 to 10:next:poke 36875,0
|
||||||
|
2100 if j$="{up}"then yf=yf-1:goto 2200
|
||||||
|
2110 if j$="{rght}"then xf=xf+1:goto 2200
|
||||||
|
2120 if j$="{down}"then yf=yf+1:goto 2200
|
||||||
|
2130 if j$="{left}"then xf=xf-1:goto 2200
|
||||||
|
2150 goto 2200
|
||||||
|
2200 poke fnpl(0),42
|
||||||
|
2205 next
|
||||||
|
2210 return
|
||||||
|
3000 poke fnpl(0),32
|
||||||
|
3007 s=s-1:if s<1 then s=1
|
||||||
|
3008 j$=str$(el-s):for j=1 to len(j$):poke sc+j+502,asc(mid$(j$,j,1)):next
|
||||||
|
3010 for c= 1 to 10:j$=mid$(f$,c,1):if j$="{up}"then yf=yf-1:goto 3100
|
||||||
|
3020 if j$="{down}" then yf=yf+1:goto 3100
|
||||||
|
3030 if j$="{rght}" then xf=xf+1:goto 3100
|
||||||
|
3040 if j$="{left}" then xf=xf-1:goto 3100
|
||||||
|
3100 poke fnpl(0),42
|
||||||
|
3150 if c/sk=int(c/sk) then gosub 1000
|
||||||
|
3310 for m=c to c+2:poke s2,m*3+130:for n=1 to 10:next:next:poke s2,0
|
||||||
|
3350 poke fnplot(0),32
|
||||||
|
3400 next
|
||||||
|
3500 f$=mid$(f$,el):return
|
||||||
|
4000 if x=xf and y=yf then print dn$"a tasty morsel indeed!";:gosub 6000:goto 11000
|
||||||
|
4500 return
|
||||||
|
6000 poke 36877,220:for l=15 to 0 step -1:poke 36878,l:for m=1 to 300:next:next:poke 36877,0:poke 36878,15
|
||||||
|
6010 return
|
||||||
|
7000 for k=1 to 30
|
||||||
|
7005 poke 36876,220:for l=1 to 5:next:poke 36876,0:for l=1 to 5:next:poke 36876,200:for l=1 to 5:next
|
||||||
|
7010 poke 36876,0:for l=1 to 5:next:next
|
||||||
|
7100 j=int(p/256):poke 1,j:poke 2,p-j*256
|
||||||
|
7200 sk=peek(0)+1:poke 0,sk:goto 45
|
||||||
|
7999 goto 7000
|
||||||
|
8000 for m=1 to 500:gosub 1000:if len(f$)<20 then next
|
||||||
|
8010 for j=8142 to 8142+20:poke j,32:next
|
||||||
|
8100 gosub 1000:gosub 2000:gosub 4000:goto 8100
|
||||||
|
10000 dn$="{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rvon}{wht}"
|
||||||
|
10030 s=10:pc=0:sc=7680:ro=22
|
||||||
|
10050 def fnpl(xx)=(yf*ro+xf)+sc
|
||||||
|
10060 def fnch(xx)=peek((y*ro+x)+sc)
|
||||||
|
10077 so=10:poke 36878,15
|
||||||
|
10100 dd=37154:d1=37151:d2=37152:ad=63
|
||||||
|
10110 wl=102:di=90:sp=65:cl=88:he=83:ci=87:el=11
|
||||||
|
10120 v=36878:s1=36875:s2=36876
|
||||||
|
10500 ti$="000000"
|
||||||
|
10600 print dn$" go !!!!!! "
|
||||||
|
10700 print dn$"{rvof}{down}{blk}score:{wht} {blk}speed:{wht} 1{home}"
|
||||||
|
10800 print"{home}{rght}{down}";:x=1:y=1:xf=1:yf=1
|
||||||
|
10900 goto 8000
|
||||||
|
11000 rem game over
|
||||||
|
11010 poke 37154,255 ' joystick, "rimette a posto la candela"
|
||||||
|
11105 print:print"{down}time was ";mid$(ti$,3,2);" minutes, ";right$(ti$,2);" seconds"
|
||||||
|
11110 print"play again ? {CBM-@}{left}";
|
||||||
|
11120 get j$:if j$="" then 11120
|
||||||
|
11130 print j$:if j$="n"then end
|
||||||
|
11140 if j$="y" then run
|
||||||
|
11150 print:print"{up}";:goto11110
|
||||||
|
12000 dim a(3):a(0)=2:a(1)=-44:a(2)=-2:a(3)=44:wl=102:hl=32:sc=7680:a=sc+23:j=rnd(-ti) ' sc:inizio schermo
|
||||||
|
12010 poke 36879,110 'colore
|
||||||
|
12100 print chr$(142)"{clr}{yel}{rvof}";:for i = 1 to 21:print"{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}":next:poke a,4
|
||||||
|
12200 j=int(rnd(1)*4):x=j
|
||||||
|
12205 b=a+a(j)
|
||||||
|
12210 if peek(b) = wl then poke b,j:poke a+a(j)/2,hl:a=b:goto 12200
|
||||||
|
12240 j=(j+1)*-(j<3):ifj<>xthen12205
|
||||||
|
12250 j=peek(a):poke a,hl:if j<4 then a=a-a(j):goto 12200
|
||||||
|
12300 print"{home}{down}{rght}V"
|
||||||
|
12305 read j,k,c:if j<0 then 12500
|
||||||
|
12310 for a=1 to j
|
||||||
|
12320 b=int(rnd(1)*410):if(b-21)/22=int((b-21)/22) then 12320
|
||||||
|
12330 if peek(b+7702)<>32 then 12320
|
||||||
|
12340 poke b+7702,k:poke b+38422,c
|
||||||
|
12350 next:goto 12305
|
||||||
|
12400 data 2,90,1,4,65,0,7,88,5,9,83,2,39,87,3,-1,0,0
|
||||||
|
12450 print"12450:p="p
|
||||||
|
12500 return
|
||||||
|
14000 poke 36879,46 'colore
|
||||||
|
14010 print chr$(14)"{clr}{wht}{down}{down}{down}{down}{down}{down}{rght}{rght} {CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@} {rvon}SuperChase{rvof}"
|
||||||
|
14050 print"{down}{down}{down}{down}{down} Skill Level (1-9):{rvon} {rvof}{left}{left}";
|
||||||
|
14060 get j$:if j$ = ""then 14060
|
||||||
|
14070 sk =val(j$):if sk<1 or sk>9 then 14060
|
||||||
|
14075 poke 0,sk ' jump to USR...?
|
||||||
|
14080 print sk:poke 0,sk:return
|
Loading…
Reference in New Issue