DIM DX(8),DY(8) FOR I=1 TO 8 READ DX(I),DY(I) NEXT I DATA 0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1 RANDOMIZE TIMER REM WASHAW GAMES ITOTAL=0 IHOLE=0 ISTROKE=0 RESET: ITOTAL=ITOTAL+ISTROKE IHOLE=IHOLE+1 IF IHOLE=19 THEN GOTO ENDGAME ISTROKE=1 IBONUS=9 BG 1 ATTR(0,,,,) IMAX=INT(RND*10)+3 C=INT(RND*8)+1 FOR IY=0 TO 15 FOR IX=0 TO 19 IF INT(RND*IMAX)>0 THEN C=0 ELSE C=INT(RND*8)+1 IF INT(RND*3)=0 THEN IF C<>0 THEN C=C+INT(RND*3)-1 IF C=9 THEN C=1 IF C=0 THEN C=8 END IF END IF CELL IX,IY,C NEXT IX NEXT IY REM ADD SPECIAL STUFF II=INT(RND*50) FOR I=1 TO II CELL INT(RND*20),INT(RND*16),INT(RND*4)+49 NEXT I BX=8*3 BY=8*3 TX=8*17 TY=8*13 BDX=0 BDY=0 SPRITE 0,BX,BY,9 SPRITE 1,TX,TY,10 SPRITE.A 1,(1,,,,) SPRITE 2,INT(RND*18*8),INT(RND*13*8),11 SPRITE.A 2,(2,,,,) REM ADD OUTER WALL IF INT(RND*2)=1 THEN FOR IX=1 TO 18 CELL IX,0,21 CELL IX,15,17 NEXT IX FOR IY=1 TO 14 CELL 0,IY,19 CELL 19,IY,23 NEXT IY CELL 0,0,20 CELL 19,15,24 CELL 0,15,18 CELL 19,0,22 END IF REM ADD INNER WALL IF INT(RND*2)=1 THEN FOR IX=6 TO 13 CELL IX,5,33 CELL IX,10,37 NEXT IX FOR IY=6 TO 9 CELL 5,IY,39 CELL 14,IY,35 NEXT IY CELL 5,5,40 CELL 14,10,36 CELL 5,10,38 CELL 14,5,34 END IF ITIME=0 DO IFLASH=(IFLASH+1) MOD 60 IF IFLASH=0 THEN BG 0 ISHOW=(ISHOW+1) MOD 2 IF ISHOW=0 THEN TEXT 0,0," " ELSE ATTR(3,,,,) NUMBER 4,0,IHOLE,2 NUMBER 10,0,ISTROKE,2 NUMBER 15,0,ITOTAL,3 ITIME=(ITIME+1) MOD 3 TEXT 2,0,"H:" TEXT 8,0,"S:" TEXT 13,0,"T:" IF ITIME=0 THEN ISTROKE=ISTROKE+1 END IF END IF IF TOUCH THEN TDX=SGN(TOUCH.X-BX)/24 TDY=SGN(TOUCH.Y-BY)/24 BDX=BDX+TDX BDY=BDY+TDY IF BDX>2 THEN BDX=2 IF BDY>2 THEN BDY=2 IF BDX<-2 THEN BDX=-2 IF BDY<-2 THEN BDY=-2 END IF BG 1 C=CELL.C((BX+4)\8,(BY+4)\8) IF C<16 THEN BDX=BDX+(DX(C)/6) BDY=BDY+(DY(C)/6) IF BDX>2 THEN BDX=2 IF BDY>2 THEN BDY=2 IF BDX<-2 THEN BDX=-2 IF BDY<-2 THEN BDY=-2 ELSE IF C<48 THEN IF C<32 THEN CC=C-16 ELSE CC=C-32 XM=ABS(BDX) YM=ABS(BDY) IF DX(CC)<>0 THEN BDX=DX(CC)*XM IF DY(CC)<>0 THEN BDY=DY(CC)*YM ELSE IF C=49 THEN BDX=BDX*0.95 BDY=BDY*0.95 ELSE IF C=50 THEN BDX=BDX*1.1 BDY=BDY*1.1 IF BDX>2 THEN BDX=2 IF BDY>2 THEN BDY=2 IF BDX<-2 THEN BDX=-2 IF BDY<-2 THEN BDY=-2 ELSE IF C=51 THEN BDX=BDX*0.75 BDY=BDY*0.75 ELSE IF C=52 THEN IF INT(RND*3)=0 THEN CA=RND*PI*2 BDX=2*COS(CA) BDY=2*SIN(CA) END IF END IF END IF BX=BX+BDX BY=BY+BDY IF BX>160 THEN BX=BX-160 IF BX<0 THEN BX=BX+160 IF BY>128 THEN BY=BY-128 IF BY<0 THEN BY=BY+128 SPRITE 0,BX,BY, IF SPRITE HIT (0) THEN IF HIT=1 THEN GOTO RESET IF HIT=2 THEN END IF END IF WAIT 1 LOOP ENDGAME: END #1:MAIN PALETTES 05083F2A000C050000003C30003F3F15 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 00183C7E181818000000000000000000 001E0E1E3A7020000000000000000000 00080C7E7E0C08000000000000000000 0020703A1E0E1E000000000000000000 001818187E3C18000000000000000000 00040E5C787078000000000000000000 0010307E7E3010000000000000000000 007870785C0E04000000000000000000 001824424224180000183C7E7E3C1800 7EC399BDBD99C37E003C7E7E7E7E3C00 00422418182442007EFFFFFFFFFFFF7E 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000018FF8199FF0000000000000000 F09090988FC1E1FF0000000000000000 F09090D8D89090F00000000000000000 FFE1C18F989090F00000000000000000 FF9981FF180000000000000000000000 FF8783F11909090F0000000000000000 0F09091B1B09090F0000000000000000 0F090919F18387FF0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000018FF8199FF0000000000000000 00000018F81090D00000000000000000 F09090D8D89090F00000000000000000 D09010F8180000000000000000000000 FF9981FF180000000000000000000000 0B09081F180000000000000000000000 0F09091B1B09090F0000000000000000 000000181F08090B0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 142A55AA55AA5428142A55AA55AA5428 142A55AA55AA54280000000000000000 142A55AA55AA54283C7EFFFFFFFF7E3C 102A55A2442A54200010024000042000 00000000000000000000000000000000 003C666666663C007EC399999999C37E 0018381818187E007EE7C7E7E7E7817E 003C660C18307E007EC399F3E7CF817E 003C660C06663C007EC399F3F999C37E 0066667E060606007E999981F9F9F97E 007E607C06067C007E819F83F9F9837E 001C307C66663C007EE3CF839999C37E 007E060C183030007E81F9F3E7CFCF7E 003C663C66663C007EC399C39999C37E 003C663E06663C007EC399C1F999C37E