10 RESTORE 10:INK 0,0:MODE 1:DEFINT A-Z:FOR O=&8000 TO &8005:READ P:POKE O,P:NEXT:X=300:OX=X:A=260:SC=0:d=4:TAG:SYMBOL 250,90,126,90,24,90,126,90,24:DATA 62,215,205,77,188,201
20 WHILE TEST(ox+8,284)=0:PLOT OX,300,1:PRINT" ";:CALL &8000:PLOT X,300:PRINT CHR$(250);:OX=X
30 IF NOT INKEY(71) THEN X=X-7 ELSE IF NOT INKEY(22) THEN X=X+7
40 SOUND 1,2000,11,11:C=RND*10:IF C<2 THEN B=10-RND*20
50 IF D<>B*0.8 THEN D=D+SGN(ABS(B)-D):IF D<2 THEN D=2
60 IF B+A<80 OR B+A>500 THEN B=-B
70 MOVE A-(ABS(d)-3)*8,16:PRINT STRING$(d," ");:a=a+b:IF sc MOD 10=0 AND d>2 THEN PLOT A+CINT(RND*(d-3))*16,20,RND*2+1:PRINT CHR$(231);
80 sc=sc+1:IF sc MOD 10=0 THEN MOVE 10,32:PRINT SC/10;:IF sc MOD 100=0 THEN POKE &8001,15*CINT(RND*16)
90 WEND:sc=sc/10-1.7:HSC=MAX(SC,HSC):MOVE 60,50:PRINT"DISTANCE";SC;"KM  FARTHEST";HSC;"KM";
100 FOR O=1 TO 50:PLOT oX+18-20*RND,302-20*RND,RND*3+1:SOUND 1,100+O*20,3,15-o‡ 7,0,0,26-O/5:NEXT:WHILE INKEY$<>"":WEND:CALL &BB18:GOTO 10