100 REM BOUNCER V1.0 110 IF PEEK(49152)=76 AND A=0 THEN SYS 49155:GOTO 140 120 IF A=0 THEN A=1:LOAD "SPROT.OBJ",8,1:REM LOAD MACHINE LANGUAGE 130 IF A=1 THEN A=2:LOAD "IMAGES",8,1:REM LOAD SPRITES 140 POKE53280,11:POKE53281,11 150 PRINT"[147][151] [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]" 160 FORI=1TO21:PRINT"  [146][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207][207] ":NEXT 170 PRINT"  ":POKE53281,12 180 INIT=49152:OFF=49155:SPEED=49158:DIR=49159:XP=49160:YP=49161 190 SYS OFF:POKE XP,0:POKE YP,0:REM MAKE SURE BALL IS NOT ROTATING OR VISIBLE 200 FORJ=0TO24:POKE54272+J,0:READ X:POKE54272+J,X:NEXT:REM INIT SID FOR BOOM 210 DATA 0,4,0,12,64,10,0 220 DATA 0,0,0,12,64,12,0 230 DATA 0,4,0,12,128,12,0 240 DATA 0,50,245,47 250 FOR I=0 TO 7:POKE 2040+I,248+I:NEXT:REM SELECT SPRITE SHAPES 260 POKE 53271,255:POKE 53277,255:REM MAKE BALL DOUBLE-SIZE 280 FOR I=0 TO 7:READ C:POKE 53287+I,C:NEXT:REM READ IN SPRITE COLORS 290 POKE 53269,255:REM ENABLE ALL SPRITES 300 DATA 1,1,2,2,2,2,2,11:REM LAST NUMBER IS SHADOW'S COLOR 310 POKE DIR,1:REM ROTATE TO THE RIGHT 320 SYS 49152:REM IT ROTATES 330 X1=70:Y1=66:X2=249:Y2=198:X=X1:Y=(Y2-Y1)/2+Y1:XD=2:YD=2 340 POKE XP,X:POKE YP,Y:POKE DIR,1-254*(XD<0):REM UPDATE BALL ON SCREEN 350 X=X+XD:Y=Y+YD:REM ADJUST POSITION ACCORDING TO DELTA X AND DELTA Y 360 IF XX2 THEN XD=-XD:GOSUB 390:REM BOUNCE-REVERSE DIRECTION AND SPIN 370 IF YY2 THEN YD=-YD:GOSUB 390:REM BOUNCE-REVERSE DIRECTION 380 GOTO 340 390 POKE54276,64:POKE54290,128:POKE54276,65:POKE54290,129:RETURN