home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug067.arc / LANDER.BAS < prev    next >
BASIC Source File  |  1979-12-31  |  3KB  |  92 lines

  1.  
  2.  
  3. 1010 PRINT "DO YOU WANT INSTRUCTIONS ";
  4. 1020 INPUT A$
  5. 1030 IF A$="NO" THEN 1130
  6. 1040 PRINT "GROUND CONTROL CALLING LUNAR LANDER"
  7. 1050 PRINT "ON BOARD AND GROUND COMPUTERS KAPUT"
  8. 1060 PRINT "TAKE OVER"
  9. 1070 PRINT "CAPSULE WEIGHT 33000 LBS - AVAILABLE FUEL 16500 LBS"
  10. 1080 PRINT "ESTIMATED FREE FALL IMPACT TIME 120 SEC"
  11. 1090 PRINT 
  12. 1100 PRINT "SET RETRO ROCKET BURN RATE TO ANY VALUE FROM 0 LBS/SEC"
  13. 1110 PRINT "(FREE FALL) TO 300 LBS/SEC, TYPE A COMMA AND THEN"
  14. 1120 PRINT " GIVE BURN TIME IN SEC."
  15. 1130 PRINT 
  16. 1140 PRINT "GOOD LUCK"
  17. 1150 PRINT 
  18. 1160 PRINT "SEC";TAB(12);"MI + FT";TAB(26);"MPH";TAB(37);"LB FUEL";
  19. 1170 PRINT TAB(50);"BURN RATE,TIME"
  20. 1180 PRINT 
  21. 1190 A=120
  22. 1200 V=1
  23. 1210 M=33000.
  24. 1220 N=16500
  25. 1230 G=.001
  26. 1240 Z=1.8
  27. 1250 L=0
  28. 1260 PRINT L;TAB(10);INT(A);INT(5280*(A-INT(A)));TAB(25);3600*V;
  29. 1270 PRINT TAB(37);M-N;TAB(50);
  30. 1280 INPUT K,T
  31. 1290 IF M-N<.001 THEN 1400
  32. 1300 IF T<.001 THEN 1260
  33. 1310 S=T
  34. 1320 IF M >= N+S*K THEN 1340
  35. 1330 S=(M-N)/K
  36. 1340 GOSUB 1790
  37. 1350 IF I <= 0 THEN 1650
  38. 1360 IF V <= 0 THEN 1380
  39. 1370 IF J<0 THEN 1710
  40. 1380 GOSUB 1590
  41. 1390 GOTO 1290
  42. 1400 PRINT "OUT OF FUEL AT";L;"SEC"
  43. 1410 S=(-V+SQR(V*V+2*A*G))/G
  44. 1420 V=V+G*S
  45. 1430 L=L+S
  46. 1440 W=3600*V
  47. 1450 PRINT "ON THE MOON AT";L;"SEC - IMPACT VELOCITY";W;"MPH"
  48. 1460 IF W>1.2 THEN 1490
  49. 1470 PRINT "GREAT LANDING !!!        (LUCKY)"
  50. 1480 GOTO 1830
  51. 1490 IF W>10 THEN 1520
  52. 1500 PRINT "GOOD LANDING"
  53. 1510 GOTO 1830
  54. 1520 IF W>60 THEN 1560
  55. 1530 PRINT "CRAFT DAMAGE.  YOU ARE STRANDED UNTIL RESCUE MISSION"
  56. 1540 PRINT "ARRIVES.  HOPE YOUR OXYGEN HOLD OUT."
  57. 1550 GOTO 1830
  58. 1560 PRINT "YOU CRASHED - NO SURVIVORS."
  59. 1570 PRINT "YOU BLASTED A NEW LUNAR CRATER";W*.2777;"FT DEEP"
  60. 1580 GOTO 1830
  61. 1590 L=L+S
  62. 1600 T=T-S
  63. 1610 M=M-S*K
  64. 1620 A=I
  65. 1630 V=J
  66. 1640 RETURN 
  67. 1650 IF S<.005 THEN 1440
  68. 1660 D=V+SQR(V*V+2*A*(G-Z*K/M))
  69. 1670 S=2*A/D
  70. 1680 GOSUB 1790
  71. 1690 GOSUB 1590
  72. 1700 GOTO 1650
  73. 1710 W=(1-M*G/(Z*K))/2
  74. 1720 S=M*V/(Z*K*(W+SQR(W*W+V/Z)))+.05
  75. 1730 GOSUB 1590
  76. 1740 IF I <= 0 THEN 1650
  77. 1750 GOSUB 1590
  78. 1760 IF J>0 THEN 1290
  79. 1770 IF V>0 THEN 1710
  80. 1780 GOTO 1290
  81. 1790 Q=S*K/M
  82. 1792 REM PATCH TO PREVENT UNDERFLOW
  83. 1794 IF Q>.000001 THEN 1800
  84. 1796 Q=0
  85. 1800 J=V+G*S-Z*Q*(1+Q*(.5+Q*(1/3+Q*(.25+Q/5))))
  86. 1810 I=A-G*S*S/2-V*S+Z*S*Q*(.5+Q*(1/6+Q*(1/12+Q/20)))
  87. 1820 RETURN 
  88. 1830 INPUT "WANT TO TRY AGAIN ";D$
  89. 1840 IF LEFT$(D$,2)="YE" THEN 1140
  90. 1850 PRINT"CHICKEN":STOP
  91. 9999 END 
  92.