The satellites are collected by manoeuvering your spaceship into them and points are gained for each one which you manage to recover. Collision with other objects results in destruction, although you are allocated five lives at the start of each game.
1 REM **SPACE TRAFFIC ** *BBC VERSION* 5 MODE7 10 GOSUB9000 20 GOSUB8000 30 MODE2 40 VDU 23,1,0;0;0;0; 50 hs=0 70 PRINT"-ASTEROIDS DETECTED-":FOR F=1 TO 4:FOR d=97 TO 49 STEP-4:SOUND1,-15,4,1:NEXTd: NEXTF 90 x1=x 99 *FX15,1 100 LETx=x+(INKEY(-98)ANDx>5)-(INKEY(-67)AN Dx<18) 103 C%=FNATTR(x,7) 105 IF C%=7 OR C%=1 THEN hit=1 107 IF C%=2 THEN FOR d=0 TO 60 STEP20:SOUND 1,-15,d,1:NEXT:sc=sc+1 110 PRINTTAB(x1,6);" ":PRINTTAB(31,19);" ": FORI=0TO5:PRINTTAB(x1,I)" ":NEXT I:COLOUR2:PR INTTAB(x,6)CHR$224 112 IF q=6 THEN IF w=x THEN PROCBEEP(20):PR OCBEEP(10):PROCBEEP(20):GOSUB4100 115 IF hit=1 THEN hit=0:PROCBEEP(10):GOSUB4 100 117 IF INKEY$(0)="M" THEN GOSUB 5000 120 l=RND(18):g=RND(3)*2+1:COLOUR7:PRINTTA B(l,30)a$;TAB(l,31)b$ 125 IF c>400 THEN l=RND(18):g=RND(3)*2+1:C OLOUR7:PRINTTAB(l,30)a$;TAB(l,31)b$ 130 IF c=200 THEN a$=CHR$226+CHR$227+CHR$22 5+" "+CHR$234+" ":b$=CHR$228+CHR$229+" " 135 IF c=300 THEN a$=CHR$226+CHR$227+CHR$22 6+CHR$227+CHR$226+CHR$227:b$=CHR$228+CHR$229+ CHR$228;CHR$229+CHR$228+CHR$229 140 IF RND(1)>.6 THEN COLOUR2:PRINTTAB(RND( 19),31);CHR$230 150 IF RND(1)<.4 THEN COLOUR1:PRINTTAB(RND( 19),31);CHR$231 155 Y%=0 159 S%=0 160 FOR L%=8 TO 11 165 C%=FNATTR(x,L%) 170 IF C%=1 THEN Y%=1 AND S%=L% 175 NEXT 180 IF Y%=1 THEN GOSUB 4000 185 c=c+1 187 IF c>400 THEN GOTO 90 190 q=q-2:COLOUR6:PRINTTAB(w,q);CHR$232;TAB (w,q+1);" ";TAB(w,q+2);" ";:IF q=0 THEN q=30: w=x 200 GOTO 90 4000 IF S%=11 THEN d=88 ELSE IF S%=10 THEN d=96 ELSE IF S%=9 THEN d=104 ELSE IF S%=8 THE N d=112 4005 MOVE x*64+24,d*4:PLOT69,0,832-d*4:FOR f=35 TO 40:PROCBEEP(f):NEXTf:PLOT71,0,832-d*4 4100 FOR g=1 TO 2:FOR f=5 TO 0 STEP-1:PRINTT AB(x-5+f,f)".";TAB(x+5-f,f)".";TAB(x-5+f,10-f )".";TAB(x+5-f,10-f)".";TAB(x,f);".";TAB(x,10 -f)".";TAB(x+5-f,5)".";TAB(x-5+f,5)"." 4110 NEXTf:COLOUR0:NEXTg:COLOUR2:PRINTTAB(x, 5)" " 4130 li=li-1:COLOUR11:PRINTTAB(0,0)"LIVES LE FT:";li;TAB(12,0)"SCORE:";sc:FOR f=-30 TO 0:P ROCBEEP(f):NEXTf 4135 IF li<>0 THEN RETURN 4137 FOR f=1 TO 4:PROCBEEP(f):PROCBEEP(2*f): FOR g=1 TO 20:NEXTg:NEXTf 4140 CLS:PRINTTAB(0,5)"You scored ";sc;" pts ." 4145 PRINTTAB(0,7)"High score ";hs 4150 IF sc>hs THEN hs=sc:PRINTTAB(0,9)"CONG RATULATIONS" 4160 PRINTTAB(0,11)"ANY KEY TO PLAY" 4165 *FX15,0 4170 X=GET:CLS:GOSUB 9110:GOTO70 5000 sc=sc-1:flag=0:FOR f=7 TO 25 5010 PRINTTAB(x,f)".":PROCBEEP(1) 5020 PRINTTAB(x,f)" ":Z=FNATTR(f+1,x):IF Z<>0 THEN flag=1 5025 NEXTf 5030 Z=FNATTR(x,f+1):IF Z=7 THEN RETURN 5040 PRINTTAB(x,f+1)" ":FOR d=1 TO 3 :PROCB EEP(d):NEXT 5050 IF RND(1)>.4 THEN RETURN 5055 t=RND(4)+1 5060 FOR d=0 TO t:COLOUR7:PRINTTAB(x-d,f+1- d)CHR$225;TAB(x+d,f+1-d)CHR$225;TAB(x-d,f+1+d )CHR$225;TAB(x+d,f+1+d)CHR$225 5070 IF d<t THEN PRINTTAB(x-d,f+1-d)" ";T AB(x+d,f+1-d)" ";TAB(x-d,f+1+d)" ";TAB(x+d,f+ 1+d)" " 5080 NEXT d:RETURN 8000 PRINTCHR$141"SPACE TRAFFIC @ Paul Stanl ey" 8001 PRINTCHR$141"SPACE TRAFFIC @ Paul Stanl ey" 8010 PRINT:PRINT" You are flying through space when suddenly you encounter an astero id belt." 8020 PRINTCHR$130;"Enemy craft will fire at you given the":PRINTCHR$130;"chance,and other missiles are aimed ":PRINTCHR$130;"right a t you." 8030 PRINT:PRINT"To score you have to recove r lost satellites in the process." 8040 PRINT:PRINTCHR$132;"If you are despara te you can fire at ":PRINTCHR$132;"asteroids , but you lose a satellite in":PRINTCHR$132;" the process." 8050 PRINT:PRINT"Move LEFT---Z,RIGHT---X,FI RE---M" 8060 PRINT:PRINT"Any key to start.":X=GET:R ETURN 9000 VDU23,224,254,124,40,124,40,56,16,16 9010 VDU23,225,0,48,72,84,72,48,0,0 9020 VDU23,226,1,2,60,64,160,132,136,129 9030 VDU23,227,224,152,8,136,70,8,17,145 9040 VDU23,228,130,144,121,5,4,5,6,3 9050 VDU23,229,133,3,20,72,16,32,32,192 9060 VDU23,230,129,66,60,36,36,60,66,129 9070 VDU23,231,16,16,56,84,84,56,16,124 9080 VDU23,232,0,16,8,16,32,16,16,56 9090 VDU23,233,24,54,41,66,169,130,84,56 9100 VDU23,234,38,91,162,152,130,106,60,4 9110 a$=CHR$225+" "+CHR$233+" "+CHR$234 9120 b$=" " 9130 x=9:c=0:hit=0:sc=0 9140 q=30:w=x:li=5 9150 RETURN 10000 DEF FNATTR(X%,Y%) 10010 LOCALA%,B%,R% 10020 C=0 10030 A%=(X%+1)*64-32 10040 B%=(Y%+1)*-32+1032 10050 FOR R%=1 TO 12 10060 Z=POINT(A%+R%,B%+R%) 10070 IF Z<>0 THEN C=Z 10080 NEXT 10090 =C 11000 DEFPROCBEEP(d) 11010 SOUND1,-15,d,1 11020 ENDPROC