home *** CD-ROM | disk | FTP | other *** search
- 100 PRINT ,"F O O T B A L L"
- 110 PRINT
- 120 PRINT "WOULD YOU LIKE INSTRUCTIONS FOR PLAYING FOOTBALL";
- 130 INPUT I$
- 140 IF LEFT$(I$,1)<>"Y" THEN 410
- 150 PRINT
- 160 PRINT
- 170 PRINT "ON OFFENSE YOU HAVE THE FOLLOWING PERMITTED PLAYS:"
- 180 PRINT "PLAY","CODE"
- 190 PRINT "RUN","10"
- 200 PRINT "PASS","11"
- 210 PRINT "SWEEP","12"
- 220 PRINT "SCREEN PASS","13"
- 230 PRINT "LONG PASS","14"
- 240 PRINT "DRAW PLAY","15"
- 250 PRINT "PUNT","16"
- 260 PRINT "FIELDGOAL","17"
- 270 PRINT
- 280 PRINT "ON DEFENSE, YOU MAY TRY ONE OF THE FOLLOWING:"
- 290 PRINT "DEFENSE","CODE"
- 300 PRINT "NORMAL","4","GOOD AGAINST SWEEP AND SCREEN"
- 310 PRINT "HOLD","5","GOOD AGAINST RUN, PASS AND DRAW"
- 320 PRINT "BLITZ","6","GOOD AGAINST PASS OR LONG PASS"
- 330 PRINT "INTERCEPT","7","INCREASES THE ODDS FOR AN INTERCEPTION"
- 340 PRINT "BLOCK","8","GIVES YOU A CHANCE TO BLOCK A KICK,"
- 350 PRINT " "," ","BUT DECREASES THE DISTANCE RUNBACK."
- 360 PRINT
- 370 PRINT "TO CALL A PARTICULAR PLAY JUST TYPE ITS CODE NUMBER."
- 380 PRINT "ALSO, AT ANY TIME DURING PLAY YOU MAY CALL TIME OUT"
- 390 PRINT "BY TYPING A '2'. HOWEVER YOU ARE PERMITTED ONLY THREE"
- 400 PRINT "TIMEOUTS PER HALF."
- 410 PRINT
- 420 PRINT
- 430 DEF FNT(X)=SIN(X)/COS(X)
- 440 DIM R(17)
- 450 FOR I=0 TO 17
- 460 READ R(I)
- 470 NEXT I
- 480 DATA 9,13,100,0,9,10,12,11,12,0,1,5,3,4,6,2,8,7
- 490 F=0
- 500 Z3=0
- 510 O=0
- 520 L=0
- 530 DIM Z(5,3),P(2),D(2,5)
- 540 FOR A=0 TO 5
- 550 FOR B=0 TO 2
- 560 READ Z(A,B),D(B,A)
- 570 P(B)=0
- 580 NEXT B
- 590 READ Z(A,3)
- 600 NEXT A
- 610 PRINT "DO YOU WANT TO RECEIVE";
- 620 X=1
- 630 INPUT I$
- 640 S=1
- 650 IF LEFT$(I$,1)="Y" THEN S=2
- 660 K=S
- 670 T1=120
- 680 U2=3
- 690 U=3
- 700 C=900
- 710 GOSUB 2330
- 720 F1=50
- 730 B=INT(F1+O*20*RND(1)+(1-O)*29*(2-RND(0)^7-RND(0)^(3-Z2)))
- 740 O=0
- 750 Z9=8
- 760 GOSUB 1570
- 770 L=0
- 780 IF B<=99 THEN 2420
- 790 PRINT "A TOUCHBACK"
- 800 B=20
- 810 L=0
- 820 IF S=2 THEN 850
- 830 PRINT "MY ";
- 840 GOTO 860
- 850 PRINT "YOUR ";
- 860 GOSUB 3370
- 870 GOSUB 3060
- 880 D=1
- 890 F2=.03
- 900 O=0
- 910 IF C<=0 THEN 2850
- 920 GOSUB 2610
- 930 Z2=1
- 940 Z3=.3
- 950 IF C<=F*T1 THEN 3000
- 960 IF C<=0 THEN 2850
- 970 IF L=0 THEN 990
- 980 PRINT "TIME TO GO--";
- 990 PRINT INT(C/60);"MIN,";C-60*INT(C/60);"SEC. ";
- 1000 PRINT "YOUR PLAY";
- 1010 GOSUB 3690
- 1020 IF S=1 THEN 1060
- 1030 IF Q>8 THEN 1000
- 1040 M=Q
- 1050 GOTO 1080
- 1060 Y=Q-8
- 1070 IF ABS(Q-10.5)^2>3 THEN 1000
- 1080 C=INT(C-L*(5+23*RND(1)))
- 1090 L=1
- 1100 IF M=7 THEN 1840
- 1110 IF M=8 THEN 2000
- 1120 Y1=Y-1
- 1130 IF RND(1)>Z(M-1,Y1) THEN 1320
- 1140 A=2
- 1150 GOSUB 3100
- 1160 IF M<4 THEN 1190
- 1170 PRINT "PASS COMPLETE..";
- 1180 L=SGN(INT(4*RND(1)))
- 1190 IF RND(1)<F2 THEN 2590
- 1200 IF G>0 THEN 1290
- 1210 IF G=0 THEN 1250
- 1220 IF G+B<1 THEN 2250
- 1230 PRINT "LOSS OF";-G;
- 1240 GOTO 1690
- 1250 PRINT "NO GAIN"
- 1260 Z9=2
- 1270 GOSUB 1570
- 1280 GOTO 1750
- 1290 IF B+G>99 THEN 1730
- 1300 PRINT "GAIN OF";G;
- 1310 GOTO 1690
- 1320 IF M>3 THEN 1360
- 1330 A=1
- 1340 GOSUB 3100
- 1350 GOTO 1200
- 1360 IF RND(1)<.06*(2-SGN(Y-3)) THEN 1440
- 1370 IF RND(1)<.05+INT(Y/3.5)/5 THEN 1590
- 1380 Z9=6
- 1390 GOSUB 1570
- 1400 PRINT "PASS INCOMPLETE"
- 1410 L=0
- 1420 G=0
- 1430 GOTO 3200
- 1440 PRINT "PASS **INTERCEPTED**";
- 1450 A=1
- 1460 GOSUB 3100
- 1470 IF B<40 THEN 1490
- 1480 G=20*(1+SGN(G))
- 1490 B=100-B-G
- 1500 S=3-S
- 1510 Z9=9
- 1520 GOSUB 1570
- 1530 IF B<1 THEN 790
- 1540 IF B>99 THEN 1730
- 1550 PRINT "AT ";
- 1560 GOTO 2440
- 1570 C=C-INT(4+Z9/2*(1+RND(1)))
- 1580 RETURN
- 1590 G=-(5+INT(10*RND(1)))
- 1600 PRINT "THE QUARTERBACK ";
- 1610 IF RND(1)>.5 THEN 1640
- 1620 PRINT "IS THROWN FOR A ";
- 1630 GOTO 1190
- 1640 G=-(2*G+8)
- 1650 M=5
- 1660 A=1
- 1670 PRINT "SCRAMBLES FOR A ";
- 1680 GOTO 1190
- 1690 B=B+G
- 1700 PRINT "TO ";
- 1710 GOSUB 3380
- 1720 IF B<=99 THEN 1750
- 1730 GOSUB 2070
- 1740 GOTO 710
- 1750 IF B1>B THEN 3200
- 1760 IF B1<B THEN 1810
- 1770 IF RND(1)>.5 THEN 1810
- 1780 PRINT "**MEASUREMENT**"
- 1790 GOSUB 3600
- 1800 IF RND(1)<.5 THEN 3200
- 1810 GOSUB 3060
- 1820 D=0
- 1830 GOTO 3200
- 1840 IF RND(1)<.06 THEN 1970
- 1850 B=B+30+INT(15*(1-RND(1)^3))
- 1860 Z9=2
- 1870 GOSUB 1570
- 1880 IF B<=99 THEN 1930
- 1890 P1=3
- 1900 GOSUB 2110
- 1910 IF P1=0 THEN 790
- 1920 GOTO 710
- 1930 PRINT "THE KICK IS ";
- 1940 Z2=0
- 1950 S=3-S
- 1960 GOTO 2420
- 1970 PRINT "**BLOCKED** RECOVERED..";
- 1980 G=-INT(14*RND(1))
- 1990 GOTO 1490
- 2000 PRINT "THE PUNT IS ";
- 2010 IF RND(1)<.06 THEN 1970
- 2020 F1=B
- 2030 Z2=1
- 2040 S=3-S
- 2050 Z3=.65
- 2060 GOTO 730
- 2070 PRINT "** TOUCHDOWN**"
- 2080 P1=1
- 2090 P(S)=P(S)+6
- 2100 B=130
- 2110 PRINT "THE KICK IS ";
- 2120 IF RND(1)<(B/132)^4 THEN 2150
- 2130 P1=0
- 2140 PRINT "NO ";
- 2150 PRINT "GOOD"
- 2160 P(S)=P(S)+P1
- 2170 GOSUB 2200
- 2180 S=3-S
- 2190 RETURN
- 2200 PRINT "SCORE: ME";P(1);" YOU";P(2)
- 2210 L=0
- 2220 IF X<5 THEN 2240
- 2230 IF P(1)<>P(2) THEN 2850
- 2240 RETURN
- 2250 PRINT "**SAFETY**"
- 2260 P(3-S)=P(3-S)+2
- 2270 F1=30
- 2280 S=3-S
- 2290 GOSUB 2200
- 2300 GOSUB 3520
- 2310 PRINT "FROM THE 20"
- 2320 GOTO 730
- 2330 GOSUB 3520
- 2340 IF S=2 THEN 2410
- 2350 PRINT "ON-SIDE";
- 2360 INPUT I$
- 2370 IF LEFT$(I$,1)<>"Y" THEN 2410
- 2380 F2=.15
- 2390 Z2=1
- 2400 O=1
- 2410 RETURN
- 2420 B=100-B
- 2430 PRINT "RECEIVED AT ";
- 2440 GOSUB 3380
- 2450 IF Z2*RND(1)>Z3 THEN 2570
- 2460 IF RND(1)<F2 THEN 2580
- 2470 G=5+INT(100*RND(1))
- 2480 IF RND(1)<.15 THEN 2510
- 2490 G=INT(24*(1-RND(1)^2))
- 2500 IF G=0 THEN 2570
- 2510 B=B+G
- 2520 PRINT " AND RUN BACK...";
- 2530 L=1
- 2540 IF B>99 THEN 1730
- 2550 PRINT " TO ";
- 2560 GOSUB 3380
- 2570 IF RND(1)>F2 THEN 3340
- 2580 G=0
- 2590 PRINT "**FUMBLE**";
- 2600 GOTO 1490
- 2610 IF S=1 THEN 2640
- 2620 Y=INT(1+3.5*RND(1))
- 2630 RETURN
- 2640 M=INT(55*RND(1)/10.5)+1
- 2650 IF (B1-B)/(5-D)<3 THEN 2670
- 2660 M=INT(6-4*RND(1)^2)
- 2670 IF L*F*60>=C THEN 2750
- 2680 IF D<4 THEN 2630
- 2690 PRINT "I'LL ";
- 2700 IF B<55 THEN 2800
- 2710 IF 0<4*RND(1)-B1+B THEN 2830
- 2720 PRINT "TRY FOR A FIELD GOAL"
- 2730 M=7
- 2740 RETURN
- 2750 IF P(2)*U2<=P(1)*U2 THEN 2680
- 2760 PRINT "TIME OUT"
- 2770 U2=U2-1
- 2780 GOSUB 3600
- 2790 GOTO 2680
- 2800 PRINT "PUNT"
- 2810 M=8
- 2820 RETURN
- 2830 PRINT "GO FOR IT"
- 2840 RETURN
- 2850 IF X<4 THEN 2910
- 2860 IF P(1)=P(2) THEN 2910
- 2870 PRINT "THE GAME IS OVER"
- 2880 PRINT "FINAL ";
- 2890 GOSUB 2200
- 2900 STOP
- 2910 PRINT "END OF PERIOD";X
- 2920 GOSUB 2200
- 2930 F=1-F
- 2940 GOSUB 3600
- 2950 C=900
- 2960 X=X+1
- 2970 IF F<>0 THEN 890
- 2980 S=3-K
- 2990 GOTO 660
- 3000 IF T1=0 THEN 2850
- 3010 PRINT "2 MINUTE WARNING"
- 3020 GOSUB 3600
- 3030 T1=0
- 3040 C=120
- 3050 GOTO 960
- 3060 B1=B+10
- 3070 IF B1<=100 THEN 3090
- 3080 B1=100
- 3090 RETURN
- 3100 Q=1.3*(A*RND(1)-1)-.06
- 3110 A=1
- 3120 IF Q>=0 THEN 3150
- 3130 A=0
- 3140 Q=-Q
- 3150 M1=M-1
- 3160 G=D(A,M1)+FNT(Q)*(D(2,M1)-D(A,M1))/3.5
- 3170 G=G+INT(RND(1)+.02)*A*100*RND(1)
- 3180 G=INT(G)
- 3190 RETURN
- 3200 D=D+1
- 3210 IF D=5 THEN 3320
- 3220 IF D<> 1 THEN 3240
- 3230 PRINT "1ST";
- 3240 IF D<>2 THEN 3260
- 3250 PRINT "2ND";
- 3260 IF D<>3 THEN 3280
- 3270 PRINT "3RD";
- 3280 IF D<4 THEN 3300
- 3290 PRINT "4TH";
- 3300 PRINT " AND";B1-B;" ";
- 3310 GOTO 890
- 3320 S=3-S
- 3330 B=100-B
- 3340 IF S=2 THEN 850
- 3350 PRINT "MY ";
- 3360 GOTO 860
- 3370 PRINT "BALL ON ";
- 3380 IF B=50 THEN 3480
- 3390 V=50-ABS(B-50)
- 3400 C=C-INT(7+3*RND(1))
- 3410 IF S=1 THEN 3500
- 3420 IF B<50 THEN 3450
- 3430 PRINT "MY ";
- 3440 GOTO 3460
- 3450 PRINT "YOUR ";
- 3460 PRINT V
- 3470 RETURN
- 3480 PRINT "THE 50"
- 3490 RETURN
- 3500 IF B<50 THEN 3430
- 3510 GOTO 3450
- 3520 IF S=2 THEN 3550
- 3530 PRINT "YOU";
- 3540 GOTO 3560
- 3550 PRINT "I";
- 3560 PRINT " KICK OFF."
- 3570 F2=.06
- 3580 Z2=0
- 3590 RETURN
- 3600 L=0
- 3610 PRINT "TIMEOUT CALLED..."
- 3620 PRINT
- 3630 RETURN
- 3640 IF U=0 THEN 3680
- 3650 U=U-1
- 3660 GOSUB 3600
- 3670 GOTO 3690
- 3680 PRINT "..WRONG, TRY AGAIN"
- 3690 INPUT A
- 3700 IF ABS(INT(A))>17 THEN 3680
- 3710 Q=R(INT(ABS(A)))
- 3720 IF Q=0 THEN 3680
- 3730 IF Q=100 THEN 3640
- 3740 RETURN
- 3750 DATA .5,-2,.25,4,.5,13,.55
- 3760 DATA .4,-2,.3,7,.65,15,.75
- 3770 DATA .4,-2,.3,6,.6,15,.35
- 3780 DATA .65,-2,.65,6,.6,17,.9
- 3790 DATA .4,2,.7,10,.4,27,.2
- 3800 DATA .1,19,.4,35,.2,100,.1
- 3810 END
-