to UFO INIT T erall fs end to INIT window ht cs setsplit 13 ct type word char 27 "0 type word char 27 "p make "STOP 0 pr [* UFO *] type word char 27 "q pr [] pr [1 On screen you see a small UFO] pr [2 Left = 0 degrees / Straight forward = 90 degrees / right = 180 degrees.] pr [] pr [3 You have to estimate the direction.] pr [4 The arrow will be adjusted and you see the UFO again.] pr [] pr [5 Then estimate the distance. After pressing ENTER the arrow will be thrown.] pr [] pr [YOU LIKE TO STOP? TYPE: 999 for direction.] pr [LOTS OF LUCK! PLEASE PRESS A KEY] if not rc = "O [] cs setsplit 2 ct pu setpos [-360 -180] pd repeat 2 [fd 442 rt 90 fd 719 rt 90] make "BT 0 make "PT 0 make "F 30 HOME ht SV setcursor [40 27] type [UFO TD '89] end to T ct HOME make "X 340 - random 680 make "x :X if :x < 0 [make "x :x * -1] make "Y 230 - random 400 make "y :Y if :y < 0 [make "y :y * -1] make "XY se :X :Y flash SCH make "BT :BT + 1 TL if :STOP = 1 [stop] T end to flash ht pu dot :XY setpos :XY bk 5 lt 90 fd 5 rt 90 px repeat 16 [fd 10 rt 90] HOME end to HOME pu setpos [0 -180] st seth 0 end to SCH type [Direction (0 - 180) ..:] make "R rq if not numberp :R [SCH] if :R = 999 [make "STOP 1 stop] K HOME ct lt 90 - :R label "x type [Distance (0 - 550) :] make "A rq if not numberp :A [go "x] if 1000 - :A < 0 [make "A 1000] ht fd :A * 0.9 pd fd :A * 0.1 lt 150 fd 10 bk 10 lt 60 fd 10 bk 10 make "TF tf make "Q item 1 :TF if :Q < 0 [make "Q :Q * -1] make "Q :Q - :x if :Q < 0 [make "Q :Q * -1] make "Z item 2 :TF if :Z < 0 [make "Z :Z * -1] make "Z :Z - :y if :Z < 0 [make "Z :Z * -1] if and (:Q - :F < 0) (:Z - :F < 0) [make "F :F - 2 type char 7 type [Well done!!] make "PT :PT + 1 stop] K make "F :F + 2 type [SORRY!!] if and (:BT > 3) (:PT = 0) [make "F :F + 20] W end to SV lt 60 repeat 5 [fd 50 pd fd 10 pu bk 60 rt 30] HOME end to TL make "SC :PT / :BT * 1000 make "SC round :SC make "SC :SC / 10 setcursor [40 1] type se [POINTS :] :PT SP type se [from] :BT SP type [turns. SCORE:] SP type se :SC [%] SP SP setcursor [0 29] ct end to SP type char 32 end to K seth 0 ht pu setpos :XY bk :F lt 90 fd :F rt 90 px repeat 4 [fd :F * 2 rt 90] end to W repeat 500 [] end ake "STOP 1 stop] K HOME ct lt 90 - :R label "x type [Distance (0