File ROCKT1.BA (BASIC source file)

Directory of image this file is from
This file as a plain text file

5 REM **** WRITTEN BY ERIC PETERS, DIGITAL
10 REM *** CONVERTED TO RSTS/E BY DAVID AHL, DIGITAL
20 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC
70 PRINT "LUNAR LANDING SIMULATION"
80 PRINT "----- ------- ----------"\PRINT
100 PRINT "DO YOU WANT INSTRUCTIONS (YES OR NO)";\INPUT A$
120 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
410 PRINT "G O O D   L U C K ! ! !"
420 PRINT\PRINT
440 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$
870 IF A$="YES" THEN 390
880 PRINT\PRINT "CONTROL OUT."\PRINT
999 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search