Fall Guy


This is a game for two, in which each player directs a small figure down a vertical maze so that it can drop through a hole in the moving floor at the bottom. The figure is manoeuvred through the maze by directing markers up and down the outer walls and shifting horizontal sections of the maze to the left or right, allowing the figures to drop through to lower levels. The trick is to alter the internal pattern of the maze in order to move your own figure without at the same time opening up advantages for the opposition.

   10 REM *** BBC VERSION ***
   20 REM *** FALL GUY ***
   30 MODE1:VDU23,1,0;0;0;0;:A%=135:DIMB%(18,
19):GOSUB670
   40 PRINTTAB(2,4)"Please enter your names."
:VDU31,2,6:INPUT"First the player on the left
:",PL$:VDU31,2,8:INPUT"And now the player on 
the right:",PR$:CLS:PRINTTAB(13,15);"PLEASE W
AIT"
   50 GOSUB630:GOSUB600
   60 Y=RND(19)+7:Y1=RND(19)+7:G=11:G1=28:F=6
:F1=6:W$=CHR$32+STRING$(19,CHR$241):FORI=1TO1
0:SOUND2,-10,I*14+5,1:NEXT
   70 COLOUR2:VDU31,8,Y,243,31,31,Y1,244,31,G
,F,242,31,G1,F1,242
   80 Q%=G:R%=F+1:GOSUB790:IFC=32 THENVDU31,G
,F,32:F=F+1:VDU31,G,F,242:SOUND2,-14,69,5
   90 Q%=G:R%=F+1:GOSUB790:IFC=79 THENFORI=1T
O3:SOUND2,-14,(I-1)*96+45,2:NEXT:VDU31,G,F,32
,31,11,6,242:F=6:G=11
  100 Q%=G1:R%=F1+1:GOSUB790:IFC=32 THENVDU31
,G1,F1,32:F1=F1+1:VDU31,G1,F1,242:SOUND2,-14,
69,5
  110 Q%=G1:R%=F1+1:GOSUB790:IFC=79 THENFORI=
1TO3:SOUND2,-14,(I-1)*96+45,2:NEXT:VDU31,G1,F
1,32,31,28,6,242:F1=6:G1=28
  120 IFF=26 OR F1=26 THENGOTO490
  130 *FX15,1
  140 KEY$=INKEY$(20)
  150 IFKEY$="2" AND Y>7 THENVDU31,8,Y,32:Y=Y
-1
  160 IFKEY$="0" AND Y1>7 THENVDU31,31,Y1,32:
Y1=Y1-1
  170 IFKEY$="A" AND Y<25 THENVDU31,8,Y,32:Y=
Y+1
  180 IFKEY$="L" AND Y1<25 THENVDU31,31,Y1,32
:Y1=Y1+1
  190 IFKEY$="Q"THENGOSUB250
  200 IFKEY$="O"THENGOSUB370
  210 IFKEY$="W"THENGOSUB310
  220 IFKEY$="P"THENGOSUB430
  230 W$=RIGHT$(W$,19)+LEFT$(W$,1):PRINTTAB(1
0,26)W$:GOTO70
  240 END
  250 COLOUR3:I=Y-7:IFY=F THENIFG=10 THENRETU
RN
  260 IFY=F1 THENIFG1=10 THENRETURN
  270 U%=B%(I,0):FORJ=0TO18:B%(I,J)=B%(I,J+1)
:NEXT:B%(I,19)=U%
  280 IFY=F THENG=G-1
  290 IFY=F1 THENG1=G1-1
  300 FORJ=0TO19:VDU31,10+J,Y,B%(I,J):NEXT:RE
TURN
  310 COLOUR3:I=Y-7:IFY=F THENIFG=29 THENRETU
RN
  320 IFY=F1 THENIFG1=29 THENRETURN
  330 U%=B%(I,19):FORJ=19TO1STEP-1:B%(I,J)=B%
(I,J-1):NEXT:B%(I,0)=U%
  340 IFY=F THENG=G+1
  350 IFY=F1 THENG1=G1+1
  360 FORJ=0TO19:VDU31,10+J,Y,B%(I,J):NEXT:RE
TURN
  370 COLOUR3:I=Y1-7:IFY1=F1 THENIFG1=10 THEN
RETURN
  380 IFY1=F THENIFG=10 THENRETURN
  390 U%=B%(I,0):FORJ=0TO18:B%(I,J)=B%(I,J+1)
:NEXT:B%(I,19)=U%
  400 IFY1=F1 THENG1=G1-1
  410 IFY1=F THENG=G-1
  420 FORJ=0TO19:VDU31,10+J,Y1,B%(I,J):NEXT:R
ETURN
  430 COLOUR3:I=Y1-7:IFY1=F1 THENIFG1=29 THEN
RETURN
  440 IFY1=F THENIFG=29 THENRETURN
  450 U%=B%(I,19):FORJ=19TO1STEP-1:B%(I,J)=B%
(I,J-1):NEXT:B%(I,0)=U%
  460 IFY1=F1 THENG1=G1+1
  470 IFY1=F THENG=G+1
  480 FORJ=0TO19:VDU31,10+J,Y1,B%(I,J):NEXT:R
ETURN
  490 IFF=26 THENY=F:X=G ELSE Y=F1:X=G1
  500 FORI=1TO8:COLOUR3:VDU31,X,Y,242:SOUND2,
-10,20+I*3,1:FORJ=1TO500:NEXT:COLOUR1:VDU31,X
,Y,245:SOUND2,-10,20+(16-I)*3,1:FORJ=1TO500:N
EXT:NEXT
  510 FORI=23TO26:FORJ=1TO39:VDU31,J,I,32:VDU
31,J,27,241:NEXT:NEXT
  520 FORI=2TO38STEP2:COLOUR2:VDU31,I-1,24,32
,31,I,26,242:SOUND2,-12,I*6,1:FORJ=1TO500:NEX
T:COLOUR3:VDU31,I,26,32,31,I+1,24,245:SOUND2,
-2,250-I*6,1:FORJ=1TO500:NEXT:NEXT
  530 CLS:PRINTTAB(12,8)"Well done":IFF=26 TH
ENPRINTTAB(22,8)PL$ ELSE PRINTTAB(22,8)PR$
  540 PRINTTAB(6,10)" You were the best Fall 
Guy!!":COLOUR2:PRINTTAB(7,14)"Press X to quit
 the program.",TAB(7,16)"Press 1 for the same
 course.",TAB(7,18)"Press 2 for a new course.
"
  550  KEY$=INKEY$(10)
  560 IFKEY$="X" THENEND
  570 IFKEY$="1" THENCLS:GOTO50
  580 IFKEY$="2"THENCS:VDU20:GOTO50
  590  GOTO 550
  600 CLS:COLOUR3:VDU19,3,3,0,0,0:FORI=0TO18:
FORJ=0TO19:VDU31,10+J,I+7,B%(I,J):NEXT:SOUND2
,-10,I*2+20,2:NEXT:FORJ=1TO2000:NEXT:COLOUR1:
FORI=1TO20:VDU31,9+I,6,241:NEXT
  610 FORI=1TO21:VDU31,9,I+5,241,31,30,I+5,24
1:SOUND2,-10,199-I*6,1:NEXT
  620 COLOUR2:VDU19,2,2,0,0,0:VDU31,3,5:PRINT
 LEFT$(PL$,5):VDU31,33,5:PRINT LEFT$(PR$,5):R
ETURN
  630 FORI=0TO18:FORJ=0TO19:B%(I,J)=32:NEXT:N
EXT
  640 FORI=0TO18:FORJ=0TO19:IFRND(1)>.5THENB%
(I,J)=241
  650     IFRND(1)<.025 THENB%(I,J)=79
  660     NEXT:NEXT:RETURN
  670 VDU23,241,170,85,170,85,170,85,170,85,2
3,242,24,24,255,60,60,90,66,195,23,243,8,12,2
50,137,250,12,8,0,23,244,16,48,95,147,95,48,1
6,0,23,245,153,219,126,60,60,126,219,129
  680 VDU23,241,170,85,170,85,170,85,170,85:C
OLOUR1
  690 RESTORE:FORI=20TO24:VDU31,3,I:FORJ=1TO3
2:READX:VDU-32*(X=0)-241*(X=1):NEXT:NEXT
  700 DATA0,0,1,1,1,0,0,1,0,0,1,0,0,0,1,0,0,0
,0,0,1,1,0,1,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,
1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,1
,0,0,0,1,1,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,1,0,
0,0,1,0,0,1,0,0,1,0,0
  710 DATA0,0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0
,0,1,0,1,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,
1,0,1,1,1,0,1,1,1,0,0,0,1,1,0,0,1,1,0,0,0,1,0
,0
  720 FORF=3TO7:FORG=0TO33:Q%=G:R%=F+17:GOSUB
790:IFC=145 THEN R=-(F=3)-2*(F=4)-3*(F=5)-2*(
F=6)-(F=7):COLOURR:VDU242
  730     SOUND1,-12,(F-1)*(14+G),1.2:NEXT:NE
XT
  740 VDU31,1,30:FORF=1TO16:PRINT" ":FORG=20T
O30:SOUND2,-12,25+14*G,1:NEXT:NEXT
  750 COLOUR2:PRINTTAB(3,11)"A Game For 2 Pla
yers Who Have To",TAB(3,12)"Guide Their Man T
o The Bottom Of",TAB(3,13)"The Grid Before Th
eir Opponent."
  760 COLOUR1:PRINTTAB(3,15)"Avoid The Mines 
(O), For Landing",TAB(3,16)"On One Of These W
ill Send You",TAB(3,17)"Right To The Top Agai
n."
  770 COLOUR3:PRINTTAB(3,19)"CONTROLS: UP   D
OWN  LEFT  RIGHT":COLOUR2:PRINTTAB(3,21) "PLA
YER 1:  2    A     Q      W":COLOUR1:PRINTTAB
(3,23)"PLAYER 2:  0    L     O      P":COLOUR
3:PRINTTAB(3,25)"Press Any Key To Continue...
.":G=GET
  780 VDU31,1,30:FORF=1TO27:PRINT" ":FORG=20T
O30:SOUND2,-12,25+14*G,1:NEXT:NEXT:RETURN
  790 VDU31,Q%,R%:C=USR(&FFF4):C=C AND &FFFF:
C=C DIV &100:RETURN