DataMuseum.dk

Presents historical artifacts from the history of:

Christian Rovsing CR7, CR8 & CR16 CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Christian Rovsing CR7, CR8 & CR16 CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦a8225a31a⟧ TextFile

    Length: 6144 (0x1800)
    Types: TextFile
    Names: »LUNAR2.BAS«

Derivation

└─⟦69a509965⟧ Bits:30005211 CR8 BASIC Games
    └─ ⟦this⟧ »LUNAR2.BAS« 

TextFile

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»