Flying Bomb


The year is 1943. You are a wartime test-pilot under orders to conduct a series of tests on a powerful new flying bomb which, if it proves its mettle, could bring D-Day that much closer. Your instructions are to try out the new wonder weapon on a Nazi bunker (situated at the bottom right of your TV screen). You can only drop one bomb per run, and because you've never grappled with these devices before, it's going to take you a while to get the hang of the controls. But do your best. Your country is depending on you!

    1  REM ***FLYING BOMB** by M.BEWS
   10 REM CONVERTED TO BBC MICRO BY C.R.TANNE
R
   20 MODE1:COLOUR 130:CLS:COLOUR 128
   30 VDU 23;8202;0;0;0;28,4,27,35,4
   40 VDU23,224,192,64,127,26,15,0,0,0
   50 VDU23,225,0,0,248,175,254,190,127,190
   60 VDU23,226,0,0,248,175,254,0,0,0
   70 VDU23,227,0,0,0,0,0,190,127,190
   80 VDU23,228,64,64,64,64,64,64,64,-1
   90 VDU23,229,1,3,7,15,31,63,127,255
  100 VDU23,230,-1,-1,-1,-1,-1,-1,-1,-1
  110 VDU 19,0,4,0,0,0
  120 VDU 19,1,2,0,0,0
  130 VDU 19,2,6,0,0,0
  140 SC=0
  150 PO=0:CR=0:DIST=27000:DC=DIST:TH=1000:D=
0:H=4:DK=D:HK=H:S=150
  160 CLS:COLOUR 3:PRINT "FLYING BOMB"
  170 PRINT TAB(0,2);"SCORE:   ";TAB(6,2);SC
  180 PRINT TAB(14,0);"MLS TO TARGET:    ";TA
B(18,1);"HEIGHT FT:    ";TAB(18,2);"SPEED KTS
:    "
  190  COLOUR 129:PRINT TAB(0,18);"          
                      ":COLOUR 128
  200 COLOUR 3:PRINT TAB(0,20);"USE *&? KEYS 
FOR HEIGHT, Z&X FORSPEED AND <SPACE> TO RELEA
SE    BOMB! "
  210 COLOUR 2:PRINT TAB(31,14);CHR$(228);TAB
(30,15);CHR$(229);TAB(29,16);CHR$(229);TAB(28
,17);CHR$(229)
  220 COLOUR 1:PRINT TAB(31,15);CHR$(230);TAB
(30,16);CHR$(230);CHR$(230);TAB(29,17);CHR$(2
30);CHR$(230)CHR$(230)
  230 REM MAIN ROUTINE
  240 COLOUR 3:PRINT TAB(28,1);"    ";TAB(28,
1);INT((17-H)*100-20)
  250 PRINT TAB(28,0);"    ";TAB(28,0);(27-D)
/5
  260 PRINT TAB(28,2);"    ";TAB(28,2);S*2
  270 COLOUR 2:PRINT TAB(DK,HK);"  ";TAB(D,H)
;CHR$(224);CHR$(225);:HK=H:DK=D
  280 IF INKEY(-67) THEN S=S+5:IF S>195 THEN 
S=195
  290 IF INKEY(-98) THEN S=S-5:IF S<45 THEN P
RINT TAB(0,16);"STALLED!":GOTO 670
  300 IF INKEY(-73) THEN H=H-.1
  310 IF INKEY(-105) THEN H=H+.1:IF H>16.8 TH
EN GOTO 590
  320 IF H<2.2 THEN H=2.2
  330 IF INKEY(-99) THEN COLOUR 2:PRINT TAB(D
K,HK);CHR$(224);CHR$(226);:GOTO 400
  340 IF H>13 AND D>27 THEN GOTO 610
  350 REM MOVE CLOSER
  360 DC=DC-S:D=INT((DIST-DC)/TH)
  370 IF D>30 THEN GOTO 630
  380 GOTO 240
  390 REM BOMB DROPED
  400 Y=1:V=H+1:F=D+1:HK=V:DK=F
  405 SOUND 1,-15,100,2
  406 FOR A%=1 TO 1000:NEXT
  410 X=Y*Y*(1-S/200)
  420 SOUND 0,-9,4,1
  430 V=V+X/40:F=F+Y/8
  440 IF V>15 AND F>28 THEN GOTO 520
  450 IF V>18.5 AND F>31 THEN GOTO 630
  460 PRINT TAB(DK,HK);" ";
  470 COLOUR 3:PRINT TAB(F,V);CHR$(227)
  480 FOR A%=1 TO 80:NEXT
  490 HK=V:DK=F
  500 Y=Y+1:GOTO 410
  510 REM WON GAME
  520 PRINT TAB(DK,HK);" ";
  530 PRINT TAB(11,6);"CONGRATULATIONS!";
  540 SC=SC+1:PRINT TAB(6,2);SC
  550 PRINT TAB(31,14);CHR$(228);TAB(30,15);"
 ";TAB(29,16);"    ";TAB(28,17);"    "
  560 FOR X=1 TO 10:SOUND 1,-15,80,1:SOUND 1,
-15,110,1:SOUND 1,-15,90,1:NEXT
  570 FOR X=1 TO 500:NEXT X:GOTO 150
  580 REM DITCHED
  590 PRINT TAB(11,16);"DITCHED!":GOTO 680
  600 REM CRASH ON TARGET
  610 PRINT TAB(11,16);"THAT'S CLEVER!":GOTO 
550
  620 REM LOST GAME
  630 PRINT TAB(DK,HK);"  "
  640 PRINT TAB(11,16);" LOST!"
  650 GOTO 680
  660 REM STALLED
  670  FOR X=H TO 16:FORA%=1 TO 60:NEXT:PRINT
 TAB(D,X);"  ";TAB(D,X+1);CHR$(224)+CHR$(225)
:NEXT X
  680 FOR X=1 TO 10:SOUND 1,-15,30,1:SOUND 1,
-15,60,1:SOUND 1,-15,40,1:NEXT X
  690 FOR X=1 TO 500:NEXT X
  700 GOTO 150