diff --git a/dec/FOOTBL.BAS b/dec/FOOTBL.BAS new file mode 100644 index 0000000..f6db90a --- /dev/null +++ b/dec/FOOTBL.BAS @@ -0,0 +1,374 @@ +10 PRINT "THIS IS A DEMONSTRATION OF PDP-11 BASIC" +20 PRINT "IF YOU NEED INSTRUCTIONS FOR PLAYING FOOTBALL, TYPE A 1"; +30 INPUT I +40 IF I<>1 THEN 340 +50 PRINT +60 PRINT +70 PRINT "WHEN IT ASKS YOU A QUESTION TO BE ANSWERED YES OR" +80 PRINT "NO, TYPE IN 0 FOR NO OR 1 FOR YES." +90 PRINT +100 PRINT "ON OFFENSE YOU HAVE THE FOLLOWING PERMITTED PLAYS:" +110 PRINT "PLAY","CODE" +120 PRINT "RUN","10" +130 PRINT "PASS","11" +140 PRINT "SWEEP","12" +150 PRINT "SCREEN PASS","13" +160 PRINT "LONG PASS","14" +170 PRINT "DRAW PLAY","15" +180 PRINT "PUNT","16" +190 PRINT "FIELDGOAL","17" +200 PRINT +210 PRINT "ON DEFENSE, YOU MAY TRY ONE OF THE FOLLOWING:" +220 PRINT "DEFENSE","CODE" +230 PRINT "NORMAL","4","GOOD AGAINST SWEEP AND SCREEN" +240 PRINT "HOLD","5","GOOD AGAINST RUN, PASS AND DRAW" +250 PRINT "BLITZ","6","GOOD AGAINST PASS OR LONG PASS" +260 PRINT "INTERCEPT","7","INCREASES THE ODDS FOR AN INTERCEPTION" +270 PRINT "BLOCK","8","GIVES YOU A CHANCE TO BLOCK A KICK," +280 PRINT " "," ","BUT DECREASES THE DISTANCE RUNBACK." +290 PRINT +300 PRINT "TO CALL A PARTICULAR PLAY JUST TYPE ITS CODE NUMBER." +310 PRINT "ALSO, AT ANY TIME DURING PLAY YOU MAY CALL TIME OUT" +320 PRINT "BY TYPING A '2'. HOWEVER YOU ARE PERMITTED ONLY THREE" +330 PRINT "TIMEOUTS PER HALF." +340 PRINT +350 PRINT +360 DEF FNT(X)=SIN(X)/COS(X) +370 DIM R(17) +380 FOR I=0 TO 17 +390 READ R(I) +400 NEXT I +410 DATA 9,13,100,0,9,10,12,11,12,0,1,5,3,4,6,2,8,7 +420 RANDOMIZE +430 LET F=0 +440 LET Z3=0 +450 LET O=0 +460 LET L=0 +470 DIM Z(5,3),P(2),D(2,5) +480 FOR A=0 TO 5 +490 FOR B=0 TO 2 +500 READ Z(A,B),D(B,A) +505 LET P(B)=0 +510 NEXT B +520 READ Z(A,3) +530 NEXT A +540 PRINT "DO YOU WANT TO RECEIVE"; +550 LET X=1 +560 GOSUB 3610 +570 LET S=2-SGN(13-Q) +580 LET K=S +590 LET T1=120 +600 LET U2=3 +610 LET U=3 +620 LET C=900 +630 GOSUB 2250 +640 LET F1=50 +650 LET B=INT(F1+O*20*RND(0)+(1-O)*29*(2-RND(0)^7-RND(0)^(3-Z2))) +660 LET O=0 +670 LET Z9=8 +680 GOSUB 1490 +690 LET L=0 +700 IF B<=99 THEN 2340 +710 PRINT "A TOUCHBACK" +720 LET B=20 +730 LET L=0 +740 IF S=2 THEN 770 +750 PRINT "MY "; +760 GOTO 780 +770 PRINT "YOUR "; +780 GOSUB 3290 +790 GOSUB 2980 +800 LET D=1 +810 LET F2=.03 +820 LET O=0 +830 IF C<=0 THEN 2770 +840 GOSUB 2530 +850 LET Z2=1 +860 LET Z3=.3 +870 IF C<=F*T1 THEN 2920 +880 IF C<=0 THEN 2770 +890 IF L=0 THEN 910 +900 PRINT "TIME TO GO--"; +910 PRINT INT(C/60);"MIN.";C-60*INT(C/60);"SEC. "; +920 PRINT "YOUR PLAY"; +930 GOSUB 3610 +940 IF S=1 THEN 980 +950 IF Q>8 THEN 920 +960 LET M=Q +970 GOTO 1000 +980 LET Y=Q-8 +990 IF ABS(Q-10.5)^2>3 THEN 920 +1000 LET C=INT(C-L*(5+23*RND(X))) +1010 LET L=1 +1020 IF M=7 THEN 1760 +1030 IF M=8 THEN 1920 +1040 LET Y1=Y-1 +1050 IF RND(X)>Z(M-1,Y1) THEN 1240 +1060 LET A=2 +1070 GOSUB 3020 +1080 IF M<4 THEN 1110 +1090 PRINT "PASS COMPLETE.."; +1100 LET L=SGN(INT(4*RND(0))) +1110 IF RND(X)0 THEN 1210 +1130 IF G=0 THEN 1170 +1140 IF G+B<1 THEN 2170 +1150 PRINT "LOSS OF";-G; +1160 GOTO 1610 +1170 PRINT "NO GAIN" +1180 LET Z9=2 +1190 GOSUB 1490 +1200 GOTO 1670 +1210 IF B+G>99 THEN 1650 +1220 PRINT "GAIN OF";G; +1230 GOTO 1610 +1240 IF M>3 THEN 1280 +1250 LET A=1 +1260 GOSUB 3020 +1270 GOTO 1120 +1280 IF RND(X)<.06*(2-SGN(Y-3)) THEN 1360 +1290 IF RND(0)<.05+INT(Y/3.5)/5 THEN 1510 +1300 LET Z9=6 +1310 GOSUB 1490 +1320 PRINT "PASS INCOMPLETE" +1330 LET L=0 +1340 LET G=0 +1350 GOTO 3120 +1360 PRINT "PASS **INTERCEPTED**"; +1370 LET A=1 +1380 GOSUB 3020 +1390 IF B<40 THEN 1410 +1400 LET G=20*(1+SGN(G)) +1410 LET B=100-B-G +1420 LET S=3-S +1430 LET Z9=9 +1440 GOSUB 1490 +1450 IF B<1 THEN 710 +1460 IF B>99 THEN 1650 +1470 PRINT "AT "; +1480 GOTO 2360 +1490 LET C=C-INT(4+Z9/2*(1+RND(0))) +1500 RETURN +1510 LET G=-(5+INT(10*RND(X))) +1520 PRINT "THE QUATERBACK "; +1530 IF RND(X)>.5 THEN 1560 +1540 PRINT "IS THROWN FOR A "; +1550 GOTO 1110 +1560 LET G=-(2*G+8) +1570 LET M=5 +1580 LET A=1 +1590 PRINT "SCRAMBLES FOR A "; +1600 GOTO 1110 +1610 LET B=B+G +1620 PRINT "TO "; +1630 GOSUB 3300 +1640 IF B<=99 THEN 1670 +1650 GOSUB 1990 +1660 GOTO 630 +1670 IF B1>B THEN 3120 +1680 IF B1.5 THEN 1730 +1700 PRINT "**MEASUREMENT**" +1710 GOSUB 3520 +1720 IF RND(X)<.5 THEN 3120 +1730 GOSUB 2980 +1740 LET D=0 +1750 GOTO 3120 +1760 IF RND(X)<.06 THEN 1890 +1770 LET B=B+30+INT(15*(1-RND(X)^3)) +1780 LET Z9=2 +1790 GOSUB 1490 +1800 IF B<=99 THEN 1850 +1810 LET P1=3 +1820 GOSUB 2030 +1830 IF P1=0 THEN 710 +1840 GOTO 630 +1850 PRINT "THE KICK IS "; +1860 LET Z2=0 +1870 LET S=3-S +1880 GOTO 2340 +1890 PRINT "**BLOCKED** RECOVERED.."; +1900 LET G=-INT(14*RND(X)) +1910 GOTO 1410 +1920 PRINT "THE PUNT IS "; +1930 IF RND(X)<.06 THEN 1890 +1940 LET F1=B +1950 LET Z2=1 +1960 LET S=3-S +1970 LET Z3=.65 +1980 GOTO 650 +1990 PRINT "** TOUCHDOWN**" +2000 LET P1=1 +2010 LET P(S)=P(S)+6 +2020 LET B=130 +2030 PRINT "THE KICK IS "; +2040 IF RND(X)<(B/132)^4 THEN 2070 +2050 LET P1=0 +2060 PRINT "NO "; +2070 PRINT "GOOD" +2080 LET P(S)=P(S)+P1 +2090 GOSUB 2120 +2100 LET S=3-S +2110 RETURN +2120 PRINT "SCORE: ME";P(1);" YOU";P(2) +2130 LET L=0 +2140 IF X<5 THEN 2160 +2150 IF P(1)<>P(2) THEN 2770 +2160 RETURN +2170 PRINT "**SAFETY**" +2180 LET P(3-S)=P(3-S)+2 +2190 LET F1=30 +2200 LET S=3-S +2210 GOSUB 2120 +2220 GOSUB 3440 +2230 PRINT "FROM THE 20" +2240 GOTO 650 +2250 GOSUB 3440 +2260 IF S=2 THEN 2330 +2270 PRINT "ON-SIDE"; +2280 GOSUB 3610 +2290 IF Q<>13 THEN 2330 +2300 LET F2=.15 +2310 LET Z2=1 +2320 LET O=1 +2330 RETURN +2340 LET B=100-B +2350 PRINT "RECEIVED AT "; +2360 GOSUB 3300 +2370 IF Z2*RND(X)>Z3 THEN 2490 +2380 IF RND(X)99 THEN 1650 +2470 PRINT " TO "; +2480 GOSUB 3300 +2490 IF RND(0)>F2 THEN 3260 +2500 LET G=0 +2510 PRINT "**FUMBLE**"; +2520 GOTO 1410 +2530 IF S=1 THEN 2560 +2540 LET Y=INT(1+3.5*RND(0)) +2550 RETURN +2560 LET M=INT(55*RND(0)/10.5)+1 +2570 IF (B1-B)/(5-D)<3 THEN 2590 +2590 LET M=INT(6-4*RND(0)^2) +2590 IF L*F*60>=C THEN 2670 +2600 IF D<4 THEN 2550 +2610 PRINT "I'LL "; +2620 IF B<55 THEN 2720 +2630 IF 0<4*RND(0)-B1+B THEN 2750 +2640 PRINT "TRY FOR A FIELD GOAL" +2650 LET M=7 +2660 RETURN +2670 IF P(2)*U2<=P(1)*U2 THEN 2600 +2680 PRINT "TIME OUT" +2690 LET U2=U2-1 +2700 GOSUB 3520 +2710 GOTO 2600 +2720 PRINT "PUNT" +2730 LET M=8 +2740 RETURN +2750 PRINT "GO FOR IT" +2760 RETURN +2770 IF X<4 THEN 2830 +2780 IF P(1)=P(2) THEN 2830 +2790 PRINT "THE GAME IS OVER" +2800 PRINT "FINAL "; +2810 GOSUB 2120 +2820 STOP +2830 PRINT "END OF PERIOD";X +2840 GOSUB 2120 +2850 LET F=1-F +2860 GOSUB 3520 +2870 LET C=900 +2880 LET X=X+1 +2890 IF F<>0 THEN 810 +2900 LET S=3-K +2910 GOTO 580 +2920 IF T1=0 THEN 2770 +2930 PRINT "2 MINUTE WARNING" +2940 GOSUB 3520 +2950 LET T1=0 +2960 LET C=120 +2970 GOTO 880 +2980 LET B1=B+10 +2990 IF B1<=100 THEN 3010 +3000 LET B1=100 +3010 RETURN +3020 LET Q=1.3*(A*RND(0)-1)-.06 +3030 LET A=1 +3040 IF Q>=0 THEN 3070 +3050 LET A=0 +3060 LET Q=-Q +3070 LET M1=M-1 +3080 LET G=D(A,M1)+FNT(Q)*(D(2,M1)-D(A,M1))/3.5 +3090 LET G=G+INT(RND(0)+.02)*A*100*RND(0) +3100 LET G=INT(G) +3110 RETURN +3120 LET D=D+1 +3130 IF D=5 THEN 3240 +3140 IF D<> 1 THEN 3160 +3150 PRINT "1ST"; +3160 IF D<>2 THEN 3180 +3170 PRINT "2ND"; +3180 IF D<>3 THEN 3200 +3190 PRINT "3RD"; +3200 IF D<4 THEN 3220 +3210 PRINT "4TH"; +3220 PRINT " AND";B1-B;" "; +3230 GOTO 810 +3240 LET S=3-S +3250 LET B=100-B +3260 IF S=2 THEN 770 +3270 PRINT "MY "; +3280 GOTO 780 +3290 PRINT "BALL ON "; +3300 IF B=50 THEN 3400 +3310 LET V=50-ABS(B-50) +3320 LET C=C-INT(7+3*RND(0)) +3330 IF S=1 THEN 3420 +3340 IF B<50 THEN 3370 +3350 PRINT "MY "; +3360 GOTO 3380 +3370 PRINT "YOUR "; +3380 PRINT V +3390 RETURN +3400 PRINT "THE 50" +3410 RETURN +3420 IF B<50 THEN 3350 +3430 GOTO 3370 +3440 IF S=2 THEN 3470 +3450 PRINT "YOU"; +3460 GOTO 3480 +3470 PRINT "I"; +3480 PRINT " KICK OFF." +3490 LET F2=.06 +3500 LET Z2=0 +3510 RETURN +3520 LET L=0 +3530 PRINT "TIMEOUT CALLED..." +3540 PRINT +3550 RETURN +3560 IF U=0 THEN 3600 +3570 LET U=U-1 +3580 GOSUB 3520 +3590 GOTO 3610 +3600 PRINT "..WRONG, TRY AGAIN" +3610 INPUT A +3620 IF ABS(INT(A))>17 THEN 3600 +3630 LET Q=R(INT(ABS(A))) +3640 IF Q=0 THEN 3600 +3650 IF Q=100 THEN 3560 +3660 RETURN +3670 DATA .5,-2,.25,4,.5,13,.55 +3680 DATA .4,-2,.3,7,.65,15,.75 +3690 DATA .4,-2,.3,6,.6,15,.35 +3700 DATA .65,-2,.65,6,.6,17,.9 +3710 DATA .4,2,.7,10,.4,27,.2 +3720 DATA .1,19,.4,35,.2,100,.1 +3730 END diff --git a/port/FOOTBL.BAS b/port/FOOTBL.BAS new file mode 100644 index 0000000..d91fe63 --- /dev/null +++ b/port/FOOTBL.BAS @@ -0,0 +1,373 @@ + 1 PRINT "THIS IS A DEMONSTRATION OF PDP-11 BASIC" + 2 PRINT "IF YOU NEED INSTRUCTIONS FOR PLAYING FOOTBALL, TYPE A 1"; + 3 INPUT I + 4 IF I<>1 THEN 34 + 5 PRINT + 6 PRINT + 7 PRINT "WHEN IT ASKS YOU A QUESTION TO BE ANSWERED YES OR" + 8 PRINT "NO, TYPE IN 0 FOR NO OR 1 FOR YES." + 9 PRINT + 10 PRINT "ON OFFENSE YOU HAVE THE FOLLOWING PERMITTED PLAYS:" + 11 PRINT "PLAY","CODE" + 12 PRINT "RUN","10" + 13 PRINT "PASS","11" + 14 PRINT "SWEEP","12" + 15 PRINT "SCREEN PASS","13" + 16 PRINT "LONG PASS","14" + 17 PRINT "DRAW PLAY","15" + 18 PRINT "PUNT","16" + 19 PRINT "FIELDGOAL","17" + 20 PRINT + 21 PRINT "ON DEFENSE, YOU MAY TRY ONE OF THE FOLLOWING:" + 22 PRINT "DEFENSE","CODE" + 23 PRINT "NORMAL","4","GOOD AGAINST SWEEP AND SCREEN" + 24 PRINT "HOLD","5","GOOD AGAINST RUN, PASS AND DRAW" + 25 PRINT "BLITZ","6","GOOD AGAINST PASS OR LONG PASS" + 26 PRINT "INTERCEPT","7","INCREASES THE ODDS FOR AN INTERCEPTION" + 27 PRINT "BLOCK","8","GIVES YOU A CHANCE TO BLOCK A KICK," + 28 PRINT " "," ","BUT DECREASES THE DISTANCE RUNBACK." + 29 PRINT + 30 PRINT "TO CALL A PARTICULAR PLAY JUST TYPE ITS CODE NUMBER." + 31 PRINT "ALSO, AT ANY TIME DURING PLAY YOU MAY CALL TIME OUT" + 32 PRINT "BY TYPING A '2'. HOWEVER YOU ARE PERMITTED ONLY THREE" + 33 PRINT "TIMEOUTS PER HALF." + 34 PRINT + 35 PRINT + 36 DEF FNT(X)=SIN(X)/COS(X) + 37 DIM R(17) + 38 FOR I=0 TO 17 + 39 READ R(I) + 40 NEXT I + 41 DATA 9,13,100,0,9,10,12,11,12,0,1,5,3,4,6,2,8,7 + 42 RANDOMIZE + 43 LET F=0 + 44 LET Z3=0 + 45 LET O=0 + 46 LET L=0 + 47 DIM Z(5,3),P(2),D(2,5) + 48 FOR A=0 TO 5 + 49 FOR B=0 TO 2 + 50 READ Z(A,B),D(B,A)\LET P(B)=0 + 51 NEXT B + 52 READ Z(A,3) + 53 NEXT A + 54 PRINT "DO YOU WANT TO RECEIVE"; + 55 LET X=1 + 56 GOSUB 361 + 57 LET S=2-SGN(13-Q) + 58 LET K=S + 59 LET T1=120 + 60 LET U2=3 + 61 LET U=3 + 62 LET C=900 + 63 GOSUB 225 + 64 LET F1=50 + 65 LET B=INT(F1+O*20*RND(0)+(1-O)*29*(2-RND(0)^7-RND(0)^(3-Z2))) + 66 LET O=0 + 67 LET Z9=8 + 68 GOSUB 149 + 69 LET L=0 + 70 IF B<=99 THEN 234 + 71 PRINT "A TOUCHBACK" + 72 LET B=20 + 73 LET L=0 + 74 IF S=2 THEN 77 + 75 PRINT "MY "; + 76 GOTO 78 + 77 PRINT "YOUR "; + 78 GOSUB 329 + 79 GOSUB 298 + 80 LET D=1 + 81 LET F2=.03 + 82 LET O=0 + 83 IF C<=0 THEN 277 + 84 GOSUB 253 + 85 LET Z2=1 + 86 LET Z3=.3 + 87 IF C<=F*T1 THEN 292 + 88 IF C<=0 THEN 277 + 89 IF L=0 THEN 91 + 90 PRINT "TIME TO GO--"; + 91 PRINT INT(C/60);"MIN.";C-60*INT(C/60);"SEC. "; + 92 PRINT "YOUR PLAY"; + 93 GOSUB 361 + 94 IF S=1 THEN 98 + 95 IF Q>8 THEN 92 + 96 LET M=Q + 97 GOTO 100 + 98 LET Y=Q-8 + 99 IF ABS(Q-10.5)^2>3 THEN 92 + 100 LET C=INT(C-L*(5+23*RND(X))) + 101 LET L=1 + 102 IF M=7 THEN 176 + 103 IF M=8 THEN 192 + 104 LET Y1=Y-1 + 105 IF RND(X)>Z(M-1,Y1) THEN 124 + 106 LET A=2 + 107 GOSUB 302 + 108 IF M<4 THEN 111 + 109 PRINT "PASS COMPLETE.."; + 110 LET L=SGN(INT(4*RND(0))) + 111 IF RND(X)0 THEN 121 + 113 IF G=0 THEN 117 + 114 IF G+B<1 THEN 217 + 115 PRINT "LOSS OF";-G; + 116 GOTO 161 + 117 PRINT "NO GAIN" + 118 LET Z9=2 + 119 GOSUB 149 + 120 GOTO 167 + 121 IF B+G>99 THEN 165 + 122 PRINT "GAIN OF";G; + 123 GOTO 161 + 124 IF M>3 THEN 128 + 125 LET A=1 + 126 GOSUB 302 + 127 GOTO 112 + 128 IF RND(X)<.06*(2-SGN(Y-3)) THEN 136 + 129 IF RND(0)<.05+INT(Y/3.5)/5 THEN 151 + 130 LET Z9=6 + 131 GOSUB 149 + 132 PRINT "PASS INCOMPLETE" + 133 LET L=0 + 134 LET G=0 + 135 GOTO 312 + 136 PRINT "PASS **INTERCEPTED**"; + 137 LET A=1 + 138 GOSUB 302 + 139 IF B<40 THEN 141 + 140 LET G=20*(1+SGN(G)) + 141 LET B=100-B-G + 142 LET S=3-S + 143 LET Z9=9 + 144 GOSUB 149 + 145 IF B<1 THEN 71 + 146 IF B>99 THEN 165 + 147 PRINT "AT "; + 148 GOTO 236 + 149 LET C=C-INT(4+Z9/2*(1+RND(0))) + 150 RETURN + 151 LET G=-(5+INT(10*RND(X))) + 152 PRINT "THE QUATERBACK "; + 153 IF RND(X)>.5 THEN 156 + 154 PRINT "IS THROWN FOR A "; + 155 GOTO 111 + 156 LET G=-(2*G+8) + 157 LET M=5 + 158 LET A=1 + 159 PRINT "SCRAMBLES FOR A "; + 160 GOTO 111 + 161 LET B=B+G + 162 PRINT "TO "; + 163 GOSUB 330 + 164 IF B<=99 THEN 167 + 165 GOSUB 199 + 166 GOTO 63 + 167 IF B1>B THEN 312 + 168 IF B1.5 THEN 173 + 170 PRINT "**MEASUREMENT**" + 171 GOSUB 352 + 172 IF RND(X)<.5 THEN 312 + 173 GOSUB 298 + 174 LET D=0 + 175 GOTO 312 + 176 IF RND(X)<.06 THEN 189 + 177 LET B=B+30+INT(15*(1-RND(X)^3)) + 178 LET Z9=2 + 179 GOSUB 149 + 180 IF B<=99 THEN 185 + 181 LET P1=3 + 182 GOSUB 203 + 183 IF P1=0 THEN 71 + 184 GOTO 63 + 185 PRINT "THE KICK IS "; + 186 LET Z2=0 + 187 LET S=3-S + 188 GOTO 234 + 189 PRINT "**BLOCKED** RECOVERED.."; + 190 LET G=-INT(14*RND(X)) + 191 GOTO 141 + 192 PRINT "THE PUNT IS "; + 193 IF RND(X)<.06 THEN 189 + 194 LET F1=B + 195 LET Z2=1 + 196 LET S=3-S + 197 LET Z3=.65 + 198 GOTO 65 + 199 PRINT "** TOUCHDOWN**" + 200 LET P1=1 + 201 LET P(S)=P(S)+6 + 202 LET B=130 + 203 PRINT "THE KICK IS "; + 204 IF RND(X)<(B/132)^4 THEN 207 + 205 LET P1=0 + 206 PRINT "NO "; + 207 PRINT "GOOD" + 208 LET P(S)=P(S)+P1 + 209 GOSUB 212 + 210 LET S=3-S + 211 RETURN + 212 PRINT "SCORE: ME";P(1);" YOU";P(2) + 213 LET L=0 + 214 IF X<5 THEN 216 + 215 IF P(1)<>P(2) THEN 277 + 216 RETURN + 217 PRINT "**SAFETY**" + 218 LET P(3-S)=P(3-S)+2 + 219 LET F1=30 + 220 LET S=3-S + 221 GOSUB 212 + 222 GOSUB 344 + 223 PRINT "FROM THE 20" + 224 GOTO 65 + 225 GOSUB 344 + 226 IF S=2 THEN 233 + 227 PRINT "ON-SIDE"; + 228 GOSUB 361 + 229 IF Q<>13 THEN 233 + 230 LET F2=.15 + 231 LET Z2=1 + 232 LET O=1 + 233 RETURN + 234 LET B=100-B + 235 PRINT "RECEIVED AT "; + 236 GOSUB 330 + 237 IF Z2*RND(X)>Z3 THEN 249 + 238 IF RND(X)99 THEN 165 + 247 PRINT " TO "; + 248 GOSUB 330 + 249 IF RND(0)>F2 THEN 326 + 250 LET G=0 + 251 PRINT "**FUMBLE**"; + 252 GOTO 141 + 253 IF S=1 THEN 256 + 254 LET Y=INT(1+3.5*RND(0)) + 255 RETURN + 256 LET M=INT(55*RND(0)/10.5)+1 + 257 IF (B1-B)/(5-D)<3 THEN 259 + 258 LET M=INT(6-4*RND(0)^2) + 259 IF L*F*60>=C THEN 267 + 260 IF D<4 THEN 255 + 261 PRINT "I'LL "; + 262 IF B<55 THEN 272 + 263 IF 0<4*RND(0)-B1+B THEN 275 + 264 PRINT "TRY FOR A FIELD GOAL" + 265 LET M=7 + 266 RETURN + 267 IF P(2)*U2<=P(1)*U2 THEN 260 + 268 PRINT "TIME OUT" + 269 LET U2=U2-1 + 270 GOSUB 352 + 271 GOTO 260 + 272 PRINT "PUNT" + 273 LET M=8 + 274 RETURN + 275 PRINT "GO FOR IT" + 276 RETURN + 277 IF X<4 THEN 283 + 278 IF P(1)=P(2) THEN 283 + 279 PRINT "THE GAME IS OVER" + 280 PRINT "FINAL "; + 281 GOSUB 212 + 282 STOP + 283 PRINT "END OF PERIOD";X + 284 GOSUB 212 + 285 LET F=1-F + 286 GOSUB 352 + 287 LET C=900 + 288 LET X=X+1 + 289 IF F<>0 THEN 81 + 290 LET S=3-K + 291 GOTO 58 + 292 IF T1=0 THEN 277 + 293 PRINT "2 MINUTE WARNING" + 294 GOSUB 352 + 295 LET T1=0 + 296 LET C=120 + 297 GOTO 88 + 298 LET B1=B+10 + 299 IF B1<=100 THEN 301 + 300 LET B1=100 + 301 RETURN + 302 LET Q=1.3*(A*RND(0)-1)-.06 + 303 LET A=1 + 304 IF Q>=0 THEN 307 + 305 LET A=0 + 306 LET Q=-Q + 307 LET M1=M-1 + 308 LET G=D(A,M1)+FNT(Q)*(D(2,M1)-D(A,M1))/3.5 + 309 LET G=G+INT(RND(0)+.02)*A*100*RND(0) + 310 LET G=INT(G) + 311 RETURN + 312 LET D=D+1 + 313 IF D=5 THEN 324 + 314 IF D<> 1 THEN 316 + 315 PRINT "1ST"; + 316 IF D<>2 THEN 318 + 317 PRINT "2ND"; + 318 IF D<>3 THEN 320 + 319 PRINT "3RD"; + 320 IF D<4 THEN 322 + 321 PRINT "4TH"; + 322 PRINT " AND";B1-B;" "; + 323 GOTO 81 + 324 LET S=3-S + 325 LET B=100-B + 326 IF S=2 THEN 77 + 327 PRINT "MY "; + 328 GOTO 78 + 329 PRINT "BALL ON "; + 330 IF B=50 THEN 340 + 331 LET V=50-ABS(B-50) + 332 LET C=C-INT(7+3*RND(0)) + 333 IF S=1 THEN 342 + 334 IF B<50 THEN 337 + 335 PRINT "MY "; + 336 GOTO 338 + 337 PRINT "YOUR "; + 338 PRINT V + 339 RETURN + 340 PRINT "THE 50" + 341 RETURN + 342 IF B<50 THEN 335 + 343 GOTO 337 + 344 IF S=2 THEN 347 + 345 PRINT "YOU"; + 346 GOTO 348 + 347 PRINT "I"; + 348 PRINT " KICK OFF." + 349 LET F2=.06 + 350 LET Z2=0 + 351 RETURN + 352 LET L=0 + 353 PRINT "TIMEOUT CALLED..." + 354 PRINT + 355 RETURN + 356 IF U=0 THEN 360 + 357 LET U=U-1 + 358 GOSUB 352 + 359 GOTO 361 + 360 PRINT "..WRONG, TRY AGAIN" + 361 INPUT A + 362 IF ABS(INT(A))>17 THEN 360 + 363 LET Q=R(INT(ABS(A))) + 364 IF Q=0 THEN 360 + 365 IF Q=100 THEN 356 + 366 RETURN + 367 DATA .5,-2,.25,4,.5,13,.55 + 368 DATA .4,-2,.3,7,.65,15,.75 + 369 DATA .4,-2,.3,6,.6,15,.35 + 370 DATA .65,-2,.65,6,.6,17,.9 + 371 DATA .4,2,.7,10,.4,27,.2 + 372 DATA .1,19,.4,35,.2,100,.1 + 373 END