Charming, bomb-drop variant. New rows advance from the bottom.
Appears on
One of a series of library tapes. Programs on these tapes were renamed to a number series. This tape contained programs 20001 to 20050. These tapes were compiled by Tony Willing.
Source Code
10 REM "breakout" game 20 CLS 40 RANDOMIZE 45 LET z=0: LET q$="Hi Score: " 50 BORDER 6 60 PRINT AT 6,6; INK 7; PAPER 1;" D E M O L I T I O N " 70 REM 80 PRINT AT 16,6;"Press ENTER to Start" 85 PRINT AT 21,4;"Use '6' key to Drop Ball" 90 INPUT LINE l$ 95 CLS 100 LET c=0: LET k=8: LET a=0: LET s=0: LET p=1 190 GO TO 8000 200 REM 202 GO SUB 4000 210 FOR i=0 TO 31 211 IF SCREEN$ (1,i)="" THEN GO TO 3000 213 NEXT i 220 LET c=c+1: IF c=k THEN GO TO 1000 240 LET vv=INT (RND*2) 245 PRINT AT 0,0;q$;z 250 IF vv=0 THEN GO TO 300 260 GO TO 350 300 REM go right 310 PRINT AT 1,0;"*"; 312 IF INKEY$="6" THEN GO TO 500 320 FOR i=1 TO 31 322 BEEP .01,16: PAUSE p 330 PRINT CHR$ 8;" ";" ";CHR$ 8;"*"; 332 IF INKEY$="6" THEN GO TO 500 340 NEXT i 342 PRINT CHR$ 8;" "; 348 GO TO 200 350 REM go left 360 PRINT AT 1,31;"*"; 362 IF INKEY$="6" THEN GO TO 500 370 FOR i=0 TO 30 372 BEEP .01,16: PAUSE p 380 PRINT CHR$ 8;" ";CHR$ 8;CHR$ 8;"*"; 382 IF INKEY$="6" THEN GO TO 500 390 NEXT i 392 PRINT CHR$ 8;" "; 398 GO TO 200 500 REM drop 510 LET x=33-PEEK 23688-1 520 FOR i=2 TO 20 530 PRINT AT i-1,x;" "; 540 IF SCREEN$ (i,x)="" THEN GO TO 700 542 PRINT AT i,x;"*": BEEP .01,8 550 NEXT i 552 PRINT AT 20,x;" "; 560 GO TO 200 700 REM 710 PRINT AT i,x;" ": LET s=s+10: BEEP .02,16 711 IF s>z THEN LET z=s 712 LET i=i+1: IF i>21 THEN GO TO 720 714 IF SCREEN$ (i,x)="" THEN LET s=s+10 716 PRINT AT i,x;" "; 720 FOR j=1 TO 5 722 LET xm=x-j: IF xm<0 THEN LET xm=0 724 LET xp=x+j: IF xp>31 THEN LET xp=31 726 LET sm=(SCREEN$ (i-j,xm)="") 727 LET tm=(SCREEN$ (i-j-1,xm)="") 728 LET sp=(SCREEN$ (i-j,xp)="") 729 LET tp=(SCREEN$ (i-j-1,xp)="") 730 LET w=sm+sp+tm+tp 740 IF w=0 THEN GO TO 200 760 PRINT AT i-j,xm;" ";: PRINT AT i-j,xp;" "; 770 PRINT AT i-j-1,xm;" ";: PRINT AT i-j-1,xp;" "; 772 LET s=s+w*10: BEEP .05,4 775 IF s>z THEN LET z=s 780 NEXT j 1000 LET c=0: LET a=a+1: IF a>5 THEN GO TO 1020 1010 POKE 23692,255: PRINT AT 21,31;b$: PRINT AT 20,0;b$: GO TO 1100 1020 LET q=INT (RND*7) 1022 POKE 23692,255: PRINT AT 21,31;b$: PRINT INK q;AT 20,0;a$: IF a=10 THEN LET a=0 1100 LET k=k-1: IF k=2 THEN LET k=3 1110 GO TO 200 2100 LET a$="\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g\g" 2110 LET b$=" " 2112 LET z$=" Press ENTER to Play Again! " 2120 FOR i=0 TO 15 2130 PRINT b$ 2140 NEXT i 2150 FOR i=16 TO 20 2160 PRINT INK (i-16);a$ 2170 NEXT i 2180 PRINT b$ 2190 GO TO 200 3000 REM stop 3010 PRINT AT 21,0;z$ 3024 PRINT AT 0,0;q$;s 3030 GO TO 90 4000 REM score 4020 LET s$=STR$ s: LET l=LEN s$ 4030 FOR j=1 TO l 4040 LET f=CODE s$(j) 4050 FOR i=0 TO 7: LET e=PEEK (u+f*8+i): POKE (v+j-1+256*i),e: NEXT i 4060 NEXT j 4100 RETURN 8000 LET g0=BIN 00000000 8010 LET g1=BIN 01111110 8020 POKE USR "g"+0,g0 8030 FOR i=1 TO 6 8040 POKE USR "g"+i,g1 8050 NEXT i 8060 POKE USR "g"+7,g0 8080 LET u=PEEK (23607)*256+PEEK (23606) 8090 LET v=16*256+32*6+16384 8100 GO TO 2100