A large commit.
[pdp8.git] / sw / src / basic / ROCKET.BA
CommitLineData
81e70d48
PH
12 PRINT "THIS IS A COMPUTER SIMULATION OF AN APOLLO LUNAR"
23 PRINT "LANDING CAPSULE." \ PRINT \ PRINT
34 PRINT "THE ON-BOARD COMPUTER HAS FAILED (IT WASN'T MADE BY"
45 PRINT "NCR) SO YOU HAVE TO LAND THE CAPSULE MANUALLY"
56 PRINT \ PRINT "SET BURN RATE OF RETRO ROCKETS TO ANY VALUE BETWEEN"
67 PRINT "0 (FREE FALL) AND 200 (MAXIMUM BURN) POUNDS PER SECOND"
78 PRINT "SET NEW BURN RATE EVERY 10 SECONDS." \ PRINT
89 PRINT "CAPSULE WEIGHT 32,500 LBS; FUEL WEIGHT 16,500 LBS"
910 PRINT \ PRINT \ PRINT "GOOD LUCK!!!"
1011 L=0
1113 PRINT \ PRINT "SEC","MI + FT","MPH","LB FUEL","BURN RATE" \ PRINT
1215 A=120 \ V=1 \ M=33000 \ N=16500 \ G=1.00000E-03 \ Z=1.8
1321 PRINT L,INT(A);INT(5280*(A-INT(A))),3600*V,M-N, \ INPUT K \ T=10
1431 IF M-N<1.00000E-03 THEN 41 \ IF T<1.00000E-03 THEN 21
1532 S=T \ IF M>=N+S*K THEN 35
1633 S=(M-N)/K
1735 GOSUB 91 \ IF I<=0 THEN 71 \ IF V<=0 THEN 38 \ IF J<0 THEN 81
1838 GOSUB 61 \ GO TO 31
1941 PRINT "FUEL OUT AT";L;"SEC"\S=(-V+SQR(V*V+2*A*G))/G\V=V+G*S\L=L+S
2051 W=3600*V \ PRINT "ON MOON AT";L;"SEC - IMPAACT VELOCITY";W;"MPH"
2152 IF W>1.2 THEN 53 \ PRINT "PERFECT LANDING! (LUCKY)" \ GO TO 96
2253 IF W>10 THEN 56 \ PRINT "GOOD LANDING (COULD BE BETTER)" \ GO TO 96
2356 IF W>60 THEN 58 \ PRINT "CRAGT DAMAGE.....YOU'RE STRANDED HERE UNTIL"
2457 PRINT "A RESCUE PARTY ARRIVES. HOPE YOU HAVE ENOUGH OXYGEN!" \ GO TO 96
2558 PRINT "SORRY, BUT THERE WERE NO SURVIVORS...YOU BLEW IT!"
2659 PRINT "IN FACT, YOU BLASTED A NEW LUNAR CRATER";W*2777;"FT DEEP"
2760 GO TO 96
2861 L=L+S \ T=T-S \ M=M-S*K \ A=I \ V=J \ RETURN
2971 IF S<5.00000E-03 THEN 51 \ D=V+SQR(V*V+2*A*(G-Z*K/M)) \ S=2*A/D
3073 GOSUB 91 \ GOSUB 61 \ GO TO 71
3181 W=(1-M*G/(Z*K))/2 \ S=M*V/(Z*K*(W+SQR(W*W+Y/Z)))+.05 \ GOSUB 91
3283 IF I<=0 THEN 71 \ GOSUB 61 \ IF J>0 THEN 31 \ IF Y>0 THEN 81 \ GO TO 31
3391 Q=S*K/M \ J=V+G*S+Z*(-Q-Q*Q/2-Q^3/3-Q^4/4-Q^5/5)
3494 I=A-G*S*S/2-V*S+Z*S*(Q/2+Q^2/6+Q^3/12+Q^4/20+Q^5/30)
3595 RETURN
3696 PRINT \ PRINT \ PRINT \ PRINT "TRY AGAIN??";
3797 INPUT A$
3898 IF A$="Y" THEN 6
3999 END