Breakout

Date: 198x
Type: Program
Platform(s): TS 2068

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.

Gallery

Breakout

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

People

No people associated with this content.

Scroll to Top