Block Buster

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

Use the cursor keys to steer the man around the screen. If you go off one edge of the screen you will appear on the opposite side. You must defuse the time bombs before they detonate, but you may only do this once they are activated.

Appears on

One of a series of library tapes. Programs on these tapes were renamed to a number series. This tape contained programs 20121 to 20163. These tapes were compiled by Tony Willing.

Gallery

Source Code

    5 REM buster-BILL'S OBSESSION
   10 LET hi=0: GO SUB 5000
   20 PAPER 7: BORDER 7: INK 0: BRIGHT 0: CLS : PRINT "PRESS A KEY:'I' FOR INSTRUCTIONS"
   30 IF INKEY$<>"" THEN GO TO 30
   40 IF INKEY$="" THEN GO TO 40
   50 IF INKEY$="i" OR INKEY$="I" THEN GO SUB 6000
   60 RANDOMIZE : LET sc=0: LET l=1: LET l$="\p\p\p "
   70 LET a=19: LET b=15: LET aa=a: LET bb=b
   80 LET d=-1+(INT (RND*10)*2+2 AND l>2): GO SUB 4000
   90 LET f1=y: LET f2=z: LET t=-1: LET bo=1: LET b1=t: LET b2=t
  100 REM ** main game **
  110 PRINT AT f1,f2; INK 6;"\d\e";AT f1+1,f2;"\f\g";AT a,b; INK 7;"\l\m";AT a+1,b;"\n\o"
  120 IF aa<>a OR bb<>b THEN LET sc=sc+2: PRINT AT aa,bb;"  ";AT aa+1,bb;"  ": LET m$(aa,bb TO bb+1)="  ": LET m$(aa+1,bb TO bb+1)="  ": IF m$(a,b)=" " AND (f1<>a OR f2<>b) THEN GO TO 1000
  130 LET aa=a: LET bb=b
  140 IF a=f1 AND b=f2 THEN BEEP .02,20: BEEP .02,25: BEEP .02,30: GO SUB 4500: LET f1=y: LET f2=z: LET sc=sc+20
  150 IF a=b1 AND b=b2 THEN LET bo=bo+1: BEEP .03,30: BEEP .03,25: BEEP .03,20: LET sc=sc+1*15: LET t=-1: LET b1=t: LET b2=t
  160 IF m$(a,b)="\h" OR t=0 THEN GO TO 1000
  170 IF bo>1*3+3 THEN GO TO 3000
  180 PRINT AT 0,6; INK 7;sc
  190 IF t>0 THEN LET t=t-1: PRINT AT b1,b2; FLASH 1; INK 6; PAPER 2;"**";AT b1+1,b2;"**";AT b1+(INT (t/2)=t/2),b2;t: BEEP .01,t+10: GO TO 500
  200 LET y=m(bo): LET z=INT (RND*15)*2+1: IF m$(y,z)="\h" THEN LET t=50-1*4: LET b1=y: LET b2=z: LET m$(y,z TO z+1)="\::\a": LET m$(y+1,z TO z+1)="\b\c"
  500 LET x$=INKEY$: IF x$<"5" THEN GO TO 540
  510 LET a=a+(2 AND x$="6")-(2 AND x$="7"): LET b=b+(2 AND x$="8")-(2 AND x$="5")
  520 LET a=a+(20 AND a<1)-(20 AND a>19): LET b=b+(30 AND b<1)-(30 AND b>29)
  530 GO TO 100
  540 IF x$<>"1" AND x$<>"2" OR t=a THEN FOR x=1 TO 15: NEXT x: GO TO 100
  600 IF x$="2" THEN GO TO 700
  610 FOR x=0 TO 1: LET m$(a+x)=m$(a+x,3 TO )+m$(a+x): NEXT x
  620 IF a=f1 THEN LET f2=f2-2
  630 IF a=b1 THEN LET b2=b2-2
  640 GO TO 800
  700 FOR x=0 TO 1: LET m$(a+x)=m$(a+x,29 TO )+m$(a+x): NEXT x
  710 IF a=f1 THEN LET f2=f2+2
  720 IF a=b1 THEN LET b2=b2+2
  800 FOR x=0 TO 1: PRINT AT a+x,1;m$(a+x): NEXT x
  810 LET f2=f2+(30 AND f2=-1)-(30 AND f2=31)
  820 LET b2=b2+(30 AND b2=-1)-(30 AND b2=31)
  900 GO TO 100
 1000 REM ** LOSE A LIFE **
 1010 FOR x=7 TO 0 STEP -.2: PRINT AT a,b; INK x;"\l\m";AT a+1,b;"\n\o": NEXT x
 1020 FOR x=50 TO 10 STEP -1: BEEP .01,x: BEEP .01,x+3: NEXT x
 1030 LET l$=l$(2 TO ): IF l$=" " THEN GO TO 2000
 1040 IF m$(a,b)="\h" OR m$(a,b)=" " THEN GO SUB 4500: LET a=y: LET b=z: LET aa=a: LET bb=b: IF m$(a,b)=" " THEN GO TO 1040
 1050 IF t=0 THEN LET bo=bo+1: LET t=-1: LET b1=t: LET b2=t
 1060 GO SUB 4060: GO TO 170
 2000 REM * GAME OVER *
 2010 PRINT AT 9,0; PAPER 1; FLASH 1;"<<<<<< G A M E    O V E R >>>>>><<<<<<<<< AGAIN (Y/N)?>>>>>>>>>>"
 2020 IF sc>hi THEN LET hi=sc: GO SUB 4070
 2030 FOR x=1 TO 50: BEEP .004,x
 2040 IF INKEY$="y" OR INKEY$="Y" THEN GO TO 20
 2050 IF INKEY$="n" OR INKEY$="N" THEN STOP 
 2060 NEXT x: GO TO 2030
 3000 REM * NEXT LEVEL *
 3010 LET l=l+(l<9): LET x$="SUPER BONUS =-= SUPER BONUS =-= "
 3020 FOR x=1 TO 50: PRINT AT 21,0; INK 6; FLASH 1;x$: BEEP .01,x: LET x$=x$(2 TO )+x$
 3030 LET x$=x$( TO 32): NEXT x
 3040 LET sc=sc+55*l: GO TO 70
 4000 REM * SET UP SCREEN *
 4010 PAPER 0: INK 5: BORDER 0: BRIGHT 1: CLS 
 4020 DIM m$(20,30): DIM m(l*3+3)
 4030 FOR x=1 TO 20 STEP 2: LET m$(x)="\::\a\::\a\::\a\::\a\::\a\::\a\::\a\::\a\::\a\::\a\::\a\::\a\::\a\::\a\::\a": LET m$(x+1)="\b\c\b\c\b\c\b\c\b\c\b\c\b\c\b\c\b\c\b\c\b\c\b\c\b\c\b\c\b\c": NEXT x
 4040 FOR x=1 TO l*3+3: GO SUB 4500: LET m$(y,z TO z+1)="\h\i": LET m$(y+1,z TO z+1)="\j\k"
 4050 LET m(x)=y: NEXT x
 4060 FOR x=1 TO 20: PRINT AT x,1; INK 5-(2 AND (x=d OR x=d+1));m$(x): NEXT x
 4070 PRINT AT 0,0; BRIGHT 0; INK 7;"SCORE:";sc;TAB 11;"HIGH:";hi;TAB 21;l$;TAB 25;"LEVEL:";l
 4500 REM * RANDOM POSITION *
 4510 LET y=INT (RND*10)*2+1
 4520 LET z=INT (RND*15)*2++1
 4530 IF m$(y,z)="\h" OR y=19 AND z=15 THEN GO TO 4510
 4540 RETURN 
 5000 REM * U.D.G. DATA *
 5010 FOR x=0 TO 127: READ y: POKE USR "a"+x,y: NEXT x: RETURN 
 5020 DATA 248,244,242,242,242,242,242,242,255,255,255,255,64,32
 5030 DATA 31,0,242,242,242,242,10,6,254,0,0,0,15,63,127,127,127
 5040 DATA 127,60,60,24,248,216,216,216,216,127,112,64,0,0,0,0,0
 5050 DATA 216,248,24,24,24,24,24,0,96,231,255,63,57,57,63,30
 5060 DATA 12,206,254,248,56,56,248,240,30,15,28,60,247,227,96,0
 5070 DATA 240,224,112,120,222,142,12,0,7,7,63,15,31,61,57,63,192
 5080 DATA 192,248,224,240,120,56,248,123,92,79,39,12,88,112,0
 5090 DATA 188,116,228,200,96,52,28,0,60,255,90,126,165,24,36,66
 6000 CLS : PRINT "BLOCK BUSTER"'"------------"''"Use the cursor keys to steer theman around the screen. If you gooff one edge of the screen you  will appear on the opposite side"
 6010 PRINT '"You must defuse the time bombs  before they detonate, but you   may only do this once they are  activated."
 6020 PRINT '"You may not move onto an empty  space, or onto an unactivated   bomb."
 6030 PRINT '"The ROW of blocks you are on canbe shifted left or right using  keys '1' and '2'. This may help you to reach a bomb, etc."
 6040 PRINT '"Bonus points are given for      reaching a flag."
 6050 PRINT ''"\::\a : A safe block"'"\b\c"''"\d\e : A flag"'"\f\g"''"\h\i :An unactivated bomb"'"\j\k"''"\l\m :Your man"'"\n\o"'''"Good luck..."''''"PRESS ANY KEY"
 6060 IF INKEY$="" THEN GO TO 6060
 6070 RETURN 
 9998 STOP 
 9999 SAVE "BlokBustr" LINE 1

People

No people associated with this content.

Scroll to Top