Tug-of-War


Tug-of-War is a two player game consisting of a canyon with a rope stretched across the top, held by a team of three figures on either side. A small UFO flies overhead and each player takes turns in dropping a parachute from it, attempting to land on a target which appears lower down the screen in a random position. Every time a parachutist hits the target, the opposing team is pulled further towards the edge of the canyon and if a man topples over the precipice, the team is weakened. The winner is the player who succeeds in pulling all the opposing team over the edge of the canyon.

    1 REM *** BBC VERSION ***
    2 REM *** TUG OF WAR ***
   10 MODE1:VDU23,1,0;0;0;0;:CLS
   20  DIMA$(2):DIMB$(2)
   30 GOSUB510
   40  GOSUB480
   50  GOSUB430
   60 COLOUR3:VDU31,T+4,19,32:T=RND(28)+2:VDU
31,T+4,19,155
   70 COLOUR1:F%=-1
   80 F%=F%+1:VDU31,F%+4,5,32,149:IF INKEY$(T
A%)="A" THENGOTO100
   90 SOUND2,-12,F%*2+15,1:IFF%<30 THENGOTO80
 ELSEGOTO210
  100 COLOUR2:FORG=0TO14:VDU31,F%+5,G+5,150:S
OUND3,-14,G*2+150,1:FORI=1TO100:NEXT:VDU31,F%
+5,G+5,32:NEXT
  110 IFF%+1<>T THEN GOTO210
  120  XA=XA-1:XB=XB-1:FORF=1TO10:SOUND2,-14,
F*5+59,1:NEXT:VDU31,T+4,19,32
  130 COLOUR3:PRINTTAB(XA+4,21)A$(1);" ",TAB(
XA+4,22)A$(2);" ":COLOUR2:PRINTTAB(XB+4,21)B$
(1);" ",TAB(XB+4,22)B$(2);" "
  140 MOVE136+XA*32,324:DRAW120+(XB+LENB$(1))
*32,324
  150  IF POINT(144+XB*32,272)=1 THEN GOTO210
  160 U=16:VDU31,22,21,32,31,22,22,32:GOSUB39
0
  170  IF TB%=6 THEN B$(1)=STRING$(2,CHR$145+
CHR$146):B$(2)=STRING$(2,CHR$147+CHR$148)
  180  IF TB%=4 THEN B$(1)=CHR$145+CHR$146:B$
(2)=CHR$147+CHR$148
  190  IF TB%=2 THEN W=1:GOTO400
  200  TB%=TB%-2:XB=XB+2:COLOUR3:PRINTTAB(XA+
4,21)A$(1);"  ",TAB(XA+4,22)A$(2);"  ":COLOUR
2:PRINTTAB(XB+4,21)B$(1);"  ",TAB(XB+4,22)B$(
2);"  ":MOVE136+XA*32,324:DRAW120+(XB+LENB$(1
))*32,324:GOTO210
  210 COLOUR2:VDU31,T+4,19,32:T=RND(28)+2:VDU
31,T+4,19,155
  220 COLOUR1:F%=31
  230 F%=F%-1:VDU31,F%+4,5,149,32:IF INKEY$(T
B%)="L" THEN GOTO250
  240 SOUND3,-12,F%*2+15,1:IFF%<>0 THENGOTO23
0 ELSEGOTO60
  250 COLOUR2:FORG=0TO14:VDU31,F%+4,G+5,150:S
OUND2,-14,G*2+150,1:FORI=1TO100:NEXT:VDU31,F%
+4,G+5,32:NEXT
  260 IFF%<>T THENGOTO60
  270  XA=XA+1:XB=XB+1:FORF=1TO10:SOUND2,-14,
F*5+59,1:NEXT
  280 COLOUR3:PRINTTAB(XA+3,21)" ";A$(1),TAB(
XA+3,22)" ";A$(2):COLOUR2:PRINTTAB(XB+3,21)" 
";B$(1),TAB(XB+3,22)" ";B$(2)
  290 MOVE136+XA*32,324:DRAW120+(XB+LENB$(1))
*32,324
  300  IF POINT(144+(XA+LENA$(1)-1)*32,272)=1
 THENGOTO60
  310  U=14:VDU31,17,21,32,31,17,22,32:GOSUB3
90
  320  IF TA%=6 THEN A$(1)=STRING$(2,CHR$141+
CHR$142):A$(2)=STRING$(2,CHR$143+CHR$144)
  330  IF TA%=4 THEN A$(1)=CHR$141+CHR$142:A$
(2)=CHR$143+CHR$144
  340  IF TA%=2 THEN W=2:GOTO400
  350  TA%=TA%-2
  360  COLOUR3:PRINTTAB(XA+4,21)A$(1),TAB(XA+
4,22)A$(2):COLOUR2:PRINTTAB(XB+4,21)B$(1),TAB
(XB+4,22)B$(2):MOVE136+XA*32,324:DRAW120+(XB+
LENB$(1))*32,324
  370  GOTO60
  380 END
  390 FORF=16TO20:COLOUR3:VDU31,U+4,F+5,151,1
52:COLOUR2:VDU31,U+4,F+6,153,154:SOUND2,-14,(
F+6)*5,1:FORI=1TO300:NEXT:VDU31,U+4,F+5,32,32
,31,U+4,F+6,32,32:NEXT:RETURN
  400  COLOUR1:PRINTTAB(6,7)"WELL DONE PLAYER
 ";W;" YOU WON"
  410 FORI%=180TO70STEP-10:SOUND1,-15,I%,3:SO
UND2,-15,I%,3:NEXT:FORI%=60TO150STEP20:SOUND1
,-15,I%,6:SOUND2,-15,I%,6:NEXT
  420 COLOUR2:PRINTTAB(6,11)"PRESS ANY KEY TO
 PLAY AGAIN.":G=GET:GOTO50
  430 CLS:GCOL0,1:FORF=160TO264STEP4:MOVE128,
F:DRAW544+RND(1)*32,F:NEXT:FORF=160TO264STEP4
:MOVE1150,F:DRAW736-RND(1)*32,F:NEXT
  440  FORF=268TO284:MOVE128,F:DRAW576,F:NEXT
:FORF=268TO284:MOVE1150,F:DRAW704,F:NEXT
  450  A$(1)=STRING$(3,CHR$141+CHR$142):A$(2)
=STRING$(3,CHR$143+CHR$144):B$(1)=STRING$(3,C
HR$145+CHR$146):B$(2)=STRING$(3,CHR$147+CHR$1
48):XA=7:XB=19
  460 COLOUR3:VDU19,3,4,0,0,0:PRINTTAB(XA+4,2
1)A$(1),TAB(XA+4,22)A$(2):COLOUR2:PRINTTAB(XB
+4,21)B$(1),TAB(XB+4,22)B$(2):MOVE128+XA*32,3
24:DRAW124+(XB+LENB$(1))*32,324
  470  TA%=6:TB%=6:T=0:RETURN
  480 VDU23,141,24,52,62,60,24,31,255,15,23,1
42,0,0,0,0,0,248,255,240,23,143,15,7,7,3,0,0,
0,0,23,144,0,128,192,224,112,24,12,7,23,145,0
,0,0,0,0,31,255,15,23,146,24,44,124,60,24,248
,255,240,23,147,0,1,3,7,14,24,48,224
  490 VDU23,148,240,224,224,192,0,0,0,0,23,14
9,0,129,66,36,102,255,126,60,23,150,16,124,25
4,0,16,56,16,40,23,151,1,195,101,55,27,15,7,3
,23,152,128,195,66,236,152,240,224,192,23,153
,3,3,3,7,14,28,184,112,23,154,192,192,192,224
,112,56,29,14
  500 VDU23,155,24,60,126,255,126,60,24,0,0:R
ETURN
  510 PRINTTAB(4,6)"    TUG        OF        
WAR":COLOUR1:PRINTTAB(4,8)"  B Y  P A U L  S 
T A N L E Y"
  520 GCOL0,3:MOVE352,800:DRAW608,800:MOVE672
,800:DRAW928,800:GCOL0,2:MOVE128,700:DRAW1130
,700:DRAW1130,850:DRAW128,850:DRAW128,700
  530 COLOUR2:PRINTTAB(4,12)"A simple game fo
r 2 players who",TAB(4,13)"have to win at tug
_of_war,not",TAB(4,13)"by strength, but by re
actions."
  540 COLOUR1:PRINTTAB(4,15)"A UFO will fly a
cross the top of",TAB(4,16)"the screen and a 
target will",TAB(4,17)"appear at the bottom. 
Player 1",TAB(4,18)"can parachute out onto th
e"
  550 PRINTTAB(4,19)"target by pressing A and
",TAB(4,20)"player 2 by pressing L"
  560 COLOUR2:PRINTTAB(4,22)"If the parachuti
st lands on the",TAB(4,23)"target you will pu
ll the other",TAB(4,24)"team. If any men fall
 down the",TAB(4,25)"canyon that team will fi
nd it",TAB(4,26)"harder to win"
  570 COLOUR3:PRINTTAB(7,28)"PRESS ANY KEY TO
 START":G=GET:RETURN