Listing of file='BREAKO.BAS;01' on disk='vmedia/action_soundware-sector.ccvf'
100 REM BREAKOUT 110 REM COPYRIGHT 7-79 120 REM CAP ELECTRONICS 130 REM 200 PLOT 12,15,6,6,29,27,24 205 CLEAR 500 210 TM= PEEK (32940)+ PEEK (32941)* 256+ 1:POKE 32936,1 215 IF TM> 1024* 64- 8THEN LOAD "SOUND":RUN 220 IF PEEK (TM+ 179)< > 241THEN LOAD "SOUND":RUN 225 A= PEEK (32940):B= PEEK (32941) 230 POKE 33283,A+ 8:POKE 33284,B 232 H2$= "ff" 234 H3$= "bbbbbbbbbbbbbbbbbbbbbbbbbbb" 236 H4$= "aaaaaaaaaaaaaaaaaaaaaaaaaaa" 238 H5$= "````````````````````````````````````````````````````````" 239 GOTO 250 240 PD$= " ceeeed " 242 IF NP= 0THEN RETURN 245 PD$= "eeeeeeeeeeeeeeeeeeeeeeeed ceeeeeeeeeeeeeeeeeeeeeeeeeeeeee" 246 RETURN 250 BRL= 84:OUT 8,247 260 BM= 1 300 REM INSTRUCTIONS 305 GOSUB 500 307 C= 1:X= 4:Y= 13:H= 18:W= 56:GOSUB 64000 309 X= 6:Y= 14:PLOT 6,6 310 GOSUB 490:PRINT "THIS IS A BALL AMD PADDLE GAME"; 315 GOSUB 490:GOSUB 490:PRINT "THE N KEY MOVES THE PADDLE LEFT " 317 PRINT 320 GOSUB 490:PRINT "THE . KEY MOVES THE PADDLE RIGHT"; 321 PRINT 323 GOSUB 490:GOSUB 490:PRINT "THE OBJECT OF THE GAME IS TO BOUNCE THE BALL BACK" 326 GOSUB 490:PRINT "AND KNOCK THE BRICKS OUT OF THE BARRIER. IF YOU" 329 GOSUB 490:PRINT "KNOCK OUT THE ENTIRE BARRIER, YOU GET MORE PLAYING" 332 GOSUB 490:PRINT "TIME WITH THE LEFTOVER BALLS." 335 GOSUB 490:GOSUB 490:PRINT "PRESS RETURN TO START THE GAME "; 338 OUT 8,255:INPUT "";KE$ 340 FOR N= 1TO 15:XX= CALL (1):POKE TM,30- N:XX= CALL (0):NEXT 350 X= 6:Y= 14 355 GOSUB 490:PRINT " BREAKTHRU MENU" 356 X= 15 358 GOSUB 490 360 GOSUB 490:PRINT "1. BREAKOUT PADDLE VISIBLE BALL" 361 GOSUB 490:PRINT "2. '' '' INVISIBLE BALL" 364 GOSUB 490:PRINT "3. '' NO PADDLE VISIBLE BALL" 367 GOSUB 490:PRINT "4. '' '' INVISIBLE BALL" 370 GOSUB 490:PRINT "5. BREAKTHRU PADDLE VISIBLE BALL" 373 GOSUB 490:PRINT "6. '' '' INVISIBLE BALL" 376 GOSUB 490:PRINT "7. '' NO PADDLE VISIBLE BALL" 379 GOSUB 490:PRINT "8. '' '' INVISIBLE BALL" 380 X= 6:GOSUB 490:GOSUB 490:PRINT "PRESS YOUR CHOICE ! "; 383 XX= CALL (2):YY= CALL (0):CH$= CHR$ (XX):PRINT ""CH$;""; 386 CH= VAL (CH$):IF CH= 0OR (CH> 8)THEN GOSUB 495:GOSUB 495:GOTO 380 390 PLOT 8:FOR N= 1TO 15:POKE TM,25- N:XX= CALL (0):XX= CALL (1):NEXT 395 CH= CH- 1 400 BT= 0:IB= 0:NP= 0 405 IF CHAND 4THEN BT= 1 410 IF CHAND 2THEN NP= 1 415 IF CHAND 1THEN IB= 1 420 GOSUB 240 488 GOTO 537 490 Y= Y+ 1:PLOT 3,X,Y:RETURN 495 Y= Y- 1:PLOT 3,X,Y:RETURN 499 GOTO 5000 500 REM DRAW BOARD 510 PLOT 6,6,12,15 515 PLOT 3,1,1:PRINT H1$ 517 PLOT 3,1,2:PRINT H2$ 519 PLOT 27,24,27,10,3,3,3:PRINT H3$ 520 PLOT 3,2,3:PRINT H3$ 521 PLOT 3,60,3:PRINT H4$ 522 PLOT 3,61,3:PRINT H4$:N= 7 523 PLOT 3,4,N,6,9,27,24:PRINT H5$ 525 PLOT 3,4,N+ 1:PRINT H5$ 527 PLOT 3,4,N+ 2,6,6:PRINT H5$ 529 PLOT 3,4,N+ 3:PRINT H5$ 531 PLOT 3,4,N+ 4,6,18:PRINT H5$ 533 PLOT 3,4,N+ 5:PRINT H5$ 535 PLOT 3,19,0:PRINT "BREAKTHRU BY SOUNDWARE" 536 RETURN 537 IF NP= 1THEN PP= 1:GOSUB 4020:GOTO 545 540 PP= 28:GOSUB 4020 545 B5= 9:OUT 8,247 600 REM MAIN PLAY ROUTINE 601 GOSUB 4020 602 B5= B5- 1:PLOT 3,51,0:PRINT "";B5;" BALLS LEFT" 603 IF B5< = 0THEN 6000 605 BP= INT (RND (1)* 40)* 2+ 30730:BD= 126+ INT (RND (1)* 2)* 4 606 SP= 4:BH= 1:BM= 1 610 G2= 32:G1= 100:POKE BP,G1:BL= 32:K8= 127 612 REM 615 PLOT 8:PRINT "SCORE = ";SC:PRINT "" 620 BO= BP:BP= BP+ BD:CH= PEEK (BP):IF (CHAND 127)< > BLTHEN 2000 630 IF BP> 32639THEN POKE BO,G1:GOSUB 4510:POKE BO,G2:GOTO 600 640 POKE BO,G2:IF IB= 0THEN POKE BP,G1 645 IF NP= 0THEN GOSUB 4000:GOSUB 4000 650 GOTO 620 2000 REM HIT SOMETHING 2005 IF IB= 1THEN POKE BO,G1 2010 XX= CALL (0):LR= 0:IF BDAND 8THEN LR= 1 2030 A= CHAND 7:ON A+ 1GOTO 2100,2200,2300,2400,2500,2600,2700,2800 2100 IF BT= 1THEN 2130 2110 IF BD> 0THEN BD= BD- 256:GOTO 2130 2120 BD= BD+ 256 2130 GOSUB 3000:IF BRL= 0THEN 5000 2140 GOTO 2900 2200 BD= BD- SP:GOTO 2900 2300 BD= BD+ SP:GOTO 2900 2400 IF LR= 1THEN BD= BD- 256:GOTO 2660 2410 BD= - BD 2420 GOTO 2660 2500 IF LR= 0THEN BD= BD- 256:GOTO 2660 2510 BD= - BD 2520 GOTO 2660 2600 BD= BD- 256 2660 BH= BH+ 1:IF BH> 5THEN BH= 0:GOTO 2950 2665 GOTO 2900 2670 IF BD= - 126THEN BD= - 124:GOTO 2900 2675 BD= - 132:GOTO 2900 2700 BD= - BD:GOTO 2900 2800 BD= BD+ 256 2900 BP= BO:BP= BP+ BD:CH= PEEK (BP) 2910 IF (CHAND 127)< > G2THEN 2010 2920 POKE BP,G1:GOTO 640 2950 BM= - BM:IF BM= - 1THEN SP= 8:GOTO 2670 2960 SP= 4 2975 IF BD= - 124THEN BD= - 126:GOTO 2900 2980 BD= - 130:GOTO 2900 3000 REM REMOVE BRICKS 3010 A= BPAND 32760 3050 FOR N= ATO A+ 7STEP 2:POKE N,G2:NEXT 3055 ON PEEK (A+ 1)AND 7GOTO 3100,3300,0,0,0,3200 3060 FOR N= A+ 1TO A+ 7STEP 2:POKE N,6:NEXT 3065 BRL= BRL- 1 3070 PLOT 8:PRINT "SCORE = ";SC;"" 3075 RETURN 3100 SC= SC+ 50:GOTO 3060 3200 SC= SC+ 25:GOTO 3060 3300 SC= SC+ 5:GOTO 3060 4000 REM KEY CHECKER 4005 OUT 7,1 4010 KE= INP (1):IF KE= 255THEN RETURN 4020 IF KE= 253THEN PP= PP- 2:GOTO 4060 4030 IF KE= 254THEN PP= PP+ 2:IF PP> 55THEN PP= 55 4040 GOTO 4070 4060 IF PP< 0THEN PP= 0 4070 PLOT 3,127,PP,30,1:PRINT PD$ 4075 PLOT 3,64,0 4080 RETURN 4500 REM SOUNDS 4510 POKE TM,25:XX= CALL (0):RETURN 5000 REM GOT ALL THE BRICKS 5005 PLOT 27,11,8 5007 PLOT 3,0,3,6,6 5020 PLOT 3,5,15 5025 PRINT "WAY TO GO CHAMP--KEEP GOING, YOU HAVE ";B5;" BALLS LEFT" 5030 FOR N= 1TO 2000:NEXT 5040 BRL= 84 5090 GOSUB 500:GOTO 600 6000 REM GAME END 6020 PLOT 3,15,15 6025 PRINT "YOU GOT ";SC;" POINTS--PLAY AGAIN ? "; 6030 OUT 8,255:XX= CALL (2):CH$= CHR$ (XX) 6035 PRINT "";CH$;"" 6037 SC= 0 6040 IF CH$= "Y"THEN 250 6080 PLOT 27,11,15,6,6 6090 LOAD "MENU":RUN 64000 REM SCROLLING ROUTINE 64010 DA= 28672+ 128* Y+ X+ X:AD= TM+ 126:GOSUB 64100 64015 DA= 128- W- W:AD= TM+ 149:GOSUB 64100 64020 POKE TM+ 129,H- 1:POKE TM+ 131,W* (C+ 1) 64030 POKE TM+ 143,35* (1- C):RETURN 64100 Z1= INT (DA/ 256):Z2= DA- Z1* 256 64110 POKE AD,Z2:POKE AD+ 1,Z1:RETURN