DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

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

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦936d60d93⟧ TextFile

    Length: 2816 (0xb00)
    Types: TextFile
    Names: »MOON.BAS«

Derivation

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

TextFile


1  REM PROGRAM MOON.BAS
10 LET L$=" LANDING"
20 PRINT TAB(8);"MOON";L$;" THE SAFE WAY"
30 PRINT TAB(8);"*************************"
40 LET Y$="YES"
50 PRINT 
60 PRINT "DO YOU REQUIRE INSTRUCTIONS?",
70 INPUT Q$
80 IF Q$<>Y$ THEN 230
90 PRINT CHR$(7)
100 PRINT "YOUR TASK IS TO LAND A LUNAR MODULE ON THE SURFACE OF THE"
110 PRINT "MOON. YOU CAN CONTROL THE DESCENT BY SPECIFYING THE"
120 PRINT "CONTROL THROTTLE SETTING. THIS VALUE MUST BE AN INTEGER IN"
130 PRINT "THE RANGE -100 TO 100. A NEGATIVE VALUE WILL PRODUCE A"
140 PRINT "DOWNWARD ACCELERATION. FUEL IS CONSUMED IN PROPORTION TO"
150 PRINT "THE THROTTLE SETTING. YOU CAN CHANGE THE THROTTLE SETTING"
160 PRINT "AT TIME INTERVALS (IN SECONDS) SPECIFIED BY YOU. AT THESE"
170 PRINT "TIMES THE MODULE'S ALTITUDE, DOWNWARD VELOCITY, ACCELERATION"
180 PRINT "AND FUEL RESERVE WILL BE PRINTED."
190 PRINT "MASS OF MODULE (INCL. INITIAL MASS OF FUEL) 8760 KG"
200 PRINT "MAXIMUM FUEL CONSUMPTION RATE 19 KG/SEC GIVING MAXIMUM"
210 PRINT "UPWARD OR DOWNWARD THRUST OF 70000 NEWTONS"
220 PRINT "GRAVITATIONAL ACCELERATION OF MOON 1.62 M/SEC/SEC"
230 PRINT "THIS IS THE STATE OF THE SYSTEM WHEN YOU TAKE CONTROL"
240 LET S=5000
250 LET M=8760
260 LET F=750
270 LET V=100
280 LET G=1.62
290 LET T1=0
300 PRINT "ALTITUDE IS ";S;"METRES"
310 PRINT "DOWNWARD VELOCITY IS ";V;"M/SEC"
320 PRINT "DOWNWARD ACCELERATION IS ";G;"M/SEC/SEC"
330 PRINT "MASS OF FUEL IS ";F;"KG"
340 PRINT 
350 FOR I=1 TO 50
360 PRINT "THROTTLE SETTING=",
370 INPUT C
380 LET C1=ABS(C)
390 IF C1<101 THEN 420
400 PRINT "VALUE MUST BE IN RANGE -100 TO 100"
410 GO TO 360
420 PRINT "TIME TO NEXT SET OF READINGS=",
430 INPUT T2
440 LET T2=INT(T2+.5)
450 IF T2>1 THEN 470
460 LET T2=1
470 FOR X=1 TO T2
480 IF C<>0 THEN 510
490 LET A1=G
500 GO TO 540
510 LET A1=19*C1
520 LET A1=LOG((100*M-A1)/(100*M))/A1
530 LET A1=G+C*70000*A1
540 LET M=M-.19*C1
550 LET V=V+A1
560 LET S=S-V+.5*A1
570 IF M<8011 THEN 810
580 IF S<=0 THEN 600
590 NEXT X
600 LET T1=T1+T2
610 LET F=F-C1*.19*T2
620 LET G1=G-C*700/M
630 IF S<=0 THEN 700
640 PRINT "ALTITUDE ";S;"M    SPEED ";V;"M/SEC"
650 PRINT "FUEL LEFT ";F;"KG	ACCELERATION ";G1;"M/SEC/SEC"
660 PRINT 
670 NEXT I
680 PRINT "YOU HAVE TAKEN TOO MUCH COMPUTER TIME, MISSION ABORTED"
690 GO TO 820
700 LET F=F-(V-1)*(V-1)
710 IF F>100 THEN 750
720 IF F>0 THEN 770
730 PRINT "CRASH";L$
740 GO TO 780
750 PRINT "CONGRATULATIONS, AN EXCELLENT";L$
760 GO TO 780
770 PRINT "WELL DONE, A GOOD";L$
780 PRINT "YOUR";L$;" SPEED WAS ";V;"M/SEC (";V*2.24;"MILES/HOUR)"
790 PRINT "YOU TOOK ";T1;"SECS ALTOGETHER"
800 GO TO 820
810 PRINT "YOU HAVE RUN OUT OF FUEL"
820 PRINT "DO YOU WANT ANOTHER GO?",
830 INPUT Q$
840 IF Q$=Y$ THEN 230
850 END
«eof»