10 REM 20 DIM RO(12,16),M(16,16),XF(16),YF(16),XD(16),YD(16),CL(9),KY(32) 25 CL(0)=$0:CL(1)=$4D:CL(2)=$42:CL(3)=$44:CL(4)=$46:CL(5)=$47 26 CL(6)=$0:CL(7)=$41:CL(8)=$46 27 KY(32)=9:KY(31)=5:KY(30)=1:KY(29)=7:KY(28)=3 30 GOSUB 880:GOSUB 2100 40 R=1:GOSUB 730 50 REM 60 N=3:GS=0:IF R>10 THEN R=1 70 PW=10:GOSUB 460:COLOR 6:GOSUB 340 80 REM 90 K=STICK(0):S=KY(K):IF S=9 THEN GOSUB 540:GOTO 140 95 GOTO 130 100 REM 110 REM 120 REM 130 GOSUB 160:IF GS=0 THEN 90 135 IF GS=1 THEN GOSUB 650:R=R+1:GOTO 60 140 N=N-1:IF N=0 THEN GOSUB 590:GOTO 40 145 IF N<>0 THEN GOTO 70 150 REM 160 REM 170 DX=(S=3)-(S=7):DY=(S=5)-(S=1) 180 IF (DX=0) AND (DY=0) THEN RETURN 190 XX=XF+DX:YY=YF+DY:A=M(XX,YY):IF A=1 THEN RETURN 200 PW=PW-1:GOSUB 260:IF PW < 1 THEN GOSUB 540:GOTO 140 210 IF A=0 THEN V=XF:W=YF:CH=0:GOSUB 512 215 IF A=0 THEN XF=XF+DX:YF=YF+DY:V=XF:W=YF:CH=4:GOSUB 512:GOSUB 260:RETURN 220 IF A=5 THEN V=XF:W=YF:CH=0:GOSUB 512 225 IF A=5 THEN GS=1:GOSUB 260:RETURN 230 IF A=2 THEN V=XF:W=YF:CH=0:GOSUB 512 235 IF A=2 THEN PW=PW+2:XF=XX:YF=YY:V=XF:W=YF:CH=4:GOSUB 512:GOSUB 260:RETURN 240 IF A=3 THEN V=XF:W=YF:CH=0:GOSUB 512 245 IF A=3 THEN PW=PW+4:XF=XX:YF=YY:V=XF:W=YF:CH=4:GOSUB 512:GOSUB 260:RETURN 250 RETURN 260 COLOR 0:FOR I=0 TO PW:LOCATE I,23:PRINT " ";:NEXT 265 COLOR 2:FOR I=0 TO PW-1:LOCATE I,23:PRINT "P";:NEXT 270 RETURN 330 REM 340 RETURN 450 REM 460 CLS:CH=1:FOR W=0 TO 10:V=0:GOSUB 512:V=15:GOSUB 512:NEXT 470 FOR V=0 TO 15:W=0:GOSUB 512:W=11:GOSUB 512:NEXT 480 FOR W=1 TO 10:FOR V=1 TO 13:C=VAL("$"+MID$(RO$(R,W),(V+1)/2,1)) 490 CH=INT(C/4):GOSUB 512:V=V+1:CH=C-CH*4:GOSUB 512:NEXT:NEXT 500 V=XF(R):W=YF(R):CH=4:GOSUB 512:XF=V:YF=W 510 V=XD(R):W=YD(R):CH=5:GOSUB 512:GOSUB 260:RETURN 512 M(V,W)=CH 514 CP=CH*4:X0=INT(V*2/2)*2+0:Y0=INT(W*2/2)*2+0:CD=CP+1 516 AD=$C100:AE=$C500 518 AD=AD+32*Y0+X0:AE=AE+32*Y0+X0 524 POKE AD,CD:POKE AE,CL(CH) 525 POKE AD+1,CP:POKE AE+1,CL(CH) 526 POKE AD+32,CP+3:POKE AE+32,CL(CH) 527 POKE AD+33,CP+2:POKE AE+33,CL(CH) 530 RETURN 540 LOCATE 10,8:PRINT "GIVE UP!":RESTORE 560:GOSUB 720 550 FOR I=0 TO 4:READ M0,M1:SOUND M0,M1:NEXT:RETURN 560 DATA 350,10,350,10,330,5,292,5,261,20 570 REM 580 REM 590 LOCATE 10,8:PRINT "GAME OVER":RESTORE 610:GOSUB 720 600 FOR I=0 TO 6:READ M0,M1:SOUND M0,M1:NEXT:RETURN 610 DATA 523,10,440,10,396,10,350,10,330,10,292,10,261,10 620 REM 630 REM 640 REM 650 LOCATE 10,8:PRINT "CLEAR!!":GOSUB 720 660 RESTORE 680:FOR I=1 TO 6 670 READ M0,M1:SOUND M0,M1:NEXT:RETURN 680 DATA 261,10,330,10,261,10,330,10,261,10,494,10,523,10 690 REM 700 REM 710 REM 720 FOR U=0 TO 500:NEXT:RETURN 730 CLS 740 S=STICK(0):IF S=1 THEN RETURN 750 CO=RND(1)*14+1 760 REM REM COLOR CO:PSET(70,80):PRINT #1,"ìüìüéìù°âàÞýœÞŽý" 770 REM COLOR 7:PSET(90,100):PRINT #1,"[PUSH SPACE]" 780 RETURN 870 REM 880 RESTORE 910:FOR J = 1 TO 10:FOR I = 1 TO 10:READ RO$(J,I):NEXT 890 READ XF(J),YF(J),XD(J),YD(J):NEXT:RETURN 900 REM 910 DATA 00CC303,1750554,111040C,1018554,1010034 920 DATA 1010554,0404C00,8150000,0904000,C401000,14,10,4,8 930 DATA 0008800,989C554,1750024,1110010,1010340 940 DATA 1010900,1012403,9CD0400,1010554,30000C0,1,1,10,8 950 DATA A330C00,9551414,1001146,1001004,1541006 960 DATA D001004,1001007,1029004,1EAD0C4,0000000,3,3,9,3 970 DATA AA0A023,154A150,101A404,1010404,1550400 980 DATA 90A8400,1000404,1000404,1000D50,0000003,1,10,10,3 990 DATA 0AA0280,1550550,1000404,1C00404,1540404 1000 DATA 1A00550,1200400,1A00402,1A00400,AA00003,1,1,10,7 1010 DATA 2008880,1551550,8061004,0041006,8041550 1020 DATA 0049842,8041810,1041006,0501C04,C030002,14,1,4,8 1030 DATA 2220222,0550556,9004A24,1004012,1000310 1040 DATA 98C0042,9004040,1004100,055C556,C200880,11,8,3,8 1050 DATA 0880220,1550404,0103412,0103440,81A0502 1060 DATA 81A0500,8100440,0180410,0100404,00C3082,3,3,11,6 1070 DATA 0000300,1001048,0404048,C11284A,0042840 1080 DATA 0110043,0684040,1281840,0280440,0000C30,5,4,4,5 1090 DATA 02E8000,1554404,0004110,0010040,0040110 1100 DATA 31004A4,06A08A8,12A0554,1554A80,C2A8554,6,3,11,3 2100 REM CH$(7) 2130 RESTORE 5020 2140 FOR AD=$C000 TO $C0BF 2150 READ I$ 2160 POKE AD,VAL("$"+I$) 2170 NEXT 2220 RETURN 5000 REM ********* CHR 5010 REM FLOOR 5020 DATA 00,00,00,00,00,00,00,00 5030 DATA 00,00,00,00,00,00,00,00 5040 DATA 00,00,00,00,00,00,00,00 5050 DATA 00,00,00,00,00,00,00,00 5060 REM WALL 5070 DATA 33,33,33,00,CC,CC,CC,00 5080 DATA 33,33,33,00,CC,CC,CC,00 5090 DATA 33,33,33,00,CC,CC,CC,00 5100 DATA 33,33,33,00,CC,CC,CC,00 5110 REM CHERRY 5120 DATA 00,00,00,00,00,00,80,40 5130 DATA 00,08,08,0C,0A,09,08,08 5140 DATA 3C,3E,7F,7F,7F,3E,1C,00 5150 DATA 08,1C,3E,7F,7F,7F,7E,3C 5160 REM GRAPE 5170 DATA 00,00,00,C0,E0,E0,C0,30 5180 DATA C0,80,C0,20,11,09,0E,0F 5190 DATA 78,78,30,C0,EC,FE,DE,0C 5200 DATA 0F,06,18,3C,3D,19,00,00 5210 REM ME 5220 REM FUWAFUWA 5230 DATA 00,E0,F0,F8,8C,74,FE,FE 5240 DATA 00,07,0F,1F,31,2E,7F,7F 5250 DATA FE,1E,3C,78,E0,80,80,C0 5260 DATA 7F,78,3C,1E,07,01,01,03 5270 REM EXIT 5280 DATA 00,E0,98,AC,B6,BA,BA,9A 5290 DATA 00,07,19,35,6D,5D,5D,59 5300 DATA AA,9A,BA,BA,BA,BA,BA,00 5310 DATA 55,59,5D,5D,5D,5D,5D,00