10 CLEAR 200,&HD000 20 GOSUB 50000 30 END 50000 REM------------- 50010 REM PCG CONTROL 50020 REM------------- 50030 RESTORE 50100 50040 FOR I=&HDB00 TO AD+&HDC2F 50050 READ A$:POKE I,VAL("&H"+A$) 50060 NEXT 50070 RETURN 50100 DATA 21,00,00,22,00,FC,22,02,FC,22,04,FC,21,00,D0,22 50110 DATA 08,FC,21,00,D8,22,0A,FC,21,00,E2,22,06,FC,AF,2A 50120 DATA 08,FC,5D,54,13,77,01,FF,07,ED,B0,2A,0A,FC,5D,54 50130 DATA 13,77,01,FF,02,ED,B0,C9,0E,18,79,3D,32,04,FC,06 50140 DATA 20,78,3D,32,02,FC,C5,CD,51,DB,C1,10,F4,0D,20,EA 50150 DATA C9,2A,04,FC,29,29,29,29,29,E5,ED,4B,02,FC,09,ED 50160 DATA 4B,0A,FC,09,3A,00,FC,77,E1,29,29,29,ED,4B,02,FC 50170 DATA 09,ED,4B,06,FC,09,EB,ED,4B,08,FC,2A,00,FC,29,29 50180 DATA 29,09,EB,06,08,1A,77,C5,01,20,00,09,13,C1,10,F5 50190 DATA C9,E1,5E,23,56,EB,18,09,1E,06,C3,01,04,2A,5C,FF 50200 DATA 23,7C,B5,28,F3,E5,23,23,23,23,7E,FE,83,20,E2,23 50210 DATA CD,06,0E,7A,B7,C2,55,07,EB,29,29,29,ED,4B,08,FC 50220 DATA 09,EB,7E,FE,2C,C2,EA,03,23,06,08,7E,D6,30,DA,EA 50230 DATA 03,FE,0A,38,17,D6,07,FE,0A,DA,EA,03,FE,10,38,0C 50240 DATA D6,20,FE,0A,DA,EA,03,FE,10,D2,EA,03,07,07,07,07 50250 DATA 4F,23,7E,D6,30,DA,EA,03,FE,0A,38,17,D6,07,FE,0A 50260 DATA DA,EA,03,FE,10,38,0C,D6,20,FE,0A,DA,EA,03,FE,10 50270 DATA D2,EA,03,81,12,23,13,10,B2,E1,5E,23,56,EB,2B,22 50280 DATA 5C,FF,C9,00,00,00,00,00,00,00,00,00,00,00,00,00 |
100 RESTORE 1000 110 FOR I=0 TO 2:EXEC &HDB9D:NEXT 1000 DATA 10,0000000000000000 1010 DATA 11,FFFFFFFFFFFFFFFF 1020 DATA 12,FFC3C3C3C3C3C3FF |
POKE&HFC00,2:POKE&HFC02,16:POKE&HFC04,4:EXEC &HDB9D |
POKE&HFC00,2:EXEC &HDB38 |
A=PEEK(&HD800+16+4*32) |
50 BINIT=&HDB00 51 BFILL=&HDB38 52 BSET =&HDB9D 53 BPUT =&HDB51 54 BCHR =&HFC00 55 BX =&HFC02 56 BY =&HFC04 57 PNT =&HD800 70 REM------------------------ 80 REM MAIN 90 REM------------------------ 100 SCREEN 3,2,2:CONSOLE 0,16,0,0:COLOR 3,1,1:CLS 110 EXEC BINIT 120 RESTORE 1000 130 FOR I=0 TO 14 140 EXEC BSET 150 NEXT 160 POKE BCHR,0:EXEC BFILL:POKE BCHR,1 170 FOR I=0 TO 31:POKE BX,I 180 POKE BY,1:EXEC BPUT:POKE BY,23:EXEC BPUT 190 NEXT 200 FOR I=2 TO 22:POKE BY,I 210 POKE BX,0:EXEC BPUT:POKE BX,31:EXEC BPUT 220 NEXT 230 X=16:Y=12:EX=1:EY=2:F=0:M=0:S=0:GOSUB 900 240 FX=RND(1)*30+1:FY=RND(1)*21+2 250 IF PEEK(PNT+FX+FY*32)<>0 THEN 300 260 POKE BX,FX:POKE BY,FY 270 POKE BCHR,(1+(M AND 1)*2):EXEC BPUT 300 T=STICK(0):M=M+1 310 VX=(T=7)-(T=3):VY=(T=1)-(T=5) 320 IF VX<>0 OR VY<>0 THEN GOSUB 960 330 A=PEEK(PNT+(X+VX)+(Y+VY)*32) 340 IF A=0 OR A=2 THEN 500 350 IF A=1 THEN VX=0:VY=0:GOTO 500 360 S=S+10:GOSUB 900 370 F=1:PLAY"V13O5C32G32" 500 X=X+VX:Y=Y+VY 510 POKE BX,X:POKE BY,Y 520 POKE BCHR,2:EXEC BPUT 600 POKE BX,EX:POKE BY,EY 610 POKE BCHR,0:EXEC BPUT 620 VX=SGN(X-EX):VY=SGN(Y-EY) 630 IF VX=0 OR VY=0 THEN 660 640 IF RND(1)*2>1 THEN VX=0:GOTO 660 650 VY=0 660 A=PEEK(PNT+(EX+VX)+(EY+VY)*32) 670 IF A=1 AND (M AND 1)=0 THEN VX=0:VY=0 680 EX=EX+VX:EY=EY+VY:PLAY"V13O3C32" 690 POKE BX,EX:POKE BY,EY 700 POKE BCHR,4:EXEC BPUT 710 IF X=EX AND Y=EY THEN 800 720 GOTO 240 800 EXEC&H1058 810 POKE BX,X:POKE BY,Y 820 FOR I=0 TO 30 830 POKE BCHR,2:EXEC BPUT 840 POKE BCHR,4:EXEC BPUT 850 NEXT 860 IF INKEY$="" THEN 860 870 GOTO 160 900 A$=" "+STR$(S) 910 FOR I=0 TO 4 920 POKE BX,6-I:POKE BY,0 930 POKE BCHR,(VAL(MID$(A$,LEN(A$)-I,1))+5):EXEC BPUT 940 NEXT 950 RETURN 960 POKE BX,X:POKE BY,Y 970 POKE BCHR,F:EXEC BPUT 980 F=0:PLAY"V13O4C32" 990 RETURN 1000 DATA 0,AAAAAAAAAAAAAAAA 1010 DATA 1,DD77DD77DD77DD77 1020 DATA 2,BE979600820028EB 1030 DATA 3,8AA2B2FFFFFFFFBE 1040 DATA 4,69557755486996AA 1050 DATA 5,56666666666656AA 1060 DATA 6,9A5A9A9A9A9A56AA 1070 DATA 7,56A6A6566A6A56AA 1080 DATA 8,56A6A656A6A656AA 1090 DATA 9,66666656A6A6A6AA 1100 DATA 10,566A6A56A6A656AA 1110 DATA 11,566A6A56666656AA 1120 DATA 12,56A6A69A9A9A9AAA 1130 DATA 13,56666656666656AA 1140 DATA 14,56666656A6A656AA |