Flying Geese


It's time to don your tweeds, grease up your shotgun and head for the marshes. The geese are back from the north and the freezer is empty. Don't worry about the corpses - your faithful hound will deal with those after the game is over. Just blast away with your shooter and notch up a handsome tally.

   10 REM FLYING GEESE**BBC VERSION** @1983 M
ICHAEL BEWS
   20 REM CONVERTED TO BBC MICRO BY C.R.TANNE
R
   30 MODE1:PRINT TAB(16,3);"<SPACE>":VDU 23;
8202;0;0;0;28,4,27,35,4
   40 DIM a$(4),d(4),g(4),h(4)
   50 VDU 23,224,2,6,7,7,127,31,8,0
   60 VDU 23,225,0,0,48,104,254,192,0,0
   70 VDU 23,226,0,0,0,0,127,31,15,3
   80 VDU 23,236,1,98,244,232,88,232,248,224
   90 VDU 23,237,224,224,144,144,144,144,144,
216
  100 VDU 23,227,85,170,85,170,85,170,85,170
  110 VDU 23,228,66,16,132,33,4,81,4,160
  120 VDU 23,229,0,16,18,54,118,62,60,60
  130 VDU 23,230,48,56,28,20,24,16,16,0
  140 VDU 19,0,4,0,0,0
  150 GOSUB 400
  160 FOR x=1 TO 4:h(x)=1:g(x)=x*5-4:NEXT x
  170 CLS:COLOUR 3:PRINT TAB(0,0);"SHOTS:  ";
TAB(10,0);"  TO FIRE";TAB(24,0);"SCORE:  ";:C
OLOUR 2:PRINT TAB(21,13);CHR$228;CHR$228;CHR$
228;TAB(20,14);STRING$(5,CHR$(228));TAB(19,15
);STRING$(7,CHR$(228));TAB(19,16);STRING$(7,C
HR$(228));
  180 PRINT TAB(19,17);CHR$228;CHR$228;" ";CH
R$227;" ";CHR$228;CHR$228;:COLOUR 129:PRINT T
AB(22,18);CHR$(227);TAB(22,19);CHR$227;TAB(0,
20);"            ";"        ";"              
          ";STRING$(8,CHR$227);"            "
;:COLOUR 128
  190 PRINT TAB(1,18);CHR$236;TAB(1,19);CHR$2
37;
  200 REM FLYING/SHOOT ROUTINE
  210 FOR x=o TO fr:TIME=0:d(x)=ei-x+SGN(o-tw
*INT(RND(tw))):PRINT TAB(g(x)-o,h(x));"  ";:f
=-f:PRINT TAB(g(x),d(x));" ";a$(th-f);:SOUND 
1,-6,255,0
  220   IF INKEY(-99) THEN SOUND 0,-15,6,2 EL
SE GOTO 280
  230   FOR y=o TO tw:GCOL3,2:PLOT 69,128+(en
*4),192+(tf*4):PLOT 1,fr*4,th*4:PRINT TAB(th,
si);CHR$228;:NEXT y:PRINT TAB(th,si);" ";:SH=
SH+o:PRINT TAB(sx,0);SH;
  240   IFg(x)<>ev AND  g(x)<>tv THEN GOTO 28
0
  250   B=B+o:PRINT TAB(g(x),d(x));"   ";TAB(
hy,0);B;:g(x)=o-tw:h(x)=o:FOR y=d(x) TO ni ST
EP tw:PRINT TAB(fo,(y-tw)-1);" ";TAB(fo,(y-o)
-1);" ";TAB(fo,y-1);CHR$229;TAB(fo,(y+o)-1);C
HR$230;
  260   SOUND 1,-10,50-y,1:FOR A%=0 TO 150:NE
XT:NEXT y
  270   PRINT TAB(fo,(ni-o)-1);" ";TAB(fo,ni-
1);" ";TAB(fo,(ni+o)-1);" ";
  280   h(x)=d(x):g(x)=g(x)+tw:IF g(x)>tn THE
N PRINT TAB(g(x)-o,h(x));"   ";:g(x)=o
  290   REPEAT UNTIL TIME>10
  300 NEXT x:f=-f:IF SH<99 THEN 210
  310 REM END OF GAME ROUTINE
  320 IF B>tot THEN tot=B
  330 COLOUR 3:PRINT TAB(10,9);" GAME OVER";T
AB(4,11);" SCORE:";B;" IN 100 SHOTS ";
  340 PRINT TAB(4,13);"HIGHEST SCORE: ";tot;
  350 FOR A%=1 TO 1000:NEXT:*FX15,1
  360 PRINT TAB(4,23);"PRESS ANY KEY TO START
";
  370 IF INKEY$(1000)="" THEN 370
  380 SH=0:B=0:GOTO 160
  390 REM INITIALISATION
  400 CLS
  410 sx=6:hy=30:tot=0:SH=0:fi=15:tv=12:ev=11
:ni=19:ty=20:en=18:tf=34:si=16:fo=14:ei=8:f=-
1:o=1:tw=2:th=3:fr=4:tn=29:B=0
  420 a$(4)=CHR$224+CHR$225
  430 a$(2)=CHR$226+CHR$225
  440 RETURN