PAPPLE

 
10 REM *** PAPPLE (GAME 19) *** 20 POKE -851,1:CLEAR 400:SCREEN 1,2,0:DEFUSR=&H90 30 WIDTH 29:COLOR 15,1,1:KEY OFF 40 DIM EX(3),EY(3),MX(3),MY(3),C(3) 50 FOR J=1 TO 9:READ W:W=W*8 60 FOR I=W TO W+7:READ C$ 70 VPOKE I,VAL("&h"+C$):NEXT I,J 80 VPOKE 8221,&H43:VPOKE 8223,&H90 90 FOR J=1 TO 6:SP$="":FOR I=1 TO 32 100 READ C$:SP$=SP$+CHR$(VAL("&h"+C$)) 110 NEXT:SPRITE$(J)=SP$:NEXT 120 A1$=CHR$(240)+CHR$(242) 130 A2$=CHR$(241)+CHR$(243) 140 K$=CHR$(232):M$="GRGGRGGRERAARAARERFFRFFRDREFEDFF+" 150 R=1:M=2:S=0:GOSUB 820 160 PLAY "v15t118l16egregrercercercrn22crn22crn22rn22r" 170 CLS:PUT SPRITE 1,(0,208),0,1 180 VPOKE &H201E,(R MOD 2)*80+48:P=0 190 LOCATE 2,1:PRINT "HI-";HI 200 LOCATE 12,1:PRINT "SC-";S 210 PRINT:PRINT STRING$(28,232) 220 FOR J=1 TO 4 230 PRINT K$;:FOR I=1 TO 6:PRINT" ";A1$;:NEXT:PRINT" ";K$ 240 PRINT K$;:FOR I=1 TO 6:PRINT" ";A2$;:NEXT:PRINT" ";K$ 250 PRINT K$;:FOR I=1 TO 6:PRINT A1$;K$;K$;:NEXT:PRINT A1$;K$ 260 PRINT K$;:FOR I=1 TO 6:PRINT A2$;K$;K$;:NEXT:PRINT A2$;K$ 270 NEXT 280 PRINT K$;:FOR I=1 TO 6:PRINT" ";A1$;:NEXT:PRINT" ";K$ 290 PRINT K$;:FOR I=1 TO 6:PRINT" ";A2$;:NEXT:PRINT" ";K$ 300 PRINT STRING$(28,232) 310 LOCATE 22,1:PRINT STRING$(M,133);TAB(26);R 320 FOR I=1 TO 3:EX(I)=120:EY(I)=64 330 MX(I)=0:MY(I)=0:C(I)=2 340 PUT SPRITE I,(120,64),I+11,1:NEXT 350 X=120:Y=128:B=3:D=1 360 PUT SPRITE 4,(X,Y),10,B 370 FOR I=0 TO 100:NEXT:PLAY"L16S1" 380 XX=X:YY=Y:I=STICK(0) OR STICK(1) 390 IF I=7 AND X>24 THEN X=X-16:B=3 400 IF I=3 AND X<216 THEN X=X+16:B=4 410 IF I=1 AND Y>32 THEN Y=Y-16:B=5 420 IF I=5 AND Y<156 THEN Y=Y+16:B=6 430 ON INSTR(CHR$(232)+CHR$(240)+CHR$(250),CHR$(VPEEK(&H1800+X/8+Y*4)))+1 GOTO 550,440,460,450 440 X=XX:Y=YY:GOTO 550 450 S=S+INT(RND(1)*4+1)*100:GOTO 470 460 S=S+10:P=P+1 470 IF S>HI THEN HI=S:LOCATE 6,1:PRINT S 480 LOCATE 16,1:PRINT S 490 LOCATE X/8-2,Y/8:PRINT " " 500 LOCATE X/8-2,Y/8+1:PRINT " " 510 IF P=99 THEN 780 520 IF P<>42 THEN 550 ELSE P=83 530 LOCATE 13,12:PRINT CHR$(250);CHR$(252) 540 LOCATE 13,13:PRINT CHR$(251);CHR$(253) 550 PUT SPRITE 4,(X,Y),10,B 560 PLAY"v15"+MID$(M$,D,1):D=D+1 570 W=INT(RND(1)*3)+1:C(W)=3-C(W) 580 FOR I=1 TO 3:IF MX(I)+MY(I) THEN 630 590 IF RND(1)<.5 THEN MX(I)=SGN(X-EX(I))*32:GOTO 630 600 IF RND(1)<.5 THEN MY(I)=SGN(Y-EY(I))*32:GOTO 630 610 IF RND(1)<.5 THEN MX(I)=INT(RND(1)*7)*32+24-EX(I):GOTO 630 620 MY(I)=INT(RND(1)*5+1)*32-EY(I) 630 IF MX(I) THEN W=SGN(MX(I))*(11+((EX(I) MOD 32)=24)):EX(I)=EX(I)+W:MX(I)=MX(I)-W 640 IF MY(I) THEN W=SGN(MY(I))*(11+((EY(I) MOD 32)=0)):EY(I)=EY(I)+W:MY(I)=MY(I)-W 650 PUT SPRITE I,(EX(I),EY(I)),I+11,C(I) 660 IF ABS(EX(I)-X)<16 AND ABS(EY(I)-Y)<16 THEN 690 670 NEXT:PLAY "v15"+MID$(M$,D,1-(D=32)) 680 D=D MOD 32+1:GOTO 380 690 PUT SPRITE I,(X,Y),I+11,C(I) 700 W=USR(0) 710 PLAY "v15l4eo4aao5e8d2c8o4ba4o5" 720 IF PLAY(0) THEN 720 730 M=M-1:IF M>=0 THEN 310 740 LOCATE 10,12:PRINT "GAME OVER" 750 LOCATE 9,14:PRINT "PUSH ANY KEY" 760 IF INKEY$<>"" THEN 760 770 IF INKEY$="" THEN 770 ELSE 150 780 PUT SPRITE 4,(X,Y),10,B 790 IF R>1 THEN VPOKE &H201D,&H64 800 IF R>3 THEN VPOKE &H201D,0 810 W=USR(0):R=R+1:GOTO 160 820 CLS:PUT SPRITE 1,(0,208),0,1 830 VPOKE &H201E,&H90:LOCATE 0,4 840 PRINT " PPP A PPP PPP L EEE" 850 PRINT " P P A A P P P P L E " 860 PRINT " PPP A A PPP PPP L EEE" 870 PRINT " P AAA P P L E " 880 PRINT " P A A P P LLL EEE" 890 LOCATE 0,2:PRINT STRING$(27,250) 900 LOCATE 0,10:PRINT STRING$(27,250) 910 LOCATE 4,13 920 FOR I=1 TO 9:PRINT A1$;:NEXT 930 LOCATE 4,14 940 FOR I=1 TO 9:PRINT A2$;:NEXT 950 PLAY "v15f+c","fe","eg" 960 LOCATE 7,17:PRINT "PUSH ANY KEY" 970 IF INKEY$<>"" THEN 970 980 IF INKEY$="" THEN 980 ELSE RETURN 990 DATA 232,ff,ff,00,db,db,00,ff,ff 1000 DATA 240,00,03,00,00,00,06,1f,3f 1010 DATA 241,3f,3f,3f,3f,3f,3f,1e,00 1020 DATA 242,00,00,80,80,80,b0,f8,ec 1030 DATA 243,f4,f4,f4,f4,ec,fc,78,00 1040 DATA 250,00,0c,06,03,01,00,00,01 1050 DATA 251,03,07,0f,1b,3d,3e,3f,1f 1060 DATA 252,cc,6c,66,36,b6,00,f0,f8 1070 DATA 253,7c,8c,dc,ec,f8,f0,60,c0 1080 DATA 07,1f,3f,7f,63,c1,cd,cd 1090 DATA e3,ff,ff,7f,7f,3f,1f,07 1100 DATA e0,f8,fc,fe,c6,9b,9b,83 1110 DATA c7,ff,ff,fe,fe,fc,f8,e0 1120 DATA 00,00,00,0f,3f,7f,63,d9 1130 DATA d9,c1,e3,ff,7f,7f,3f,0f 1140 DATA 00,00,00,f0,fc,fe,c6,83 1150 DATA b3,b3,c7,ff,fe,fe,fc,f0 1160 DATA 07,1f,3f,1f,0f,07,03,01 1170 DATA 01,03,07,0f,1f,3f,1f,07 1180 DATA c0,f0,f8,fc,fe,fe,ff,ff 1190 DATA ff,ff,fe,fe,fc,f8,f0,c0 1200 DATA 03,0f,1f,3f,7f,7f,ff,ff 1210 DATA ff,ff,7f,7f,3f,1f,0f,03 1220 DATA e0,f8,fc,f8,f0,e0,c0,80 1230 DATA 80,c0,e0,f0,f8,fc,f8,e0 1240 DATA 00,00,20,70,78,fc,fe,ff 1250 DATA ff,ff,7f,7f,3f,1f,0f,03 1260 DATA 00,00,04,0e,1e,3f,7f,ff 1270 DATA ff,ff,fe,fe,fc,f8,f0,c0 1280 DATA 03,0f,1f,3f,7f,7f,ff,ff 1290 DATA ff,fe,fc,78,70,20,00,00 1300 DATA c0,f0,f8,fc,fe,fe,ff,ff 1310 DATA ff,7f,3f,1e,0e,04,00,00