TOUCHSCREEN REM WAS8BIT GLOBAL DA DIM GLOBAL A(4),W(4),STAT(4),OSTAT(4) GLOBAL YBEAT FOR I=1 TO 60 SPRITE I,,,1 NEXT I DA=2*PI/15 ITOUCH=0 DO IF TOUCH AND ITOUCH=0 THEN ITOUCH=1 TX=TOUCH.X\8 TY=TOUCH.Y\8 IF TX<4 AND TY<4 THEN ADD STAT(1),1,0 TO 1 IF TX>16 AND TY<4 THEN ADD STAT(2),1,0 TO 1 IF TX<4 AND TY>12 THEN ADD STAT(3),1,0 TO 1 IF TX>16 AND TY>12 THEN ADD STAT(4),1,0 TO 1 FOR I=1 TO 4 NUMBER 5+I*2,7,STAT(I),1 NEXT I WAIT 15 ELSE ITOUCH=0 CLS END IF CALL STARWAVE CALL BUBBLES CALL TWINKLE CALL RHYTHM WAIT VBL LOOP SUB DOBEAT(I,S,D) IF I=-1 THEN SPRITE OFF 46 TO 60 ELSE PLAY 3,20+S,D SOUND 3 ADD YBEAT,10 END IF END SUB SUB RHYTHM IF STAT(4)=1 THEN ADD YBEAT,-1 IF YBEAT<5 THEN YBEAT=5 ADD A(4),0.1 FOR I=1 TO 15 Y=SIN(A(4)+0.5*I)*YBEAT SPRITE 45+I,1.5*8+I*8,64+Y,3 NEXT I END IF IF OSTAT(4)=0 AND STAT(4)=1 THEN OSTAT(4)=1 ELSE IF OSTAT(4)=1 AND STAT(4)=0 THEN CALL DOBEAT(-1,0,0) OSTAT(4)=0 END IF IF STAT(4)=1 THEN RR=RND(3) R=RND(1) ADD W(4),1,0 TO 144 IF W(4) MOD 12 = 0 THEN IF W(4)=12 THEN CALL DOBEAT(0,0,1) IF W(4)=24 THEN CALL DOBEAT(0,R,3) IF W(4)=48 THEN CALL DOBEAT(0,0,1) IF W(4)=60 THEN CALL DOBEAT(0,1,3) IF W(4)=84 THEN CALL DOBEAT(0,0,1) IF W(4)=96 THEN CALL DOBEAT(0,R,3) IF W(4)=120 THEN CALL DOBEAT(0,0,1) IF W(4)=132 THEN CALL DOBEAT(0,RR,3) END IF END IF END SUB SUB TWINKLE IF OSTAT(3)=0 AND STAT(3)=1 THEN MUSIC OSTAT(3)=1 ELSE IF OSTAT(3)=1 AND STAT(3)=0 THEN STOP OSTAT(3)=0 END IF ADD W(3),1,0 TO 1 FOR I=31 TO 40 YSPR=SPRITE.Y(I) CSPR=SPRITE.C(I) ADD CSPR,1,1 TO 2 IF W(3)=0 AND STAT(3)=1 AND RND(20)=0 THEN SPRITE I,RND(160),RND(70),CSPR END IF IF RND(20)=0 AND STAT(3)=0 THEN SPRITE I,,-5, NEXT I END SUB SUB BUBBLES ADD W(2),1,0 TO 3 IF W(2)=0 AND STAT(2)=1 THEN ADD A(2),1,16 TO 30 SPRITE A(2),RND(160),130, PLAY 1,12+RND(24),1 SOUND 1 END IF FOR I=16 TO 30 YSPR=SPRITE.Y(I) IF YSPR>-3 THEN SPRITE I,SPRITE.X(I)+RND(1)-RND(1),YSPR-1-RND(2), END IF NEXT I END SUB SUB STARWAVE R=PEEK($FF5B)/2.2 IF SPRITE.X(1)>0 AND R=0 THEN SPRITE OFF 1 TO 15 IF R>0 THEN ADD A(1),0.1 FOR I=1 TO 15 SPRITE I,80+R*SIN(A(1)+I*DA),63+R*COS(A(1)+I*DA), NEXT I W(1)=250 ELSE IF R=0 THEN IF STAT(1)=1 THEN ADD W(1),-1,0 TO 250 IF W(1)=0 THEN PLAY 2,90,1 SOUND 0 END IF END IF END SUB #1:MAIN PALETTES 000B070300383400003C0C00003F3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 A040A00000000000E0A0E00000000000 8820702088000000A8508850A8000000 10000054000010001010106C10101000 #15:MAIN SOUND 380000FF10000F002C00110000004F00 0800606410000D002800006D19FE0F00 38002020000000003800505000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 80404040014040400240404003404040 04404040054040400640404007404040 08404040094040400A4040400B404040 0CC04040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 372F00FF000000000000000000000000 0000372F00FF00000000000000000000 000000003E2F00FF0000000000000000 0000000000003E2F00FF000000000000 0000000000000000402F00FF00000000 00000000000000000000402F00FF0000 0000000000000000000000003E2F00FF 00000000000000000000000000000000 00000000000000000000000000000000 3C2F00FF000000000000000000000000 00003C2F00FF00000000000000000000 000000003B2F00FF0000000000000000 0000000000003B2F00FF000000000000 0000000000000000392F00FF00000000 00000000000000000000392F00FF0000 000000000000000000000000372F00FF 00000000000000000000000000000000 00000000000000000000000000000000 3E2F00FF000000000000000000000000 00003E2F00FF00000000000000000000 000000003C2F00FF0000000000000000 0000000000003C2F00FF000000000000 00000000000000003B2F00FF00000000 000000000000000000003B2F00FF0000 000000000000000000000000392F00FF 00000000000000000000000000000000 00000000000000000000000000000000 3E2F00FF000000000000000000000000 00003E2F00FF00000000000000000000 000000003C2F00FF0000000000000000 0000000000003C2F00FF000000000000 00000000000000003B2F00FF00000000 000000000000000000003B2F00FF0000 000000000000000000000000392F00FF 00000000000000000000000000000000 00000000000000000000000000000000 372F00FF000000000000000000000000 0000372F00FF00000000000000000000 000000003E2F00FF0000000000000000 0000000000003E2F00FF000000000000 0000000000000000402F00FF00000000 00000000000000000000402F00FF0000 0000000000000000000000003E2F00FF 00000000000000000000000000000000 00000000000000000000000000000000 3C2F00FF000000000000000000000000 00003C2F00FF00000000000000000000 000000003B2F00FF0000000000000000 0000000000003B2F00FF000000000000 0000000000000000392F00FF00000000 00000000000000000000392F00FF0000 000000000000000000000000372F00FF 00000000000000000000000000000000 00000000000000000000000000000000