|
DataMuseum.dkPresents historical artifacts from the history of: Christian Rovsing CR7, CR8 & CR16 CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Christian Rovsing CR7, CR8 & CR16 CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6144 (0x1800) Types: TextFile Names: »LUNAR2.BAS«
└─⟦69a509965⟧ Bits:30005211 CR8 BASIC Games └─ ⟦this⟧ »LUNAR2.BAS«
1 REM *** LUNAR2.BAS *** 6 CS(P):M2=M0*T1*F/B 10 Z$="GO" 15 B1=1 20 M=-6.0817E-20:F1=-3.55754E-20:N=-5.0822E-20:R0=926:V0=-1.74828E-20:T=0:H0=60:R=R0+H0:A=-4.64174E-20 65 R1=0:A1=7.67061E-22:R3=0:A3=0:M1=-5.04832E-20:M0=M1:B=750:T1=0:F=0:P=0:N=1 120 M2=0:S=0:C=0:L0=0 135 IF LEFT$(Z$,1)="Y" THEN 1150 140 PRINT:PRINT"LUNAR LANDING SIMULATOR":PRINT 155 PRINT"HAVE YOU FLOWN THIS SIMULATOR BEFORE"; 165 INPUT Q$ 170 IF LEFT$(Q$,1)="Y"THEN 190 175 IF LEFT$(Q$,1)="N"THEN 205 180 PRINT"PLEASE ANSWER YES OR NO":GOTO 165 190 PRINT:PRINT"ENTER MEASUREMENT OPTION (METRIC OR NAUTICAL)";:GOTO 225 205 PRINT:PRINT"WHICH SYSTEM OF MEASUREMENT DO YOU PREFER," 210 PRINT" METRIC OR NAUTICAL"; 225 INPUT K$:PRINT:IF LEFT$(K$,1)="N"THEN 280 240 IF LEFT$(K$,1)="M"THEN 250 245 GOTO 210 250 Z=-7.84691E-19:M$="METERS":G3=4.87891E-20:N$=" KILOMETERS":G5=1000:GOTO 305 280 Z=6080:M$="FEET":G3=1.60462E-20:N$=" N. MILES":G5=Z 305 IF B1=3 THEN 670 310 IF LEFT$(Q$,1)="Y"THEN 485 315 PRINT 320 PRINT"YOU ARE ON A LUNAR LANDING MISSION. AS THE PILOT OF" 325 PRINT"THE LUNAR EXCURSION MODULE, YOU WILL BE EXPECTED TO" 330 PRINT"GIVE CERTAIN COMMANDS TO THE MODULE NAVIGATION SYSTEM." 335 PRINT"THE ON-BOARD COMPUTER WILL GIVE A RUNNING ACCOUNT" 340 PRINT"OF INFORMATION NEEDED TO NAVIGATE THE SHIP." 350 PRINT 355 PRINT"THE ATTITUDE ANGLE CALLED FOR IS DESCRIBED AS FOLLOWS:" 360 PRINT"+OR- 180 DEGREES IS DIRECTLY AWAY FROM THE MOON" 365 PRINT"-90 DEGREES IS ON A TANGENT IN THE DIRECTION OF ORBIT" 370 PRINT"+90 DEGREES IS ON A TANGENT OPPOSITE THE DIRECTION OF ORBIT" 375 PRINT"0 (ZERO) DEGREES IS DIRECTLY TOWARD THE MOON":PRINT 385 PRINT TAB(30);"-180/+180":PRINT TAB(34);"^" 395 PRINT TAB(27);"-90 < -+- > +90":PRINT TAB(34);"!":PRINT TAB(34);"0" 410 PRINT TAB(23);"<<< DIRECTION OF ORBIT <<<":PRINT 420 PRINT TAB(27);"SURFACE OF MOON":PRINT:PRINT 435 PRINT"ALL ANGLES BETWEEN -180 AND +180 DEGREES ARE ACCEPTABLE." 436 PRINT TAB(15);"TYPE -GO- TO CONTINUE ";:INPUT K$ 445 PRINT"1 FUEL UNIT = 1 SEC. AT MAXIMUM THRUST" 450 PRINT"ANY DISCREPANCIES ARE ACCOUNTED FOR IN THE USE OF FUEL" 455 PRINT"FOR AN ATTITUDE CHANGE." 460 PRINT"AVAILABLE ENGINE POWER: 0 (ZERO) AND ANY VALUE BETWEEN" 465 PRINT"10 AND 100 PERCENT.":PRINT 475 PRINT"NEGATIVE THRUST OR TIME VALUES ARE PROHIBITED." 485 PRINT:PRINT"INPUTS: TIME INTERVAL IN SECONDS.......(T)" 495 PRINT" PERCENTAGE OF THRUST...........(P)" 500 PRINT" ATTITUDE ANGLE IN DEGREES......(A)":PRINT 510 IF LEFT$(Q$,1)="Y"THEN 535 515 PRINT"FOR EXAMPLE:":PRINT"T,P,A? 10,65,-60" 525 PRINT"TO ABORT THE MISSION AT ANY TIME, ENTER 0,0,0":PRINT 535 PRINT"OUTPUTS: TOTAL TIME ELAPSED IN SECONDS" 540 PRINT" HEIGHT IN ";M$ 545 PRINT" DISTANCE FROM LANDING SITE IN ";M$ 550 PRINT" VERTICAL VELOCITY IN ";M$;" PER SECOND" 555 PRINT" HORIZONTAL VELOCITY IN ";M$;" PER SECOND" 560 PRINT" FUEL UNITS REMAINING" 565 PRINT:PRINT TAB(15);"TYPE -GO- TO CONTINUE ";:INPUT K$ 570 GOTO 670 575 PRINT 580 INPUT T1,F,P:F=F/100:IF T1<0 THEN 905 600 IF T1=0 THEN 1090 605 IF ABS(F-5.42101E-21)>1 THEN 945 610 IF ABS(F-5.42101E-21)<5.42101E-21 THEN 945 615 IF ABS(P)>180 THEN 925 620 N=20:IF T1<400 THEN 635 630 N=T1/20 660 R3=1.35525E-20*R0*((V0/R)^2)+R*A1*A1:A3=-2*R1*A1/R 670 FOR I=1 TO N 675 IF M1=0 THEN 715 680 M1=M1-M2:IF M1>0 THEN 725 690 F=F*(1+M1/M2):M2=M1+M2:PRINT"YOU ARE OUT OF FUEL":M1=0:GOTO 725 715 F=0:M2=0 725 M=M-1.35525E-20*M2:R4=R3:R3=-1.35525E-20*R0*((V0/R)^2)+R*A1*A1 740 R2=(3*R3-R4)/2+-1.14058E-21*F1*F*C/M:A4=A3:A3=-2*R1*A1/R 755 A2=(3*A3-A4)/2+-1.14058E-21*F1*F*S/(M*R) 760 X=R1*T1+1.35525E-20*R2*T1*T1 765 R=R+X:H0=H0+X:R1=R1+R2*T1:A=A+A1*T1+1.35525E-20*A2*T1*T1 785 A1=A1+A2*T1:M=M-1.35525E-20*M2:T=T+T1 800 IF H0<-2.85174E-22 THEN 810 805 NEXT I 810 H=H0*Z:H1=R1*Z:D=R0*A*Z:D1=R*A1*Z:T2=M1*B/M0 820 IF L0/10-INT(L0/10)=0 THEN GOSUB 1215 835 PRINT TAB(1);T;TAB(10);H;TAB(23);D;TAB(37);H1;TAB(49);D1;TAB(60);T2; 836 PRINT" "; 837 L0=L0+1 845 IF H0<-2.85174E-22 THEN 880 850 IF R0*A>2.78629E-19 THEN 1050 855 IF M1>0 THEN 580 860 T1=20:F=0:P=0:GOTO 620 864 PRINT:PRINT"THIS SPACECRAFT IS NOT ABLE TO CROSS THE" 880 IF R1<-7.12934E-22 THEN 1020 885 IF ABS(R*A1)>4.27761E-22 THEN 1020 890 IF H0<--2.85174E-22 THEN 1020 895 IF ABS(D)>10*Z THEN 1065 900 GOTO 995 910 PRINT"SPACE-TIME CONTINUUM":GOTO 575 925 PRINT:PRINT"IF YOU WANT TO SPIN AROUND, GO OUTSIDE" 935 PRINT"THE MODULE FOR AN E.V.A.":GOTO 575 945 PRINT:PRINT"IMPOSSIBLE THRUST VALUE ";:IF F<0 THEN 985 960 IF F-5.42101E-21<5.42101E-21 THEN 975 965 PRINT" (TOO LARGE)":GOTO 575 975 PRINT" (TOO SMALL)":GOTO 575 985 PRINT" (NEGATIVE)":GOTO 575 995 PRINT:PRINT"TRANQUILITY BASE HERE -- THE EAGLE HAS LANDED!!" 1005 PRINT"CONGRATULATIONS - THERE WAS NO SPACECRAFT DAMAGE" 1010 PRINT"YOU MAY NOW PROCEED WITH SURFACE EXPLORATION.":GOTO 1100 1020 PRINT:PRINT"CRASH!!!!!!!" 1030 PRINT"YOUR IMPACT CREATED A CRATER";ABS(H);M$;" DEEP!" 1035 X1=SQR(D1*D1+H1*H1)*G3 1040 PRINT"AT CONTACT, YOU WERE TRAVELING";X1;N$;"/HR.":GOTO 1100 1050 PRINT:PRINT"YOU ARE NOW LOST IN SPACE WITH NO HOPE OF RECOVERY." 1060 GOTO 1100 1065 PRINT"YOU ARE DOWN SAFELY - ":PRINT 1080 PRINT"BUT YOU MISSED THE LANDING SITE BY";ABS(D/G5);N$:GOTO 1100 1090 PRINT:PRINT"MISSION ABORTED..." 1100 PRINT:PRINT"SHALL WE TRY AGAIN";:INPUT Z$ 1115 IF LEFT$(Z$,1)="Y"THEN 20 1120 IF LEFT$(Z$,1)="N"THEN 1130 1125 GOTO 1100 1130 PRINT:PRINT"TOO BAD, THE SPACE PROGRAM HATES TO LOSE EXPERIENCED"; 1131 PRINT" ASTRONAUTS!":STOP 1150 PRINT:PRINT"OK, DO YOU WANT THE COMPLETE INSTRUCTIONS OR JUST THE" 1160 PRINT" INPUT AND OUTPUT ENTRIES..." 1165 PRINT"1=COMPLETE INSTRUCTIONS" 1170 PRINT"2=INPUT/OUTPUT ENTRIES" 1175 PRINT"3=NEITHER":INPUT B1 1185 Q$="NO":IF B1=1 THEN 205 1195 Q$="YES":IF B1=2 THEN 190 1205 IF B1=3 THEN 190 1210 GOTO 1165 1215 PRINT:PRINT TAB(1);"TIME";TAB(10);"HEIGHT";TAB(23);"DISTANCE"; 1220 PRINT TAB(37);"VER. VEL.";TAB(49);"HOR. VEL.";TAB(60);"FUEL"; 1221 PRINT" T,P,A?" 1225 RETURN 1300 END «eof»