Bricklayer


You are in control of a small aircraft which flies across the top of the screen. From the bottom of the screen, a large wall is being built up which will eventually fill the whole of the playing area. The object of the game is to drop men out of the aircraft, aiming to plummet them through gaps in the wall to the bottom of the screen. If a man should hit any part of the wall then a life will be lost. In order to create gaps for the men to drop through and to prevent the wall advancing too far up the screen, you also have the option of dropping bombs which blow sections of the wall away.

    1 REM *** BBC VERSION ***
    2 REM *** BRICKLAYER ***
   10 MODE1:VDU23,1,0;0;0;0;:A%=135:CLS
   20 GOSUB400
   30 FORKK=1TO1000:NEXT
   40 HS=0
   50 GOSUB280
   60 COLOUR3:PRINTTAB(17,5)"HI:";HS
   70 X=X+F
   80 IF X=0 OR X=29 THEN SOUND3,-12,54,1:F=-
F
   90 PRINTTAB(4,5)"SCORE:";S,TAB(28,5)"LIVES
:";LIVES;" "
  100 COLOUR3:VDU31,X+4,6,32,142,32
  110 KEY$=INKEY$(7)
  120 IF KEY$="Z" THEN IF T<>1 THEN T=1:K=X+1
:L=2
  130 IF KEY$="M" AND X>3 AND X<27 THEN IF Z<
>1 THEN Z=1:Q=X+1:I=2
  140 IF T=1 THEN PRINTTAB(K+4,L+5)" ":L=L+1:
COLOUR1:PRINTTAB(K+4,L+5)CHR$143:SOUND2,-12,4
8,1:X%=K+4:Y%=L+6:GOSUB470:IF CC<>32 THEN GOS
UB240
  150 IF Z=1 THEN PRINTTAB(Q+4,I+5)" ":I=I+1:
COLOUR2:PRINTTAB(Q+4,I+5)CHR$144:SOUND1,-12,2
3,1:X%=Q+4:Y%=I+6:GOSUB470:IF CC<>32 THEN GOS
UB260
  160 IF L=21 THEN PRINTTAB(K+4,L+5)" ":T=0
  170 IF I=21 THEN S=S+B*2:SOUND2,-12,45,1:PR
INTTAB(Q+4,I+5)" ":I=0:Z=0
  180 A=A+C
  190 PRINTTAB(A+4,B+5)CHR$141
  200 IF A<3 OR A>27 THEN C=-C:B=B-1
  210 IF B=3 THEN GOTO 320
  220 GOTO 70
  230 END
  240 PRINTTAB(K+4,L+5)" ":PRINTTAB(K+2,L+6)"
     ":T=0:IF L<20 THENPRINTTAB(K+4,L+7)"   "
  250 RETURN
  260 PRINTTAB(Q+4,I+5)"*":LIVES=LIVES-1:SOUN
D2,-12,39,1:Z=0:PRINTTAB(Q+4,I+5)" ",TAB(Q+3,
I+6)"   ":IF LIVES=0 THEN GOTO 320
  270 RETURN
  280 VDU23,141,0,126,126,126,126,126,126,126
,23,142,0,24,118,219,255,110,24,0
  290 VDU23,143,231,126,60,60,60,60,60,24,23,
144,28,28,8,62,8,8,20,34
  300 A=27:B=20:C=.6:T=0:L=1:Z=0:I=1:X=0:F=1:
S=0:LIVES=10
  310 RETURN
  320 IF LIVES=0 THEN PRINTTAB(34,5)"O"
  330 FORKK=1TO30:SOUND2,-12,54+(KK-3)*2,1:NE
XT
  340 COLOUR3:VDU19,3,14,0,0,0:COLOUR3:PRINTT
AB(11,30)"ANOTHER GAME ?"
  350 IFS>HS THEN HS=S
  360 *FX15,1
  370 A$=GET$
  380 IF A$="Y" THENGOSUB300:VDU20:CLS:FORKK=
1TO5000:NEXT:GOTO60
  390 VDU20:END
  400 COLOUR3:VDU19,3,14,0,0,0:PRINTTAB(14,6)
"BRICK LAYER"
  410 GCOL0,1:MOVE444,796:DRAW804,796
  420 COLOUR2:PRINTTAB(5,8)"The object is to 
drop humanoids",TAB(5,9)"from the spacecraft 
at the top",TAB(5,10)"of the screen."
  430 PRINTTAB(5,12)"As the game progresses a
 wall",TAB(5,13)"will be built up, starting f
rom ",TAB(5,14)"the bottom. Holes can be made
 ",TAB(5,15)"in this by releasing a bomb."
  440 PRINTTAB(5,17)"You have 10 lives and ea
ch time",TAB(5,18)"a humanoid hits the wall a
 life",TAB(5,19)"will be lost."
  450 COLOUR1:PRINTTAB(8,22)"Z............DRO
PS BOMBS",TAB(8,24)"M.....RELEASES HUMANOIDS"
:COLOUR3:PRINTTAB(8,27)"PRESS ANY KEY TO STAR
T"
  460 G=GET:VDU20:CLS:RETURN
  470 VDU31,X%,Y%:CC=USR(&FFF4):CC=CC AND &FF
FF:CC=CC DIV &100:RETURN