0 REM * FTBALL * 10 PRINT "THIS IS DARTMOUTH CHAMPIONSHIP FOOTBALL." 20 PRINT "YOU WILL QUARTERBACK DARTMOUTH. CALL PLAYS AS FOLLOWS:" 30 PRINT "1 = SIMPLE RUN; 2 = TRICKY RUN; 3 = SHORT PASS;" 40 PRINT "4 = LONG PASS; 5 = PUNT; 6 = QUICK KICK;' 7 = PLACE KICK." 45 PRINT 50 LET T = 0 60 LET S(0) = 0 70 LET S(2) = 0 100 PRINT "TOSS OF COIN. (TYPE A NO. FROM 1 TO 300)"; 120 INPUT Z1 140 FOR I = 1 TO Z1 160 LET X = RND(X) 180 NEXT I 190 IF RND(Z) > 1/2 THEN 195 191 PRINT "PRINCETON WON THE TOSS" 193 GOTO 2180 195 PRINT "DARTMOUTH WON THE TOSS" 200 PRINT "DARTMOUTH BALL ON ITS OWN 20." 220 LET P = 1 240 LET X = 20 260 LET X1 = 20 280 LET D = 1 300 GOTO 2300 320 PRINT "NEXT PLAY"; 340 INPUT Z 360 LET R = RND(Z) 362 LET R = R*(.97+P*.03) 370 LET T = T+1 372 IF T < 50 THEN 380 374 IF RND(Z) > .2 THEN 380 375 PRINT 376 PRINT "END OF GAME ***" 377 PRINT "FINAL SCORE: DARTMOUTH" S(2); "PRINCETON" S(0) 378 STOP 380 LET R1 = RND(Z) 400 LET F = 0 420 IF Z > 4 THEN 520 440 IF Z = 1 THEN 620 460 IF Z = 2 THEN 700 470 PRINT "PASS PLAY" 480 IF Z = 3 THEN 820 500 GOTO 1140 520 REM PUNT 540 LET Y = INT(100*(R-.5)^3+35) 545 IF Z = 7 THEN 5000 550 IF D = 4 THEN 560 555 LET Y = INT(Y*1.3) 560 PRINT "PUNT GOOD FOR" Y; "YARDS" 562 IF D<4 THEN 580 564 LET Y1 = INT(R1^2*20)+(1-P)*INT(R^2*30) 566 PRINT "RUN BACK FOR " Y1; "YARDS" 568 LET Y = Y-Y1 580 LET F = -1 600 GOTO 1480 620 REM SIMPLE RUN 630 PRINT "RUNNING PLAY" 640 LET Y = INT(24*(R-.5)^3+3) 660 IF R1 < .05 THEN 760 680 GOTO 1260 700 REM TRICKY RUN 710 PRINT "RUNNING PLAY" 720 LET Y = INT(20*R-5) 740 IF R1 > .1 THEN 1260 760 LET F = -1 780 PRINT "*** FUMBLE AFTER "; 800 GOTO 1260 820 REM SHORT PASS 840 LET Y = INT(60*(R1-.5)^3+8) 860 IF R < .05 THEN 960 880 IF R < .15 THEN 1080 900 IF R < .55 THEN 1020 920 PRINT "COMPLETE. "; 940 GOTO 1260 960 PRINT "INTERCEPTED. " 980 LET F = -1 1000 GOTO 1480 1020 PRINT "INCOMPLETE. "; 1040 LET Y = 0 1060 GOTO 1260 1080 PRINT "PASSER TACKLED. "; 1100 LET Y = - INT(10*R1) 1120 GOTO 1260 1140 REM LONG PASS 1160 LET Y = INT(160*(R1-.5)^3+30) 1180 IF R < .1 THEN 960 1200 IF R < .25 THEN 1080 1220 IF R < .70 THEN 1020 1240 GOTO 920 1260 REM RESULT OF PLAY 1280 LET X2 = X + P*Y 1300 IF X2 >= 100 THEN 1640 1320 IF X2 <= 0 THEN 2380 1340 IF Y < 0 THEN 1420 1360 IF Y = 0 THEN 1460 1380 PRINT "GAIN OF " Y "YARDS" 1400 GOTO 1480 1420 PRINT "LOSS OF " -Y; "YARDS" 1440 GOTO 1480 1460 PRINT "NO GAIN" 1480 LET X = X + P*Y 1500 IF X <= 0 THEN 2380 1520 IF X > 50 THEN 1580 1540 PRINT "BALL ON DARTMOUTH " X; "YARD LINE." 1560 GOTO 1940 1580 IF X >= 100 THEN 1640 1600 PRINT "BALL ON PRINCETON " 100-X ; "YARD LINE." 1620 GOTO 1940 1640 IF P < 0 THEN 1780 1660 IF F < 0 THEN 1740 1680 PRINT "TOUCHDOWN***" 1700 LET P = -1 1710 GOSUB 4300 1720 GOTO 2180 1740 PRINT "TOUCHBACK FOR PRINCETON***" 1760 GOTO 2180 1780 IF F < 0 THEN 1900 1800 PRINT "SAFETY***" 1810 GOSUB 4100 1820 PRINT "DARTMOUTH GETS BALL ON ITS OWN 40." 1840 LET X = 40 1860 LET P = 1 1880 GOTO 2220 1900 PRINT "TOUCHDOWN DARTMOUTH ***" 1910 GOSUB 4300 1920 GOTO 2180 1940 LET D = D+1 1960 IF F >= 0 THEN 2120 1980 IF P > 0 THEN 2060 2000 PRINT "DARTMOUTH'S BALL" 2020 LET P = 1 2040 GOTO 2220 2060 PRINT "PRINCETON'S BALL" 2080 GOTO 2210 2120 IF P*(X-X1)>=10 THEN 2220 2140 IF D < 5 THEN 2300 2150 IF P<0 THEN 2000 2160 GOTO 2060 2180 LET X = 80 2200 PRINT "PRINCETON BALL ON ITS OWN 20." 2210 LET P = -1 2220 LET D = 1 2240 PRINT "FIRST DOWN***" 2242 IF P < 0 THEN 2250 2244 IF X < 90 THEN 2260 2246 LET X1 = 90 2248 GOTO 2320 2250 IF X > 10 THEN 2260 2252 LET X1 = 10 2254 GOTO 2320 2260 LET X1= X 2280 GOTO 2320 2300 PRINT "DOWN " D; "AND " 10 + P*(X1-X); "YARDS TO GO." 2320 PRINT 2340 IF P > 0 THEN 320 2360 GOTO 2680 2380 IF F < 0 THEN 2580 2400 IF P > 0 THEN 2480 2420 PRINT "TOUCHDOWN***" 2440 LET P = 1 2450 GOSUB 4300 2460 GOTO 200 2480 PRINT "SAFETY***" 2490 GOSUB 4100 2500 PRINT "PRINCETON GETS BALL ON ITS OWN 40." 2520 LET X = 60 2540 LET P = -1 2560 GOTO 2220 2580 IF P > 0 THEN 2640 2600 PRINT "TOUCHBACK FOR DARTMOUTH." 2620 GOTO 200 2640 PRINT "TOUCHDOWN PRINCETON ***" 2650 GOSUB 4300 2660 GOTO 200 2680 REM PRINCETON OFFENSE 2700 LET P = -1 2720 IF D > 1 THEN 2840 2740 IF RND(Z) > 1/3 THEN 2800 2760 LET Z = 3 2780 GOTO 3120 2800 LET Z = 1 2820 GOTO 3120 2840 IF D < 4 THEN 2920 2860 IF X <= 30 THEN 2910 2880 LET Z = 5 2900 GOTO 3120 2910 IF 10 + X -X1 < 3 THEN 2740 2912 LET Z = 7 2914 GOTO 3120 2920 IF 10+X-X1 < 5 THEN 2740 2940 IF X > X1 THEN 3060 2960 IF RND(Z) > 1/2 THEN 3020 2980 LET Z = 2 3000 GOTO 3120 3020 LET Z = 4 3040 GOTO 3120 3060 IF RND(Z) > 1/4 THEN 3100 3080 GOTO 2980 3100 GOTO 3020 3120 GOTO 360 4000 REM KEEP SCORE 4100 LET S(1-P) = S(1-P)+2 4200 PRINT "SCORE: " S(2); "TO " S(0) 4210 PRINT 4220 RETURN 4300 IF RND(Z) > .8 THEN 4350 4310 PRINT "KICK IS GOOD" 4320 LET S(1-P) = S(1-P)+7 4330 GOTO 4200 4350 PRINT "KICK IS OFF TO THE SIDE" 4360 LET S(1-P) = S(1-P)+6 4370 GOTO 4200 5000 REM FIELD GOAL 5001 PRINT "PLACE KICK" 5005 LET F = -1 5006 IF R > .5 THEN 5010 5007 PRINT "KICK IS BLOCKED***" 5008 LET Y = -5 5009 GOTO 1480 5010 IF P < 0 THEN 5200 5020 IF X+Y >= 110 THEN 5100 5030 IF X + Y < 80 THEN 5060 5040 PRINT "KICK IS OFF TO THE SIDE." 5050 GOTO 1740 5060 PRINT "KICK IS SHORT." 5070 GOTO 1480 5100 PRINT "FIELD GOAL ***" 5110 LET S(2) = S(2)+3 5120 GOSUB 4200 5130 GOTO 2180 5200 IF X-Y <= -10 THEN 5300 5210 IF X-Y > 20 THEN 5060 5220 PRINT "KICK IS OFF TO THE SIDE." 5230 GOTO 2600 5300 PRINT "FIELD GOAL ***" 5310 LET S(0) = S(0)+3 5320 GOSUB 4200 5330 GOTO 200 9999 END