1
0
mirror of https://github.com/rfivet/BCG101.git synced 2024-12-30 05:57:15 -05:00
BCG101/port/ROCKT1.BAS

69 lines
2.6 KiB
QBasic
Raw Normal View History

2024-05-20 22:45:32 -04:00
70 PRINT "LUNAR LANDING SIMULATION"
80 PRINT "----- ------- ----------"\PRINT
100 PRINT "DO YOU WANT INSTRUCTIONS (YES OR NO)";\INPUT A$
110 IF A$="NO" THEN 390
160 PRINT
200 PRINT "YOU ARE LANDING ON THE MOON AND HAVE TAKEN OVER MANUAL"
210 PRINT "CONTROL 500 FEET ABOVE A GOOD LANDING SPOT. YOU HAVE A"
220 PRINT "DOWNWARD VELOCITY OF 50 FT/SEC. 120 UNITS OF FUEL REMAIN."
225 PRINT
230 PRINT "HERE ARE THE RULES THAT GOVERN YOUR SPACE VEHICLE:"
240 PRINT "(1) AFTER EACH SECOND, THE HEIGHT, VELOCITY, AND REMAINING"
250 PRINT " FUEL WILL BE REPORTED."
260 PRINT "(2) AFTER THE REPORT, A '?' WILL BE TYPED. ENTER THE"
270 PRINT " NUMBER OF UNITS OF FUEL YOU WISH TO BURN DURING THE"
280 PRINT " NEXT SECOND. EACH UNIT OF FUEL WILL SLOW YOUR DESCENT"
290 PRINT " BY 1 FT/SEC."
310 PRINT "(3) THE MAXIMUM THRUST OF YOUR ENGINE IS 30 FT/SEC/SEC OR"
320 PRINT " 30 UNITS OF FUEL PER SECOND."
330 PRINT "(4) WHEN YOU CONTACT THE LUNAR SURFACE, YOUR DESCENT ENGINE"
340 PRINT " WILL AUTOMATICALLY CUT OFF AND YOU WILL BE GIVEN A"
350 PRINT " REPORT OF YOUR LANDING SPEED AND REMAINING FUEL."
360 PRINT "(5) IF YOU RUN OUT OF FUEL, THE '?' WILL NO LONGER APPEAR,"
370 PRINT " BUT YOUR SECOND BY SECOND REPORT WILL CONTINUE UNTIL"
380 PRINT " YOU CONTACT THE LUNAR SURFACE."\PRINT
390 PRINT "BEGINNING LANDING PROCEDURE....."\PRINT
400 PRINT "G O O D L U C K ! ! !"
420 PRINT\PRINT
430 PRINT "SEC FEET SPEED FUEL PLOT OF DISTANCE"
450 PRINT
455 T=0\H=500\V=50\F=120
490 PRINT T;TAB(4);H;TAB(12);V;TAB(20);F;TAB(29);"I";TAB(H/12+29);"*"
500 INPUT B
510 IF B<0 THEN 650
520 IF B<=30 THEN 530\B=30
530 IF B<=F THEN 540\B=F
540 V1=V-B+5
560 F=F-B
570 H=H-.5*(V+V1)
580 IF H<=0 THEN 670
590 T=T+1
600 V=V1
610 IF F>0 THEN 490
615 IF B=0 THEN 640
620 PRINT "*** OUT OF FUEL ***"
640 PRINT T;TAB(4);H;TAB(12);V;TAB(20);F;TAB(29);"I";TAB(H/12+29);"*"
650 B=0
660 GOTO 540
670 PRINT "*** CONTACT ***"
680 H=H+.5*(V+V1)
690 IF B=5 THEN 720
700 D=(-V+SQR(V*V+H*(10-2*B)))/(5-B)
710 GOTO 730
720 D=H/V
730 V1=V+(5-B)*D
760 PRINT "TOUCHDOWN AT";T+D;"SECONDS."
770 PRINT "LANDING VELOCITY =";V1;"FT/SEC"
780 PRINT F;"UNITS OF FUEL REMAINING."
790 IF V1<>0 THEN 810
800 PRINT "CONGRATULATIONS!! A PERFECT LANDING!"
805 PRINT "YOUR LICENSE WILL BE RENEWED.......LATER."
810 IF ABS(V1)<2 THEN 840
820 PRINT "***** SORRY, BUT YOU BLEW IT!!!!"
830 PRINT "APPROPRIATE CONDOLENCES WILL BE SENT TO YOUR NEXT OF KIN."
840 PRINT\PRINT\PRINT
850 PRINT "ANOTHER MISSION";\INPUT A$
860 IF A$="YES" THEN 390
870 PRINT\PRINT "CONTROL OUT."\PRINT
999 END