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

  1. 100 DIM I$(3),P(2),E(2),W(2),S(2),X(2),M(2),C(2),B(2),Y(2)
  2. 110 DIM Q(2),MB(2)
  3. 120 PRINT "WELCOME TO THE DRAG STRIP."
  4. 130 PRINT "WOULD YOU LIKE INSTRUCTIONS";
  5. 140 INPUT I$
  6. 150 IF I$="NO" THEN 200
  7. 160 PRINT "YOU MAY RACE AGAINST ONE OF YOUR FRIENDS OR YOU MAY RACE"
  8. 170 PRINT "AGAINST MY DRAGSTER. YOU WILL BE ASKED TO DESIGN YOUR"
  9. 180 PRINT "OWN MACHINE, SPECIFYING HORSEPOWER, REAR END RATIO (X:1)"
  10. 190 PRINT "TIRE WIDTH IN INCHES AND TIRE DIAMETER IN FEET."
  11. 200 PRINT "DO YOU WANT TO RACE AGAINST ME";
  12. 210 INPUT I$
  13. 220 IF I$="NO" THEN 290
  14. 230 PRINT "I WILL HAVE CAR #1."
  15. 240 P(1)=600
  16. 250 E(1)=5.9
  17. 260 W(1)=22
  18. 270 D(1)=3.9
  19. 280 GOTO 380
  20. 290 PRINT "DESIGN CAR #1:"
  21. 300 PRINT "HORSEPOWER=";
  22. 310 INPUT P(1)
  23. 320 PRINT "REAR END RATO=";
  24. 330 INPUT E(1)
  25. 340 PRINT "TIRE WIDTH =";
  26. 350 INPUT W(1)
  27. 360 PRINT "TIRE DIAMITER=",
  28. 370 INPUT D(1)
  29. 380 PRINT "DESIGN CA #2:"
  30. 390 PRINT "HOURSEPOWER=";
  31. 400 INPUT P(2)
  32. 410 PRINT "REAR END RATIO=";
  33. 420 INPUT E(2)
  34. 430 PRINT "TIRE WIDTH=";
  35. 440 INPUT W(2)
  36. 450 PRINT "TIRE DIAMETER=";
  37. 460 INPUT D(2)
  38. 470 PRINT
  39. 480 PRINT "GO!"
  40. 490 K1=500
  41. 500 K2=1.6
  42. 510 K3=2
  43. 520 K4=6E-04
  44. 530 K5=6E-05
  45. 540 K6=.2
  46. 550 K7=4
  47. 560 K8=1.5E-04
  48. 570 Q(1)=0:Q(2)=0
  49. 580 S(1)=0:S(2)=0
  50. 590 X(1)=0:X(2)=0
  51. 600 FOR J=1TO2
  52. 610 M(J)=(K1+K2*P(J)+K3*W(J)*D(J)+K7*D(J)^2)/32.2
  53. 620 C(J)=K4*M(J)^(2/3)+K8*W(J)*D(J)
  54. 630 B(J)=15+28*W(J)*D(J)/((W(J)+6)*(D(J)+1))
  55. 640 Y(J)=3.7-3.3E-03*P(J)
  56. 650 MB(J)=M(J)*B(J)
  57. 660 NEXT J
  58. 670 PRINT
  59. 680 PRINT
  60. 690 PRINT "ELAPSED";TAB(21);"CAR#1";TAB(49);"CAR#2"
  61. 700 PRINT "TIME","SPEED","DISTANCE","SPEED","DISTANCE"
  62. 710 PRINT "(SEC)","(MPH)","  (FT)","(MPH)","  (FT)"
  63. 720 PRINT
  64. 730 FOR T=0 TO 100 STEP 1
  65. 740 FOR T1=1 TO 100 STEP 1
  66. 750 FOR J=1 TO2
  67. 760 R=60*S(J)*E(J)/(3.14159*D(J))
  68. 770 L0=(P(J)/42.5)*(50+7.8E-03*(R/Y(J))-4E-10*(R/Y(J))^3)
  69. 780 L1=P(J)*(K5*R+K6)
  70. 790 L2=E(J)*(L0-L1)
  71. 800 F=2*L2/D(J)
  72. 810 IF F>MB(J) THEN 870
  73. 820 IF Q(J)<>0 THEN 850
  74. 830 PRINT "CAR#";J;"STOPS BURNING RUBBER"
  75. 840 Q(J)=1
  76. 850 A=(F-C(J)*S(J)^2)/M(J)
  77. 860 GOTO 880
  78. 870 A=B(J)-C(J)*S(J)^2/M(J)
  79. 880 S(J)=S(J)+A*.01
  80. 890 X(J)=X(J)+S(J)*.01
  81. 900 NEXT J
  82. 910 IF X(1)<1320 AND X(2)<1320 THEN 1120
  83. 920 IF X(1)>X(2) THEN 1040
  84. 930 T3=(X(2)-1320)/S(2)
  85. 940 T=T+T1/100-T3
  86. 950 X(2)=1320
  87. 960 X(1)=X(1)-S(1)*T3
  88. 970 PRINT T,S(1)*3600/5280,X(1),S(2)*3600/5280,X(2)
  89. 980 PRINT TAB(50);"WINNER"
  90. 990 PRINT
  91. 1000 PRINT"DO YOU WANT TO TRY AGAIN",
  92. 1010 INPUT I$
  93. 1020 IF I$="YES" THEN 200
  94. 1030 STOP
  95. 1040 T3=(X(1)-5280/4)/S(1)
  96. 1050 T=T+T1/100-T3
  97. 1060 X(1)=5280/4
  98. 1070 X(2)=X(2)-S(2)*T3
  99. 1080 PRINT T,S(1)*3600/5280,X(1),S(2)*3600/5280,X(2)
  100. 1090 PRINT TAB(20);"WINNER"
  101. 1100 PRINT
  102. 1110 GOTO 1000
  103. 1120 NEXT T1
  104. 1130 PRINT T+1,S(1)*3600/5280,X(1),S(2)*3600/5280,X(2)
  105. 1140 NEXT T
  106. 1150 STOP
  107. ER"
  108. 1100 PRINT
  109. 1110 GOTO 1000
  110. 1120 NEXT T1
  111. 1130 PRINT T+1,S(1)*3600/52