20 DIMMN(4,6),DR(8),RM(4) 30 FORI=1TO4:FORJ=1TO6:READMN(I,J):NEXTJ:NEXTI:FORI=1TO8:READDR(I):NEXT 40 FORI=1TO4:RM(I)=1:NEXT 50 DATA7792,5,6,22,7,1,7802,8,9,1,10,5,7946,15,16,1,17,2,7956,23,24,22,25,4 60 DATA1,-1,-22,-21,-23,22,23,21 70 DEFFNY(X)=INT(X/22):DEFFNX(X)=X-(FNY(X)*22):DEFFNA(X)=INT(RND(1)*X)+1 80 TP$="(,,,,,,,,,,,,,,,,,,,,)":BT$="+,,,,,,,,,,,,,,,,,,,,*" 90 SI$="- -":ML$="@@@@@@@@@":LV=1:SC=0:MQ=1 100 POKE36878,10:POKE36879,8:POKE36869,252:C=30720:P=7910 110 IFTC=4THENTC=0:GOSUB790 120 GOSUB180 130 GOSUB430:P=(MN(RM,1)+8)+9*(P1=-1) 140 IFMQ<>11THENGOTO110 150 PRINT"[147][158]GAME OVER[146]" 160 PRINT"PRESS ANY KEY":PRINT"TO PLAY AGAIN[146]" 170 POKE198,0:WAIT 198,1:PRINT"":RUN 180 GOSUB690:GOSUB710:PRINT"":FORI=1TO4:IFRM(I)=0THENPOKEMN(I,1)+3,160 190 NEXT:POKEP,46:POKEP+C,2:GOSUB760 200 SYS7168:P1=DR(PEEK(820)):TP=PEEK(P+P1) 210 IF(TP<>32)AND(TP<>39)THEN200 220 P=P+P1:IFTP=32THENPOKEP-P1,32:POKEP+C,2:POKEP,46:GOTO200 230 TP=P:FORI=1TO4:IF(MN(I,1)=P)OR(MN(I,1)+7=P)THENRM=I:I=5 240 NEXTI:P=7897+(17*(P=MN(RM,1))):MT=MN(RM,2):MB=MN(RM,3):MP=MN(RM,4) 250 MD=MN(RM,5):MC=MN(RM,6) 260 IFRM(RM)=1THENPOKEP-P1,32:POKEP+C,2:POKEP,46:RETURN 270 P=TP-P1:GOTO200 280 FORI=1TO4:MM=MM+1:IFMM=4THENMM=0 290 IFM(MM)<>0THENI=6 300 NEXTI 310 IFI=5THENRETURN 320 V1=P-7680:Y1=FNY(V1):X1=FNX(V1):V=M(MM)-7680:Y=FNY(V):X=FNX(V) 330 M=22*(Y>Y1)-22*(YX1):TM=M(MM)+M:Q=PEEK(TM) 340 R=PEEK(TM+MP) 350 IF(Q=0)OR(R=0)THENMQ=MQ+1:GOTO410 360 IF(M<>MP)AND(M<>-MP)THEN400 370 IFM=MPTHENIF(R<>0)AND(R<>32)THENRETURN 380 IFM=-MPTHENIF(Q<>0)AND(R<>32)THENRETURN 390 GOTO410 400 IF(Q<>32)OR(R<>32)THENRETURN 410 POKEM(MM),32:POKEM(MM)+MP,32:POKETM+C,MC:POKETM+MP+C,MC:POKETM,MT 420 POKETM+MP,MB:M(MM)=TM:RETURN 430 GOSUB690:GOSUB740:GOSUB760:POKEP,0:POKEP+C,2 440 FORI=0TO3 441 X=FNA(19):Y=FNA(13):Z=7680+X+(Y*22) 442 IFPEEK(Z)<>32THEN441 443 POKEZ,MT:POKEZ+MP,MB 450 POKEZ+C,MC:POKEZ+MP+C,MC:M(I)=Z:NEXTI 470 X=FNA(18)+1:Y=FNA(12)+1:Z=X+7680+(Y*22):IFPEEK(Z)<>32THEN470 480 TR=10+RM:TL=Z:POKETL,TR:POKETL+C,6 490 SYS7168:P1=PEEK(820):C1=P1:P1=DR(P1) 500 IFPEEK(P+P1+P1)=93THENRETURN 510 T=MQ:GOSUB280:TP=PEEK(P+P1+P1):IFMQ=TTHEN540 520 IFRM(RM)=0THENRM(RM)=1:SC=SC-300:TC=TC-1 530 RETURN 540 IF(TP<=45)AND(TP>=40)THENP1=0:C1=0 550 IFPEEK(824)THENGOSUB610:GOTO490 560 IF(P+P1)<>TLAND(P+P1+P1)<>TLTHEN570 561 RM(RM)=0:TC=TC+1:SC=SC+300:GOSUB760:POKETL+C,0:POKETL,32:TL=0:GOTO490 570 G=PEEK(P+P1):H=PEEK(P+P1+P1):IF(G<>MT)AND(G<>MB)AND(H<>MT)AND(H<>MB)THEN580 575 MQ=MQ+1:IFRM(RM)=0THENRM(RM)=1:TC=TC-1:SC=SC-300 576 RETURN 580 IFC1=0THEN490 590 POKEP+P2,32:POKEP,32:P=P+P1:POKEP+C,2:POKEP+P1+C,3 600 POKEP,0:POKEP+P1,63+C1:P2=P1:C2=C1:GOTO490 610 AL=P+P2:S=0:IFC2=0THENP2=22:C2=1:POKE36876,200 620 S=S+1:POKEAL+((S-1)*P2),32:POKE36876,200-S*5:BL=PEEK(AL+(S*P2)) 630 IF(BL=MT)OR(BL=MB)THENSC=SC+10:GOSUB760:POKE36876,0:GOTO660 640 IFPEEK(AL+(S*P2))<>32THENPOKEP+P2,63+C2:POKE36876,0:RETURN 650 POKEAL+(S*P2),63+C2:POKEAL+(S*P2)+C,CL+1:GOTO620 660 AC=AL+(S*P2):FORA=0TO3:POKE36877,200 670 IFAC=M(A)ORAC=M(A)+MPTHENPOKEM(A),32:POKEM(A)+MP,32:M(A)=0:POKE36877,0:RETURN 680 NEXTA:POKE36877,0:RETURN 690 PRINT"[147]";:PRINTTP$;:FORI=1TO17:PRINTSI$;:NEXT:PRINTBT$; 700 RETURN 710 PRINT"";:FORB=1TO2:PRINT"(,,,,,,) (,,,,,,)"; 720 PRINT"- - - -";:PRINT"' ' ' '"; 730 PRINT"- - - -";:PRINT"+,,,,,,* +,,,,,,*";:NEXTB:RETURN 740 PRINT""; 750 FORI=1TO3:PRINT"[221][221]";:NEXT:RETURN 760 PRINT""; 770 PRINTLEFT$(ML$,11-MQ)CHR$(13);:PRINT"[158]SCORE";SC;"[157] LEVEL"LV"[146]"; 780 PRINT"";:PRINT"";:RETURN 790 FORI=1TO4:RM(I)=1:NEXT:LV=LV+1 800 PRINT"[147]YOU HAVE":PRINT"ACHIEVED LEVEL"LV"[146]" 810 FORI=1TO2000:NEXT:RETURN