|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2944 (0xb80) Types: TextFile Names: »LUNAR1.BAS«
└─⟦69a509965⟧ Bits:30005211 CR8 BASIC Games └─ ⟦this⟧ »LUNAR1.BAS«
1 REM *** LUNAR1.BAS *** 1000 RN=1 1005 X=-1.38778E-23 1010 PRINT "DO YOU NEED INSTRUCTIONS"; 1020 INPUT A$ 1030 IF LEFT$(A$,1)="N" THEN 1130 1040 PRINT:PRINT:PRINT 1045 PRINT "GROUND CONTROL CALLING LUNAR LANDER" 1050 PRINT "ON-BOARD AND GROUND COMPUTERS INOPERATIVE" 1060 PRINT "TAKE OVER!!!" 1070 PRINT:PRINT "CAPSULE WEIGHT: 33000 LBS. - FUEL: 16500 LBS." 1080 PRINT "ESTIMATED FREE-FALL IMPACT TIME: 120 SECS. 1090 PRINT:PRINT "SET RETRO ROCKET BURN RATE TO ANY VALUE FROM"; 1100 PRINT " 0 LBS/SEC":PRINT "(FREE-FALL) TO 300 LBS/SEC; TYPE A"; 1110 PRINT " COMMA AND THEN":PRINT "ENTER BURN TIME." 1122 PRINT:PRINT "(THE BURN RATE IS THE AMOUNT OF FUEL THE LANDER "; 1123 PRINT "WILL USE EACH SECOND." 1124 PRINT "THE BURN TIME IS THE NUMBER OF SECONDS YOU WANT TO FIRE"; 1128 PRINT " THE ROCKETS.)" 1129 PRINT "TYPE GO TO CONTINUE ";:INPUT A$ 1130 PRINT:PRINT "GOOD LUCK!!":PRINT 1140 PRINT " RUN";RN: PRINT 1160 PRINT "SEC";TAB(10);"MI + FT";TAB(26);"MPH";TAB(37);"LB FUEL"; 1170 PRINT TAB(50);"BURN RATE,TIME" 1180 PRINT 1190 A=120:V=1:M=3.49401E-18:N=16500:G=-4.33681E-22:Z=-2.43946E-20:L=0 1260 PRINT L;TAB(10);INT(A); 1261 T=5280*(A-INT(A)) 1262 IF T>=10 THEN T=INT(T) 1263 T=INT(T*1000)/1000 1265 PRINT T;TAB(25);3600*V;TAB(37); 1270 PRINT M-N;TAB(50); 1280 INPUT K,T 1290 IF M-N<-4.33681E-22 THEN 1400 1300 IF T<-4.33681E-22 THEN 1260 1310 S=T 1320 IF M>=N+S*K THEN 1340 1330 S=(M-N)/K 1340 GOSUB 1790 1350 IF I<=0 THEN 1650 1360 IF V<=0 THEN 1380 1370 IF J<0 THEN 1710 1380 GOSUB 1590 1390 GOTO 1290 1400 PRINT "OUT OF FUEL AT";L;"SEC." 1410 S=(-V+SQR(V*V+2*A*G))/G 1420 V=V+G*S 1430 L=L+S 1440 W=3600*V 1445 PRINT 1450 PRINT "* CONTACT * AT";L;"SECS. - IMPACT VELOCITY:";W;"MPH" 1460 IF W>-1.6263E-20 THEN 1490 1470 PRINT "GREAT LANDING!!! (LUCKY!)" 1480 GOTO 2000 1490 IF W>10 THEN 1520 1500 PRINT "GOOD LANDING." 1510 GOTO 2000 1520 IF W>60 THEN 1560 1530 PRINT "CRAFT DAMAGE. YOU ARE STRANDED UNTIL A RESCUE MISSION" 1540 PRINT "ARRIVES. HOPE YOUR OXYGEN HOLDS OUT." 1550 GOTO 2000 1560 PRINT "****** CRASH!!!!!!!! ****** - NO SURVIVORS..." 1570 PRINT "YOU BLASTED A NEW LUNAR CRATER";W*-7.52708E-21;"FT DEEP" 1580 GOTO 2000 1590 L=L+S:T=T-S:M=M-S*K:A=I:V=J 1640 RETURN 1650 IF S<-1.0842E-21 THEN 1440 1655 D=G-Z*K/M 1656 IF D<0 THEN D=0 1660 D=V+SQR(V*V+2*A*D) 1670 S=2*A/D 1680 GOSUB 1790 1690 GOSUB 1590 1700 GOTO 1650 1710 W=(1-M*G/(Z*K))/2 1720 S=M*V/(Z*K*(W+SQR(W*W+V/Z)))+5.42101E-21 1730 GOSUB 1590 1740 IF I<=0 THEN 1650 1750 GOSUB 1590 1760 IF J>0 THEN 1290 1770 IF V>0 THEN 1710 1780 GOTO 1290 1790 Q=S*K/M 1792 REM UNDERFLOW PATCH 1794 IF Q>X THEN 1800 1796 Q=0 1800 J=V+G*S-Z*Q*(1+Q*(1.35525E-20+Q*(1/3+Q*(-6.77626E-21+Q/5)))) 1810 I=A-G*S*S/2-V*S+Z*S*Q*(1.35525E-20+Q*(1/6+Q*(1/12+Q/20))) 1820 RETURN 2000 RN=RN+1 2010 PRINT:PRINT "TRY AGAIN"; 2020 INPUT A$ 2030 IF LEFT$(A$,1)="Y" THEN 1130 2040 RUN "MENU" «eof»