Fly to one of ten destinations.
Content
Source Code
1 LET zx=0: LET x=0: LET y=0: LET z=0
10 GO SUB 1020
11 GO SUB 9500
15 LET m=l: LET tr=w: BORDER 7: PAPER 7: INK 2
20 PLOT 89,145: DRAW INK 3;7,0: PLOT (89+INT l/50),145: DRAW INK 3;INT w/50,0
30 PRINT AT 17,15;"DESTINATION:"
100 LET a=0: LET s=0: LET d=0: LET r=0: LET c=0: LET f=29: LET n=0
200 OVER 1: INK 2: PLOT 0,0: DRAW 255,0: DRAW 0,175: DRAW -255,0: DRAW 0,-175
210 PLOT 0,16: DRAW 255,0: PRINT AT 20,0; INK 0;"FUEL"
220 PLOT 32,0: DRAW 0,16: PLOT 32,8: DRAW 223,0
230 PRINT AT 20,4; INK 3;"0 50 100 150 200 250 300"
240 PLOT 88,16: DRAW 0,159: PLOT 0,144: DRAW 255,0
250 INK 0: PRINT AT 14,0;"ALTITUDE"
251 PRINT AT 10,0;"RANGE"
252 PRINT AT 2,0;"SPEED"
253 PRINT AT 6,0;"RUDDER"
254 PRINT AT 0,0; INK 3;"INSTRUMENTS"
255 PRINT AT 12,0;"RUNWAY LEFT"
256 PRINT AT 18,0;"FLAP ANGLE"
257 PRINT AT 8,0;"R/BEARING"
258 PRINT AT 4,0;"ACCELERATE"
259 PRINT AT 16,0;"DROP RATE"
310 PLOT 89,95: DRAW 166,0: PLOT 0,160: DRAW 88,0: PLOT 89,112: DRAW 166,0
340 FOR t=32 TO 128 STEP 16: PLOT 0,t: DRAW 86,0: NEXT t
390 PRINT AT 21,4;" ": OVER 0: GO SUB 700
520 IF s<150 AND a>0 THEN GO TO 5000
540 PRINT AT 5,13;"SELECT THRUST";AT 6,13;"(-75 to +75)"
560 INPUT x: IF x>75 THEN LET x=75
565 IF x<-75 THEN LET x=-75
570 LET s=s+x: LET c=x: LET x=0: IF s>600 THEN LET s=600
572 LET s=s-5: IF s<0 THEN LET s=0
573 LET l=l-INT (1.25*(s*(1-d/100)))
575 GO SUB 700
578 IF s<150 AND a>0 THEN GO TO 5000
580 LET x=0: PRINT AT 5,13;"CHANGE FLAPS? ";AT 6,13;"(-50 to +50)": INPUT y: LET n=n+y: IF n>50 THEN LET n=50
581 IF n<-50 THEN LET n=-50
582 LET a=a+INT (3.06*n): IF a<-5 THEN GO TO 5020
583 IF a>=500 THEN LET a=500
585 IF a<4 AND l>100 THEN LET a=0
590 LET r=INT (3.06*n): LET s=s-n
595 IF a<0 AND a>=-5 THEN LET a=0
600 GO SUB 700
605 LET zx=1
610 PRINT AT 5,13;"CHANGE RUDDER? ";AT 6,13;"(-45 to +45)": INPUT z: LET d=d+z: IF pe>179 THEN LET pe=-179
612 IF pe<-179 THEN LET pe=179
620 LET pe=pe-d
630 IF l<=0 THEN LET w=w-s
635 IF f<0 THEN GO TO 5040
640 IF a<0 AND l>0 THEN GO TO 5080
645 IF a<=0 AND pe<>0 AND l<=250 THEN GO TO 5100
660 LET f=f-INT ((n/10+s/20)/(e/2)): IF f<=0 THEN GO TO 5040
670 IF l>400 AND l<500 AND a>5 AND a<50 THEN LET a=100
675 IF s>230 AND a<=0 THEN LET a=50
680 IF w<=0 THEN GO TO 5060
700 PRINT AT 3,1; INK 0;s;" ";AT 15,1;a;" ";AT 11,1;l;" ";AT 7,1;d;" ";AT 19,1;n;" ";AT 5,1;c;" ";AT 17,1;r;" ";AT 9,1;pe;" ";AT 13,1;w;" "
810 FOR t=16 TO 144 STEP 16: PLOT 0,t: DRAW 86,0: NEXT t
860 PRINT AT 8,12; INK 4;" - R/BEARING +"
880 PRINT AT 9,12;" "
890 PRINT AT 9,21;"o": PRINT AT 9,21-INT (pe/20);"^"
892 IF zx<>0 THEN GO TO 900
895 RETURN
900 PLOT INK 0;INT ((m-l)/50)+89,INT a/18+146
905 LET zx=0
910 PRINT AT 21,f;" "
920 IF a<=0 AND w>=0 AND f>0 AND pe=0 AND l<0 AND s<=0 AND s>=-1 THEN GO TO 6000
935 IF a<=40 THEN PRINT AT 16,15; INK 2; PAPER 7; FLASH 1;"ALTITUDE"
940 IF s<165 THEN PRINT AT 14,15; INK 2; PAPER 7; FLASH 1;"SPEED"
945 IF l<100 THEN PRINT AT 12,15; INK 2; PAPER 7; FLASH 1;"RANGE"
950 IF l<300 AND pe<>0 THEN PRINT AT 13,15; INK 2; PAPER 7; FLASH 1;"R/BEARING"
955 IF w<200 THEN PRINT AT 12,15; INK 2; PAPER 7; FLASH 1;"RUNWAY LEFT"
960 FOR q=1 TO 100: BEEP .007,-22: NEXT q: FLASH 0: PRINT AT 12,15;" ";AT 13,15;" ";AT 14,15;" ";AT 15,15;" ";AT 16,15;" "
1000 GO TO 500
1020 PAPER 0: INK 7: BORDER 7: CLS
1037 PRINT TAB 12; FLASH 1;"AIRPLANE"
1040 BEEP .3,0: BEEP .3,0: BEEP .3,0: BEEP .8,-5
1050 BEEP .3,3: BEEP .3,3: BEEP .3,3: BEEP .8,-2
1060 FOR m=-7 TO 5: BEEP .1,m: NEXT m: PAUSE 20: BEEP .17,15: PAUSE 15: BEEP .4,-25
1070 PRINT AT 0,12;"AIRPLANE"''"* Fly to ONE of TEN destinations"''"* Stall speed is 150 Km/h"
1080 PRINT '"* Flaps change your altitude"''"* Rudder changes your bearing"
1090 PRINT '"* o is the destination"''"* ^ is your position"
1100 PRINT '"* FOR A SUCCESSFUL LANDING:";TAB 6;"Speed must be 0, altitude";TAB 6;"must be 0, AND you must";TAB 6;"be on the runway."
1110 PRINT AT 20,8;"ANY KEY TO START": IF INKEY$="" THEN GO TO 1110
1120 RETURN
4000 RETURN
5000 PAUSE 40: CLS : PRINT "You stalled at ";s;"KM/H"''"Fall down / go BOOM!": GO TO 5200
5020 PAUSE 40: CLS : PRINT "Your altitude is ";a;" meters"''"Can't keep it up, eh?": GO TO 5200
5040 PAUSE 40: CLS : PRINT "You ran out of fuel, FOOL!": GO TO 5200
5060 PAUSE 40: CLS : PRINT "You overshot the runway"'"by ";ABS w;" meters"''"Choose a farther destination!": GO TO 5200
5080 PAUSE 40: CLS : PRINT "You landed ";l; "miles short"'"of the runway"''"Choose a closer destination!": GO TO 5200
5100 PAUSE 40: CLS : PRINT "You missed the runway"'"by ";pe;" degrees"''"Please give up!": GO TO 5200
5200 SOUND 7,62;8,15: FOR q=50 TO 100: SOUND 0,q: PAUSE 3: NEXT q
5210 SOUND 6,6;7,7;8,16;9,16;10,16;12,56;13,8: PAUSE 90: SOUND 8,0;9,0;10,0
5290 PAUSE 250: CLS : GO TO 1
6000 LET k=INT f/3
6092 LET sc=INT (110*(w/tr)): LET k=(2*k)+sc
6100 PAUSE 100: CLS : PRINT "Well done! You scored ";INT k;" points out of a possible 100": STOP
8100 STOP
9500 INK 7: BORDER 7: PAPER 0: CLS : PRINT AT 1,1;"YOU WILL FLY"'" FROM: LONDON, ENGLAND"'" TO:"
9502 PRINT : PRINT "0) Istanbul"'"1) Chicago"'"2) Milan"'"3) Moscow"'"4) New York"'"5) Port Stanley"'"6) Oslo"'"7) Tel Aviv"'"8) Delhi"'"9) Toronto"
9505 INK 2: PAPER 7
9510 INPUT "Choose by NUMBER : ";ap
9515 IF ap>9 THEN GO TO 9510
9520 GO TO 9580+ap*20
9580 CLS : LET l=1562: LET e=9: LET w=480: LET pe=35: PRINT AT 18,16;"Istanbul": RETURN
9600 CLS : LET l=4235: LET e=15: LET w=700: LET pe=170: PRINT AT 18,16;"Chicago": RETURN
9620 CLS : LET l=581: LET e=4: LET w=700: LET pe=35: PRINT AT 18,16;"Milan": RETURN
9640 CLS : LET l=1549: LET e=9: LET w=640: LET pe=-10: PRINT AT 18,16;"Moscow": RETURN
9660 CLS : LET l=3500: LET e=13: LET w=750: LET pe=170: PRINT AT 18,16;"New York": RETURN
9680 CLS : LET l=7406: LET e=24: LET w=440: LET pe=110: PRINT AT 18,16;"Port Stanley": RETURN
9700 CLS : LET l=722: LET e=5: LET w=500: LET pe=-30: PRINT AT 18,16;"Oslo": RETURN
9720 CLS : LET l=2230: LET e=11: LET w=650: LET pe=40: PRINT AT 18,16;"Tel Aviv": RETURN
9740 CLS : LET l=5203: LET e=18: LET w=510: LET pe=34: PRINT AT 18,16;"Delhi": RETURN
9760 CLS : LET l=3728: LET e=14: LET w=550: LET pe=-150: PRINT AT 18,16;"Toronto": RETURN
9998 SAVE "PLANE" LINE 1: REM PRINT FLASH 1;"VERIFY...": VERIFY "": STOP