10 CLS 20 REM 30 DIM CL(7):CL(0)=$45:CL(1)=$4D 35 CL(2)=$40:CL(3)=$46:CL(4)=$46:CL(5)=$42 40 DIM RO$(10,10),M(16,16),XF(10),YF(10),XD(10),YD(10),KY(60) 50 KY(32)=0:KY(31)=5:KY(30)=1:KY(29)=7:KY(28)=3 60 GOSUB 1020 70 R=1:N=3 90 GS=0:IF R>10 THEN R=1 100 GOSUB 400:LOCATE 4,23:PRINT T$; 110 REM CH=4:W=1:FOR V=17+(3-N)TO 19:GOSUB 512:NEXT 120 REM LOCATE 20,24:PRINT " Round ";R; 130 REM 140 K=STICK(0):IF K=0 THEN S=0:GOTO 180 141 IF K>27 AND K<32 THEN S=KY(K):GOTO 180 142 IF K<>32 THEN S=0:GOTO 180 150 GOSUB 670:GOTO 200 160 REM 170 GOTO 150 180 GOSUB 230:IF GS=0 THEN 140 190 GOSUB 800:R=R+1:GS=0:GOTO 90 200 N=N-1:IF N=0 THEN GOSUB 730:GOTO 70 210 GOTO 100 220 REM 230 DX=(S=3)-(S=7):DY=(S=5)-(S=1) 240 IF (DX=0) AND (DY=0) THEN RETURN 245 XX=XF+DX:YY=YF+DY:A=M(XX,YY) 250 IF (A=3) * ((XX+DX)=XD) * ((YY+DY)=YD) THEN GOSUB 800:R=R+1:GS=0:GOTO 90 260 IF (A=1) + (A=3) + (A=5) THEN RETURN 270 V=XF:W=YF:CH=0:GOSUB 512:XF=XF+DX:YF=YF+DY:V=XF:W=YF:CH=4:GOSUB 512 280 REM 290 XX=XD-DX:YY=YD-DY:A=M(XX,YY):IF (A=1) + (A=3) + (A=4) THEN RETURN 300 V=XD:W=YD:CH=0:GOSUB 512:XD=XD-DX:YD=YD-DY:V=XD:W=YD:CH=5:GOSUB 512 310 RETURN 400 CLS:CH=1:FOR W=0 TO 10 :V=0:GOSUB 512:V=15:GOSUB 512:NEXT 405 FOR V=0 TO 15:W=0:GOSUB 512:W=11:GOSUB 512:NEXT 410 FOR W=1 TO 10:FOR V=1 TO 13:SE$=MID$(RO$(R,W),(V+1)/2,1) 412 ES=VAL("$"+SE$):C8=ES 415 CH=INT(C8/4):GOSUB 512:V=V+1:CH=C8-CH*4:GOSUB 512:NEXT V:NEXT W 430 V=XF(R):W=YF(R):CH=4:GOSUB 512:XF=V:YF=W 440 V=XD(R):W=YD(R):CH=5:GOSUB 512:XD=V:YD=W: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 658 RETURN 660 REM 670 CLS:LOCATE 12,10:PRINT "Give up !";:RESTORE 690 680 FOR I=0 TO 4:READ M0,M1:SOUND M0,M1:NEXT:RETURN 690 DATA 350,10,350,10,330,5,292,5,261,30 720 REM 730 CLS 740 LOCATE 12,10:PRINT "Game over";:RESTORE 790 750 FOR I=0 TO 6:READ M0,M1:SOUND M0,M1:NEXT:RETURN 790 DATA 523,10,440,10,396,10,350,10,330,10,292,10,261,10 800 REM 810 CLS:LOCATE 12,10:PRINT "Clear!!";:RESTORE 870 820 FOR I=0 TO 6:READ M0,M1:SOUND M0,M1:NEXT:RETURN 870 DATA 261,10,330,10,261,10,330,10,261,10,494,10,523,10 1020 DATA ===============DATA SET =================================== 1030 RESTORE 1200 1070 FOR J = 1 TO 10:FOR I = 1 TO 10:READ RO$(J,I):NEXT 1080 READ XF(J),YF(J),XD(J),YD(J):NEXT 1085 GOSUB 2100:RETURN 1190 REM 1200 DATA 0000000,0000000,0004000,0004000,0000000 1210 DATA 0000000,000C000,0000000,0000000,0000000,10,5,3,6 1220 DATA 0000000,0000000,0001000,0001000,0001000 1230 DATA 0000000,0000000,0000000,00000C0,0000000,12,4,3,8 1240 DATA 0000000,1000004,1100044,1103044,1100044 1250 DATA 1000004,1001004,1000004,1000004,0000000,14,4,1,4 1260 DATA 0000000,0000000,0040000,0040000,0000000 1270 DATA 0000000,0C00000,0000000,0000000,0000000,9,5,2,5 1280 DATA 0000000,1000000,1000000,0000000,00C0000 1290 DATA 0000000,0000000,0000010,0000010,0000000,13,8,1,3 1300 DATA 0000000,0000000,0000000,0104000,01C4000 1310 DATA 0104000,0104000,0000000,0000000,0000000,13,9,2,2 1320 DATA 0000000,0000000,0000000,0000000,0000000 1330 DATA 0000000,0000000,0000000,0000000,0000000,4,3,8,10 1340 DATA 0000000,0000000,0000000,0000000,0000000 1350 DATA 0000000,0000000,0000000,0000000,0000000,14,10,9,10 1360 DATA 0000000,0000000,0000000,0000000,0000000 1370 DATA 0000000,0000000,0000000,0000000,0000000,10,1,8,2 1380 DATA 0000000,0000000,0000000,0000000,0000000 1390 DATA 0000000,0000000,0000000,0000000,0000000,1,1,14,1 2100 REM 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 FF,01,01,01,01,01,01,01 5030 DATA FF,80,80,80,80,80,80,80 5040 DATA 01,01,01,01,01,01,01,FF 5050 DATA 80,80,80,80,80,80,80,FF 5060 REM WALL 5070 DATA FE,01,F9,05,05,05,05,05 5080 DATA 7F,80,9F,A0,A0,A0,A0,A0 5090 DATA 05,05,05,05,05,F9,01,FE 5100 DATA A0,A0,A0,A0,A0,9F,80,7F 5110 REM ME 5120 REM NO TEIGI 5130 DATA 00,00,00,00,00,00,00,00 5140 DATA 00,00,00,00,00,00,00,00 5150 DATA 00,00,00,00,00,00,00,00 5155 DATA 00,00,00,00,00,00,00,00 5210 REM DIA 5220 DATA 80,C0,E0,F0,F8,FC,FE,FF 5230 DATA 01,03,07,0F,1F,3F,7F,FF 5240 DATA FF,FE,FC,F8,F0,E0,C0,80 5250 DATA FF,7F,3F,1F,0F,07,03,01 5260 REM BOY 5270 DATA 00,E0,F0,F8,FE,FE,CC,EC 5280 DATA 00,01,03,07,1F,1F,0C,0E 5290 DATA FC,3C,F8,F0,FC,FE,FE,00 5300 DATA 0F,0F,07,03,1F,3F,3F,00 5310 REM GIRL 5320 DATA 00,E0,F0,F8,FE,CE,DF,FD 5330 DATA 10,39,13,07,1F,3C,7D,7F 5340 DATA FD,3D,F8,F0,FC,FE,FE,00 5350 DATA 6F,6F,27,03,1F,3F,3F,00