10 REM LUNR2.ECB 20 REM ...LUNAR...from...MERITSS : GAME 12-15-77 30 PRINT "&K&J&J MERITSS: L U N A R - 2&J&J" 100 REM ... CHANGES IN LUNAR HAVE BEEN ADDED BY KENT KEHRBERG 110 REM ... ADAPTED FROM DIGITAL EQUIPMENT CORPORATION 120 REM ... SIMULATED MOON LANDING 130 REM ... H-ALTITUDE, H2-RADIUS OF MOON, V-VELOCITY, F-FUEL, M-MASS SPACESHIP 140 REM ... T-TIME, R-RATE OF BURN, N$-NAME, A$-ANSWER(YES/NO), Z9-YES/NO FLAG 150 REM ... C-BURN ERROR FLAG, Z-OUTPUT TAB 160 REM ... TIES, DECEMBER 1972 170 REM ... MECC, OCTOBER 1974 180 LET Z9=0 190 DIM Z(4),A$(72),N$(25) 200 FOR I=1 TO 4 210 LET Z(I)=12*I 220 NEXT I 230 LET H2=1.74E+06 235 GOTO 250 240 PRINT "Survior of the late ";N$;"," 250 PRINT 260 PRINT "WHAT IS YOUR NAME ---=>"; 270 INPUT N$ 275 IF LEN(N$)=0 THEN LET N$="Computor Astronaut" 280 PRINT 290 PRINT 300 PRINT N$;", DO YOU WANT YOU VEHICLES STATUS ---=>"; 310 INPUT (1,0)P$ 315 IF LEN(P$)=0 THEN LET P$="N" 320 IF P$(1,1)="Y" THEN 360 330 IF P$(1,1)="N" THEN 1490 340 PRINT "YES OR NO, PLEASE"; 350 GOTO 310 360 PRINT 370 PRINT "YOU HAVE 7500 KG OF FUEL AND THE TOTAL MASS OF YOUR" 380 PRINT "VEHICLE IS 15000 KG. YOU MAY CHOOSE YOUR BURN" 390 PRINT "RATES UP TO 100 KG A SECOND (NO MORE) EACH BURN WILL LAST" 400 PRINT "10 SECONDS. (THE FUEL EXHAUST VELOCITY IS 3000 M/SEC.) " 410 PRINT "YOU MUST GET YOUR SPEED DOWN BELOW 28 M/SEC FOR SURVIVAL." 420 PRINT 430 PRINT "GOOD LUCK, ";N$;"." 440 PRINT 445 INPUT (1,0)"<*> Enter any letter to continue ---=>",I$ 447 PRINT "&K" 450 PRINT "IN THE DATA CHART BELOW:" 460 PRINT 470 PRINT TAB(12);"M = THE POSITION OF THE MOON" 480 PRINT 490 PRINT TAB(12);"L = THE POSITION OF YOUR LUNAR VEHICLE" 500 PRINT TAB(16);"RELATIVE TO THE MOON" 510 PRINT 520 PRINT 530 PRINT "TIME";TAB(Z(1));"HEIGHT";TAB(Z(2));"VELOCITY"; 540 PRINT TAB(Z(3));"FUEL LEFT";TAB(Z(4));"BURN RATE" 550 PRINT "(SEC)";TAB(Z(1));"(M)";TAB(Z(2));"(M/SEC)"; 560 PRINT TAB(Z(3));"(KG)";TAB(Z(4));"(KG/SEC)" 570 PRINT 580 IF Z9=3 THEN 640 590 REM ... INITIAL CONDITIONS: TIME,ELEVATION,MASS,FUEL,VELOCITY,T INCREMENT 600 LET H=1.94E+06 610 LET V=1640 620 LET F=7500 630 LET M=15000 640 LET T=0 650 LET C=0 660 LET N=1 670 LET Z=3000 680 LET T1=1 690 PRINT "M"; 700 FOR Q=1 TO (INT((H-H2)/200000.*70)) 710 PRINT "-"; 720 NEXT Q 730 PRINT "L" 740 PRINT INT(T*10)/10;TAB(Z(1));%C;H-H2;TAB(Z(2));V; 750 PRINT TAB(Z(3));F;TAB(Z(4)); 760 INPUT R 770 IF R>100 THEN 1100 780 IF R<0 THEN 1100 790 REM ... -G IS GRAVITATIONAL ACCELERATION AT ELEVATION H. 800 LET G=(5.E+12)/(H*H) 810 GOTO 1210 820 PRINT "FUEL OUT AT";INT(10*T)/10;"SEC." 830 REM ... -COMPUTE FREE FALL VELOCITY AFTER FUEL IS GONE. 840 LET G=(5.E+12)/(H*H) 850 LET V1=V+G*T1 860 LET T=T+T1 870 LET H=H-V*T1-G*T1*T1/2 880 LET V=V1 890 IF H<=H2 THEN 920 900 GOTO 840 910 REM ... -LANDING MESSAGE: DEPENDS ON SPEED ON IMPACT 920 PRINT "ON THE MOON AT ";INT(T*10)/10;" SECONDS. IMPACT VELOCITY"; 930 PRINT V;" M/SEC." 940 PRINT 950 IF V>7 THEN 980 960 PRINT "FINE LANDING - GOOD JOB, ";N$ 970 GOTO 1350 980 IF V>20 THEN 1010 990 PRINT "BAD JOLT, ";N$;". YOUR TAKEOFF MAY BE IN TROUBLE." 1000 GOTO 1350 1010 IF V>28 THEN 1050 1020 PRINT "BARELY SURVIVED LANDING, ";N$;"." 1025 PRINT " Last 4 days will be spent on the MOON." 1027 GOTO 1070 1030 PRINT "IMPOSSIBLE TO BLAST OFF ";N$;"." 1035 PRINT " Last 4 days will be spent on the MOON." 1040 GOTO 1070 1050 PRINT "NO SURVIVORS. THE DECEASED, ";N$;", JUST BLASTED A" 1060 PRINT "NEW LUNAR CRATER ";V*.039;" METERS DEEP." 1070 PRINT 1080 PRINT "DO THE SURVIVING FRIENDS OF ";N$;" WANT TO TRY"; 1090 GOTO 1430 1100 PRINT 1110 IF C=1 THEN 1170 1120 PRINT "WARNING, WARNING, YOUR BURN RATE IS IN ERROR,";N$;"." 1130 PRINT "ANOTHER BURN RATE ERROR WILL LOCK OFF YOUR ROCKETS." 1140 PRINT "TYPE YOU RECALCULATED BURN RATE. "; 1150 LET C=1 1160 GOTO 760 1170 PRINT N$;", YOUR ROCKETS ARE LOCKED OFF." 1180 PRINT 1190 GOTO 840 1200 REM ... -SUBROUTINE TO FIND NEW HEIGHT & VELOCITY AFTER FIRING. 1210 LET M=M-R*T1 1220 LET F=F-R*T1 1230 LET Q=T1*R/M 1240 LET V1=V+G*T1-Z*Q 1250 LET H=H-G*T1*T1/2-V*T1+Z*T1*Q/2 1260 LET T=T+T1 1270 LET V=V1 1280 IF F<=.001 THEN 820 1290 IF H<=H2 THEN 920 1300 IF INT((T+.01)/10)=N THEN 1320 1310 GOTO 1210 1320 LET N=N+1 1330 REM ... -RETURNS AFTER COMPUTING 10 TIMES (10 SEC.). 1340 GOTO 690 1350 PRINT 1360 PRINT "DO YOU WANT TO TRY AGAIN, ";N$;" ---=>"; 1370 INPUT (1,0)P$ 1375 IF LEN(P$)=0 THEN LET P$="Y" 1380 IF P$(1,1)="Y" THEN 510 1390 IF P$(1,1)="N" THEN 1420 1400 PRINT "YES OR NO, PLEASE"; 1410 GOTO 1370 1420 PRINT "DOES SOMEONE ELSE WANT TO TRY ---=>"; 1430 INPUT (1,0)P$ 1435 IF LEN(P$)=0 THEN LET P$="Y" 1440 IF P$(1,1)="Y" THEN 240 1450 IF P$(1,1)="N" THEN 1480 1460 PRINT "YES OR NO, PLEASE"; 1470 GOTO 1430 1480 GOTO 1680 1490 PRINT 1500 PRINT N$;", DO YOU WANT TO SET YOUR HEIGHT," 1505 PRINT "VELOCITY, AND FUEL ---=>"; 1510 INPUT (1,0)P$ 1515 IF LEN(P$)=0 THEN LET P$="N" 1520 IF P$(1,1)="Y" THEN 1560 1530 IF P$(1,1)="N" THEN 440 1540 PRINT "YES OR NO, PLEASE"; 1550 GOTO 1510 1560 REM ... INITIALIZING HEIGHT, VELOCITY, AND FUEL 1570 PRINT 1580 PRINT "ENTER: Initial HEIGHT ---=>"; 1590 INPUT H 1600 LET H=H+H2 1610 PRINT "ENTER: Initial VELOCITY ---=>"; 1620 INPUT V 1630 PRINT "ENTER: Initial FUEL ---=>"; 1640 INPUT F 1650 LET M=7500+F 1660 LET Z9=3 1670 GOTO 440 1680 END