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;"¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡":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;"êå÷åìó áîä ôòåáóõòå"; 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;" óõðåòãèáóåÿ":? #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