Listing of file='DRAG.BAS;01' on disk='vmedia/blackjack-sector.ccvf'
100 REM ** DRAG - MODIFIED JAN 23,79 ** 105 FOR I= 1TO PEEK (33209):X= RND (1):NEXT I 110 DIM P(2),E(2),W(2),S(2),X(2),M(2),C(2),B(2),Y(2),Q(2) 120 DATA 2,254,246,119,110,255 130 FOR I= 1TO 6:READ J 140 A$= A$+ CHR$ (J):NEXT 150 PLOT 6,3,14,12,3,14,3 160 PRINT "WELCOME TO THE DRAG STRIP" 170 PRINT :PLOT 6,2 180 PRINT "YOU MAY RACE AGAINST ONE OF YOUR FRIENDS OR MY SUPERCHARGED" 190 PRINT "DRAGSTER. YOU WILL BE ASKED TO DESIGN YOUR OWN MACHINE BY" 200 PRINT "SPECIFYING THE FOLLOWING:" 210 PRINT :PLOT 6,5 220 PRINT TAB( 15);"HORSEPOWER" 230 PRINT TAB( 15);"REAR END RATIO(X:1)" 240 PRINT TAB( 15);"TIRE WIDTH IN INCHES" 250 PRINT TAB( 15);"TIRE DIAMETER IN INCHES" 260 PRINT :PLOT 6,1 270 INPUT "WOULD YOU LIKE TO RACE AGAINST ME (Y OR N)? ";I$ 280 L= 11:K= .681818 290 PLOT 6,3,12,3,0,4 300 IF LEFT$ (I$,1)= "N"THEN 350 310 PRINT "I WILL HAVE CAR #1." 320 PRINT 330 P(1)= 665:E(1)= 5.51:W(1)= 23.1:D(1)= 3.9 340 GOTO 410 350 PRINT "DESIGN CAR #1:" 360 INPUT "HORSEPOWER=";P(1) 370 INPUT "REAR END RATIO=";E(1) 380 INPUT "TIRE WIDTH=";W(1) 390 INPUT "TIRE DIAMETER=";D(1):D(1)= D(1)/ 12 400 PRINT :PLOT 6,6 410 PRINT "DESIGN CAR #2:" 420 INPUT "HORSEPOWER=";P(2) 430 INPUT "REAR END RATIO=";E(2) 440 INPUT "TIRE WIDTH=";W(2) 450 INPUT "TIRE DIAMETER=";D(2):D(2)= D(2)/ 12 460 REM DRAW THE TRACK 470 PLOT 15,12,30,23,11,3,0,6,11,30,16 480 REM BEGIN THE RACE 490 PLOT 3,0,3,6,2,31,14 500 PRINT "GO!"; 510 GOSUB 1820 520 PLOT 13,15:PRINT " " 530 REM PRINT HEADINGS 540 PLOT 3,0,1,6,1 550 PRINT "CAR" 560 PRINT " 1 ";A$ 570 PLOT 6,56,3,62,2:PRINT " " 580 PLOT 6,2,3,0,3 590 PRINT "CAR" 600 PRINT " 2 ";A$ 610 PLOT 6,56,3,62,4:PRINT " " 620 PLOT 3,0,8 630 K1= 500:K2= 1.6:K3= 2:K4= .0006:K5= .00006 640 K6= .2:K7= 4:K8= .00015 650 FOR I= 1 TO 2 660 Q(I)= 0: S(I)= 0: X(I)= 0 670 NEXT I 680 REM : M IS MASS 690 FOR J= 1 TO 2 700 M(J)= (K1+ K2* P(J)+ K3* W(J)* D(J)+ K7* D(J)* D(J))/ 32.2 710 REM : C IS DRAG FROM WIND 720 C(J)= K4* M(J)^ (2/ 3)+ K8* W(J)* D(J) 730 REM : B IS THE MAX ACCELERATION WITHOUT BURNING 740 B(J)= 15+ 28* W(J)* D(J)/ ((W(J)+ 6)* (D(J)+ 1)) 750 REM : Y IS THE SCALE FACTOR FOR RPM VS POWER 760 Y(J)= 3.7- .0033* P(J) 770 NEXT J 780 PLOT 6,4 790 PRINT "ELAPSED"; 800 PLOT 6,1:PRINT TAB( 17);"CAR #1";:PLOT 6,2:PRINT TAB( 48);"CAR #2" 810 PLOT 6,4 820 PRINT " TIME SPEED DISTANCE SPEED DISTANCE" 830 PRINT :PLOT 3,0,10 840 PRINT "(SEC) (MPH) (FT) (MPH) (FT)" 850 PLOT 6,3 860 FOR T= 0 TO 100 STEP 1 870 FOR T1= 1 TO 100 STEP 20 880 FOR J= 1 TO 2 890 REM : R IS RPM 900 R= 60* S(J)* E(J)/ (3.14159* D(J)) 910 REM : L0 IS ENGINE TORQUE 920 L0= (P(J)/ 42.5)* (50+ .0078* (R/ Y(J))- 4.E- 10* (R/ Y(J))^ 3) 930 REM : L1 IS TORQUE FROM FRICTION 940 L1= P(J)* (K5* R+ K6) 950 REM : L2 IS REAR AXLE TORQUE 960 L2= E(J)* (L0- L1) 970 REM : F IS FORCE ON ROAD FROM TIRES 980 F= 2* L2/ D(J) 990 REM : TEST TO BURN 1000 IF F> M(J)* B(J) THEN 1100 1010 REM : A IS ACCELERATION 1020 IF Q(J) < > 0 THEN 1080 1030 PLOT 6,6,3,0,L 1040 PRINT "CAR #";J;" STOPS BURNING RUBBER" 1050 PLOT 13,15 1060 PLOT 6,3,15 1070 L= L+ 1:Q(J)= 1 1080 A= (F- C(J)* S(J)* S(J))/ M(J) 1090 GOTO 1120 1100 A= B(J)- C(J)* S(J)* S(J)/ M(J) 1110 REM : S IS SPEED IN FT/SEC 1120 S(J)= S(J)+ A* .2 1130 REM : X IS DISTANCE IN FT 1140 X(J)= X(J)+ S(J)* .2 1150 NEXT J 1160 REM : TEST FOR FINISH 1170 IF X(1)< 1320AND X(2)< 1320THEN 1590 1180 IF X(1)> X(2) THEN 1440 1190 REM CAR #2 THE WINNER (OR A TIE) 1200 T3= (X(2)- 1320)/ S(2) 1210 T= T+ T1/ 100- T3 1220 X(2)= 1320 1230 X(1)= X(1)- S(1)* T3 1240 PLOT 3,0,L 1250 PRINT T;TAB( 8);S(1)* K;TAB( 24);X(1);TAB( 40);S(2)* K;TAB( 55);X(2) 1260 L= L+ 1 1270 GOSUB 1720 1280 PLOT 14,6,6,31,3,45,27 1290 IF X(1)< > X(2)THEN 1340 1300 PLOT 3,32,27:PRINT "A TIE!" 1310 GOSUB 1820 1320 PLOT 15,14,13,3,32,27:PRINT "A TIE!" 1330 GOTO 1380 1340 GOSUB 1820 1350 PLOT 15,14,13,3,45,27 1360 PRINT "THE WINNER!" 1370 REM ANOTHER GAME? 1380 PLOT 6,2 1390 PRINT "DO YOU WANT TO TRY AGAIN"; 1400 INPUT I$ 1410 PLOT 12,3,0,14 1420 IF LEFT$ (I$,1)= "Y"THEN 270 1430 GOTO 1680 1440 REM CAR #1 THE WINNER 1450 T3= (X(1)- 1320)/ S(1) 1460 T= T+ T1/ 100- T3 1470 X(1)= 1320 1480 X(2)= X(2)- S(2)* T3 1490 PLOT 3,0,L 1500 PRINT T;TAB( 8);S(1)* K;TAB( 24);X(1);TAB( 40);S(2)* K;TAB( 55);X(2) 1510 L= L+ 1 1520 GOSUB 1720 1530 PLOT 14,6,6,31,3,12,27 1540 PRINT "THE WINNER!" 1550 FOR I= 1TO 1000:NEXT I 1560 PLOT 15,14,13,3,12,27 1570 PRINT "THE WINNER!" 1580 GOTO 1380 1590 NEXT T1 1600 IF L< 25THEN 1630 1610 FOR I= 11TO 25:PLOT 3,0,I,11:NEXT 1620 L= 11 1630 PLOT 3,0,L 1640 PRINT T+ 1;TAB( 8);S(1)* K;TAB( 24);X(1);TAB( 40);S(2)* K;TAB( 55);X(2) 1650 L= L+ 1 1660 GOSUB 1720 1670 NEXT T 1680 LOAD "MENU":RUN 1690 PRINT "COME AGAIN!" 1700 FOR I= 1TO 1000:NEXT 1710 END 1720 PLOT 6,1,3,0,2 1730 PRINT " 1"; 1740 PRINT TAB( INT (X(1)/ 23.5)+ 3);A$ 1750 PLOT 6,56,3,62,2:PRINT " " 1760 PLOT 6,2,3,0,4 1770 PRINT " 2"; 1780 PRINT TAB( INT (X(2)/ 23.5)+ 3);A$ 1790 PLOT 6,56,3,62,4:PRINT " " 1800 PLOT 6,3 1810 RETURN 1820 FOR I9= 1TO 400:NEXT I9:RETURN