100 PRINT TAB(21);"CLOSE ENCOUNTERS" 110 PRINT TAB(20),"CREATIVE COMPUTING" 120 PRINT TAB(18);"MORRISTOWN, NEW JERSEY" 130 GOSUB 1100 140 PRINT:PRINT:PRINT 150 PRINT "YOU ARE SITUATED AT COORDINATES (0,0). A UFO IS" 160 PRINT "HEADING FOR IMPACT AT THAT LOCATION." 170 PRINT 180 PRINT "AT FIRST TRACK, THE UFO IS ON A COURSE OF"Y"DEGREES "; 190 PRINT "LONGITUDE" 200 PRINT "AND"Z"DEGREES LATITUDE." 210 PRINT " (ALSO IT'S FALLING AT A SPEED OF"X"MILES/PER HOUR)" 220 PRINT "YOU HAVE THE FOLLOWING ALTERNATIVES:" 230 PRINT "A) YOU CAN ATTEMPT TO SHOOT THE UFO OUT OF THE SKY. OR" 240 PRINT "B) YOU CAN DO NOTHING, AND HOPE THAT AIR FRICTION" 250 PRINT " WILL CAUSE THE COURSE OF THE UFO TO DEVIATE, AND THUS" 260 PRINT " MISS YOUR LOCATION.":PRINT 270 PRINT "WHAT IS YOUR PLAN OF ACTION (A OR B)";:INPUT D$ 280 PRINT 290 IF LEFT$(D$,1)="B" THEN 790 300 PRINT "LAUNCH AN I.C.B.M. ON A COURSE THAT WILL INTERCEPT THE UFO" 310 PRINT "WITHOUT THE UFO BEING TOO CLOSE TO YOUR LOCATION. IF THE "; 320 PRINT "SPEED" 330 PRINT "OF THE UFO EXCEEDS"H"M.P.H., YOUR MISSILES ARE USELESS!" 340 PRINT "--SCANNERS PREDICT YOU HAVE"M"MINUTES TO DESTROY THE UFO" 350 PRINT "BEFORE IT IS TOO CLOSE TO IMPACT.":PRINT 360 C=Z-Y+I-INT(RND(1)*4)+1 370 PRINT "--COMPUTER INDICATES COURSE AT FIRST SIGHTING IS APPROX.";C+F 380 PRINT 390 PRINT "TYPE IN A COURSE ON THE CHART BELOU":PRINT 400 PRINT 410 PRINT "TIME","SPEED","LONGITUDE","LATITUDE","COURSE" 420 FOR T=0TO 5 STEP .5 430 PRINT T,X,Y,Z,:INPUT A 440 IF T=INT(T) AND T=M THEN 620 450 IF X<=H THEN 490 460 PRINT "SORRY--THE SPEED OF THE UFO HAS EXCEEDED"H"M.P.H." 470 PRINT "THIS SPEED IS TO GREAT FOR YOUR DEFENSE SCREEN TO TRACK!" 480 PRINT "THEREFORE, YOU ARE (HA HA) DOOMED!":PRINT:GOTO 750 490 IF A=C THEN 720 500 IF A>10 THEN 550 510 PRINT "AT THAT COURSE YOU SHOT YOUR MISSILE STRAIGHT UP, SO WHEN" 520 PRINT "IT RUNS OUT OF FUEL IN ABOUT"F"HOURS, IT WILL FALL"; 530 PRINT "THROUGH" 540 PRINT "YOUR ROOF!!!!!!!!!! GOODBYE!!!!!!":GOTO 660 550 IF A<200 GOTO 580 560 PRINT "GOOD WORK! THERE GOES THE MISSILE--------RIGHT TOWARDS" 570 PRINT "RUSSIA!!!! NOW YOU'RE DEFINITELY IN TROUBLE!!":GOTO 660 580 IF A=C-1 THEN 670 590 IF A=C+1 THEN 710 600 X=X+V+1200:Y=Y-I+5:Z=Z-I+5:C=Z-Y+5 610 NEXT T 620 PRINT "---------------ATTENTION----------------" 630 PRINT "ELAPSED-TIME-INDICATES-THAT-"M"MINUTES-HAVE-PASSED.--IF-YOU-" 640 PRINT "WERE-TO-HIT-THE-UFO-NOW----THE-FORCE-OF-THE-EXPLOSION-WOULD" 650 PRINT "----------DESTROY-YOU-AS-WELL-AS-THE-UFO-!":PRINT 660 GOTO 750 670 PRINT "YOU ARE SHY OF THE UFO'S COORDINATES," 680 PRINT "HOWEVER THIS IS ONLY A SLIGHT DEVIATION SO THE" 690 PRINT "UFO HAS BEEN DESTROYED!":PRINT 710 PRINT "YOU OVERSHOT THE UFO'S COORDINATES,":GOTO 680 720 PRINT "FANTASTIC!!!! YOU HIT THE UFO EXACTLY ON PROJECTED COURSE" 730 PRINT "YOU MUST BE VERY SHARP!":PRINT 740 PRINT 750 PRINT "TRY AGAIN";:INPUT J$:IF LEFT$(J$,1)="N" THEN 1220 760 GOSUB 1100 770 GOSUB 1070 780 PRINT:PRINT:GOTO 340 790 PRINT 800 F=0 810 A=INT(RND(1)*5)+1:C=Z-Y+A 820 M=12000 830 PRINT "MILES","SPEED","LONGITUDE","LATITUDE","COURSE" 840 PRINT "-----","-----","---------","--------","------" 850 P=X+1 860 PRINT M,X,Y,Z,C 870 C=Z-Y 880 X=X+INT(RND(1)*5000)+2000:M=M-X/60 890 Y=Y-INT(RND(1)*10):Z=Z-INT(RND(1)*10):C=Z-Y+AA2 900 IF X-P>5700 THEN F=F+1 910 IF M>0 THEN 850 920 PRINT 930 PRINT "---------IMPACT-AT-"X"-MILES-PER-HOUR--" 940 IF F<=2 THEN 980 950 PRINT "GOOD WORK. FRICTION OF"F"% HAS CAUSED THE COURSE" 960 PRINT "OF THE UFO TO DEVIATE. IMPACT COORDINATES ARE" 970 PRINT "NOW ("F","O-F"). YOU MADE IT!":GOTO 1020 980 PRINT "-----------UPI-WIRE-SERVICE----ON-LINE-"A":"A+5":"A+10":--" 990 PRINT "--- HAVE JUST OBSERVED EXPLOSION AT COORDINATES ("0-F",0)." 1000 A=(A+2)*A 1010 PRINT "BLAST SEEN FROM"A^3"MILES AWAY. NO SURVIVORS.":PRINT 1020 INPUT "TRY AGAIN";J$ 1030 IF LEFT$(J$,1)="N" THEN 1220 1040 GOSUB 1100 1050 GOSUB 1070 1060 PRINT:PRINT:GOTO 300 1070 INPUT "PLAN (A OR B)";D$ 1080 IF LEFT$(D$,1)="B" THEN 790 1090 RETURN 1100 I=INT(RND(1)*20)+1:V=INT(RND(1)*400)+200:F=INT(RND(1)*5)+1 1110 X=INT(RND(1)*5000)+2001:H=X+8000:Q=INT(RND(1)*5)+1 1120 Z=INT(RND(1)*140):IF Z<100 THEN 1120 1130 Y=INT(RND(1)*60):IF Y<40 THEN 1130 1140 IF X>=3000 THEN 1160 1150 M=5:GOTO 1210 1160 IF X>=3700 THEN 1180 1170 M=4:GOTO 1210 1180 IF X>=4700 THEN 1200 1190 M=3:GOTO 1210 1200 M=2 1210 RETURN 1220 END