From 8012bf857a35d895091947354a36f4e7d18c69e7 Mon Sep 17 00:00:00 2001 From: Renaud Fivet Date: Wed, 29 May 2024 12:55:50 +0800 Subject: [PATCH] Add FOTBAL and SALVO. --- dec/FOTBAL.BAS | 185 +++++++++++++++++++++++++++ dec/SALVO.BAS | 327 ++++++++++++++++++++++++++++++++++++++++++++++++ port/FOTBAL.BAS | 181 +++++++++++++++++++++++++++ 3 files changed, 693 insertions(+) create mode 100644 dec/FOTBAL.BAS create mode 100644 dec/SALVO.BAS create mode 100644 port/FOTBAL.BAS diff --git a/dec/FOTBAL.BAS b/dec/FOTBAL.BAS new file mode 100644 index 0000000..aab7128 --- /dev/null +++ b/dec/FOTBAL.BAS @@ -0,0 +1,185 @@ +1 REM PROGRAM WRITTEN BY RAYMOND W. MISEYKA +2 REM SENIOR AT BUTLER SENIOR HIGH SCHOOL +3 REM BUTLER, PENNSYLVANIA 16001 +4 REM DATE: 1/30/73 +5 REM COMPUTER SUPERVISION- MR. WILLIAM ELLIS +6 REM COMPUTER TOPICS INSTRUCTION- MR. ALBERT STEWERT +7 REM I WROTE THIS PROGRAM BECAUSE OF THE CHALLENGE +8 REM INVOLVED IN OVERCOMING THE COMPLEXITIES OF SUCH A GAME +9 REM +10 REM +100 RANDOMIZE +120 DIM A(20),B(20),C(40),H(2),T(2),W(2),X(2),Y(2),Z(2) +130 DIM M$(2),D(2) +140 PRINT "RAMIS ENTERPRISES PRESENTS N.F.U. FOOTBALL(NO FORTRAN USED)" +145 PRINT\PRINT +150 PRINT "DO YOU WISH INSTRUCTIONS?";\INPUT A$ +160 IF A$="NO" THEN 290\IF A$<>"YES" THEN 150 +170 PRINT "THIS IS A GAME FOR 2 TEAMS IN WHICH EACH PLAYER MUST" +180 PRINT "PREPARE A TAPE WITH A DATA STATEMENT(1770 FOR TEAM 1" +190 PRINT "1780 FOR TEAM 2)IN WHICH EACH TEAM SCRAMBLES NOS. 1-20" +195 PRINT "THESE NUMBERS ARE THEN ASSIGNED TO 20 GIVEN PLAYS." +200 PRINT "A LIST OF NOS. AND THEIR PLAYS IS PROVIDED WITH" +210 PRINT "BOTH TEAMS HAVING THE SAME PLAYS. THE MORE SIMILAR THE" +220 PRINT "PLAYS THE LESS YARDAGE GAINED. SCORES ARE GIVEN" +223 PRINT "WHENEVER SCORES ARE MADE. SCORES MAY ALSO BE OBTAINED" +225 PRINT "BY INPUTING 99,99 FOR PLAY NOS. TO PUNT OR ATTEMPT A" +227 PRINT "FIELDGOAL, INPUT 77,77 FOR PLAY NOS.. QUESTIONS WILL BE" +230 PRINT "ASKED THEN. ON 4TH DOWN YOU WILL ALSO BE ASKED WHETHER" +240 PRINT "YOU WANT TO PUNT OR ATTEMPT A FIELD GOAL. IF THE ANSWER" +250 PRINT "TO BOTH QUESTIONS IS NO, IT WILL BE ASSUMED YOU WANT TO" +260 PRINT "TRY AND GAIN YARDAGE. ANSWER ALL QUESTIONS YES OR NO." +270 PRINT "GAME IS PLAYED UNTIL PLAYERS TERMINATE (CONTROL-C)." +280 PRINT "PLEASE PREPARE A TAPE AND RUN."\STOP +290 PRINT\PRINT "INPUT SCORE LIMIT ON GAME";\INPUT E +300 FOR I=1 TO 40\READ N\IF I>20 THEN 350 +330 A(N)=I\GOTO 360 +350 B(N)=I-20 +360 C(I)=N\NEXT I +380 L=0\T=1 +410 PRINT "TEAM"T"PLAY CHART" +420 PRINT "NO. PLAY"\PRINT +430 PRINT C(1+L);TAB(6);"PITCHOUT" +440 PRINT C(2+L);TAB(6);"TRIPLE REVERSE" +450 PRINT C(3+L);TAB(6);"DRAW" +460 PRINT C(4+L);TAB(6);"QB SNEAK" +470 PRINT C(5+L);TAB(6);"END AROUND" +480 PRINT C(6+L);TAB(6);"DOUBLE REVERSE" +490 PRINT C(7+L);TAB(6);"LEFT SWEEP" +500 PRINT C(8+L);TAB(6);"RIGHT SWEEP" +510 PRINT C(9+L);TAB(6);"OFF TACKLE" +520 PRINT C(10+L);TAB(6);"WISHBONE OPTION" +530 PRINT C(11+L);TAB(6);"FLARE PASS" +540 PRINT C(12+L);TAB(6);"SCREEN PASS" +550 PRINT C(13+L);TAB(6);"ROLL OUT OPTION" +560 PRINT C(14+L);TAB(6);"RIGHT CURL" +570 PRINT C(15+L);TAB(6);"LEFT CURL" +580 PRINT C(16+L);TAB(6);"WISHBONE OPTION" +590 PRINT C(17+L);TAB(6);"SIDELINE PASS" +600 PRINT C(18+L);TAB(6);"HALF-BACK OPTION" +610 PRINT C(19+L);TAB(6);"RAZZLE-DAZZLE" +620 PRINT C(20+L);TAB(6);"BOMB!!!!!!!!" +630 L=L+20\T=2 +640 PRINT\PRINT "TEAR OFF HERE ----------------------------------------- +------" +660 FOR X=1 TO 11\PRINT\NEXT X +670 FOR Z=1 TO 3000\NEXT Z +680 IF L=20 THEN 410 +690 D(1)=0\D(2)=3\M$(1)="--->"\M$(2)="<---" +700 H(1)=0\H(2)=0\T(1)=2\T(2)=1 +710 W(1)=-1\W(2)=1\X(1)=100\X(2)=0 +720 Y(1)=1\Y(2)=-1\Z(1)=0\Z(2)=100 +725 GOSUB 1910 +730 PRINT "TEAM 1 DEFENDS 0 YD. GOAL--TEAM 2 DEFENDS 100 YD. GOAL" +740 T=INT(2*RND(O)+1) +760 PRINT\PRINT "THE COIN IS FLIPPED" +765 P=X(T)-Y(T)*40 +770 GOSUB 1860\PRINT\PRINT "TEAM"T"RECEIVES KICK-OFF" +780 K=INT(26*RND(O)+40) +790 P=P-Y(T)*K +794 IF W(T)*P"NO" THEN 830 +850 IF W(T)*P1 THEN 900 +895 IF Y(T)*(P+Y(T)*10)>=X(T) THEN 898 +897 C=4\GOTO 900 +898 C=8 +900 IF C=8 THEN 904 +901 PRINT TAB(27);10-(Y(T)*P-Y(T)*S);"YARDS TO 1ST DOWN" +902 GOTO 910 +904 PRINT TAB(27);X(T)-Y(T)*P;"YARDS TO GO" +910 GOSUB 1900\IF D=4 THEN 1180 +920 RANDOMIZE +930 U=INT(3*RND(O)-1)\GOTO 940 +936 PRINT "ILLEGAL PLAY NUMBER, CHECK AND" +940 PRINT "INPUT OFFENSIVE PLAY, DEFENSIVE PLAY"; +950 IF T=2 THEN 970 +960 INPUT P1,P2\GOTO 975 +970 INPUT P2,P1 +975 IF P1=77 THEN 1180 +980 IF P1>20 THEN 1800\IF P1<1 THEN 1800 +990 IF P2>20 THEN 1800\IF P2<1 THEN 1800 +995 P1=INT(P1)\P2=INT(P2) +1000 Y=INT(ABS(A(P1)-B(P2))/19*((X(T)-Y(T)*P+25)*RND(O)-15)) +1005 PRINT\IF T=2 THEN 1015 +1010 IF A(P1)<11 THEN 1048\GOTO 1020 +1015 IF B(P2)<11 THEN 1048 +1020 IF U<>0 THEN 1035\PRINT "PASS INCOMPLETE TEAM"T +1030 Y=0\GOTO 1050 +1035 G=RND(O)\IF G>.025 THEN 1040\IF Y>2 THEN 1045 +1040 PRINT "QUARTERBACK SCRAMBLED"\GOTO 1050 +1045 PRINT "PASS COMPLETED"\GOTO 1050 +1048 PRINT "THE BALL WAS RUN" +1050 P=P-W(T)*Y +1060 PRINT\PRINT "NET YARDS GAINED ON DOWN"D"ARE "Y +1070 G=RND(O)\IF G>.025 THEN 1110 +1080 PRINT\PRINT "** LOSS OF POSSESSION FROM TEAM"T"TO TEAM"T(T) +1100 GOSUB 1850\PRINT\T=T(T)\GOTO 830 +1110 IF Y(T)*P>=X(T) THEN 1320 +1120 IF W(T)*P>=Z(T) THEN 1230 +1130 IF Y(T)*P-Y(T)*S>=10 THEN 880 +1140 D=D+1\IF D<>5 THEN 885 +1160 PRINT\PRINT "CONVERSION UNSUCCESSFUL TEAM"T\T=T(T) +1170 GOSUB 1850\GOTO 880 +1180 PRINT "DOES TEAM"T"WANT TO PUNT";\INPUT A$ +1185 IF A$="NO" THEN 1200\IF A$<>"YES" THEN 1180 +1190 PRINT\PRINT "TEAM"T"WILL PUNT"\G=RND(O)\IF G<.025 THEN 1080 +1195 GOSUB 1850\K=INT(25*RND(O)+35)\T=T(T)\GOTO 790 +1200 PRINT "DOES TEAM"T"WANT TO ATTEMPT A FIELD-GOAL";\INPUT A$ +1210 IF A$="YES" THEN 1640\IF A$<>"NO" THEN 1200\GOTO 920 +1230 PRINT\PRINT "SAFETY AGAINST TEAM"T"-------------------OH-OH" +1240 H(T(T))=H(T(T))+2\GOSUB 1810 +1280 PRINT "TEAM"T"DO YOU WANT TO PUNT INSTEAD OF A KICKOFF";\INPUT A$ +1290 P=Z(T)-W(T)*20\IF A$="YES" THEN 1190 +1320 PRINT\PRINT "TOUCHDOWN BY TEAM"T"*********************YEA TEAM" +1340 Q=7\G=RND(O)\IF G>.1 THEN 1380 +1360 Q=6\PRINT "EXTRA POINT NO GOOD"\GOTO 1390 +1380 PRINT "EXTRA POINT GOOD" +1390 H(T)=H(T)+Q\GOSUB 1810 +1420 T=T(T)\GOTO 765 +1430 K=INT(9*RND(O)+1) +1440 R=INT(((X(T)-Y(T)*P+25)*RND(O)-15)/K) +1460 P=P-W(T)*R +1480 PRINT\PRINT "RUNBACK TEAM"T;R"YARDS" +1485 RANDOMIZE\G=RND(O)\IF G<.025 THEN 1080 +1490 IF Y(T)*P>=X(T) THEN 1320 +1500 IF W(T)*P>=Z(T) THEN 1230\GOTO 880 +1640 PRINT\PRINT "TEAM"T"WILL ATTEMPT A FIELDGOAL" +1645 RANDOMIZE\G=RND(O)\IF G<.025 THEN 1080 +1650 F=INT(35*RND(O)+20) +1660 PRINT\PRINT "KICK IS"F"YARDS LONG" +1680 P=P-W(T)*F\RANDOMIZE\G=RND(O) +1690 IF G<.35 THEN 1735 +1700 IF Y(T)*P99 THEN 936 +1810 PRINT\PRINT "TEAM 1 SCORE IS"H(1) +1820 PRINT "TEAM 2 SCORE IS"H(2)\PRINT +1825 IF H(T)10THEN1260 +1310IFY+V*FNB(K)<1THEN1260 +1320IFX+V2*FNB(K)>10THEN1260 +1330IFX+V2*FNB(K)<1THEN1260 +1340LETU6=U6+1 +1350IFU6>25THEN1190 +1360FORZ=0TOFNB(K) +1370LETF(Z+FNA(K))=X+V2*Z +1380LETG(Z+FNA(K))=Y+V*Z +1390NEXTZ +1400LETU8=FNA(K) +1410FORZ2=U8TOU8+FNB(K) +1420FORZ3=1TOU8-1 +1430IFSQR((F(Z3)-F(Z2))^2+(G(Z3)-G(Z2))^2)<3.59THEN1260 +1440NEXTZ3 +1450NEXTZ2 +1460FORZ=0TOFNB(K) +1470LETA(F(Z+U8),G(Z+U8))=.5+SGN(K-1)*(K-1.5) +1480NEXTZ +1490NEXTK +1500PRINT"ENTER COORDINATES FOR..." +1510PRINT"BATTLESHIP" +1520FORX=1TO5 +1530INPUTY,Z +1540LETB(Y,Z)=3 +1550NEXT X +1560PRINT"CRUISER" +1570FORX=1TO3 +1580INPUTY,Z +1590LETB(Y,Z)=2 +1600NEXTX +1610PRINT"DESTROYER" +1620FORX=1TO2 +1630INPUTY,Z +1640LETB(Y,Z)=1 +1650NEXTX +1660PRINT"DESTROYER" +1670FORX=1TO2 +1680INPUTY,Z +1690LETB(Y,Z)=.5 +1700NEXTX +1710PRINT"DO YOU WANT TO START"; +1720INPUTJ$ +1730IFJ$<>"WHERE ARE YOUR SHIPS?"THEN1890 +1740PRINT"BATTLESHIP" +1750FORZ=1TO5 +1760PRINTF(Z);G(Z) +1770NEXTZ +1780PRINT"CRUISER" +1790PRINTF(6);G(6) +1800PRINTF(7);G(7) +1810PRINTF(8);G(8) +1820PRINT"DESTROYER" +1830PRINTF(9);G(9) +1840PRINTF(10);G(10) +1850PRINT"DESTROYER" +1860PRINTF(11);G(11) +1870PRINTF(12);G(12) +1880GOTO1710 +1890LETC=0 +1900PRINT"DO YOU WANT TO SEE MY SHOTS"; +1910INPUTK$ +1920PRINT +1930IFJ$<>"YES"THEN2620 +1940REM**************START +1950IFJ$<>"YES"THEN1990 +1960LETC=C+1 +1970PRINT +1980PRINT"TURN"C +1990LETA=0 +2000FORW=.5TO3STEP.5 +2010FORX=1TO10 +2020FORY=1TO10 +2030IFB(X,Y)=WTHEN2070 +2040NEXTY +2050NEXTX +2060GOTO2080 +2070LETA=A+INT(W+.5) +2080NEXTW +2090FORW=1TO7 +2100LETC(W)=0 +2110LETD(W)=0 +2120LETF(W)=0 +2130LETG(W)=0 +2140NEXTW +2150LETP3=0 +2160FORX=1TO10 +2170FORY=1TO10 +2180IFA(X,Y)>10THEN2200 +2190LETP3=P3+1 +2200NEXTY +2210NEXTX +2220PRINT"YOU HAVE"A"SHOTS" +2230IFP3>=ATHEN2260 +2240PRINT"THE NUMBER OF YOUR SHOTS EXCEEDS THE NUMBER OF BLANK SQUARES" +2250GOTO2890 +2260IFA<>0THEN2290 +2270PRINT"I HAVE WON" +2280STOP +2290FORW=1TOA +2300INPUTX,Y +2310IFX<>INT(X)THEN2370 +2320IFX>10THEN2370 +2330IFX<1THEN2370 +2340IFY<>INT(Y)THEN2370 +2350IFY>10THEN2370 +2360IFY>=1THEN2390 +2370PRINT"ILLEGAL, ENTER AGAIN" +2380GOTO2300 +2390IFA(X,Y)>10THEN2440 +2400LETC(W)=X +2410LETD(W)=Y +2420NEXTW +2430GOTO2460 +2440PRINT"YOU SHOT THERE BEFORE ON TURN"A(X,Y)-10 +2450GOTO2300 +2460FORW=1TOA +2470IFA(C(W),D(W))=3THEN2540 +2480IFA(C(W),D(W))=2THEN2560 +2490IFA(C(W),D(W))=1THEN2580 +2500IFA(C(W),D(W))=.5THEN2600 +2510LETA(C(W),D(W))=10+C +2520NEXTW +2530GOTO2620 +2540PRINT"YOU HIT MY BATTLESHIP" +2550GOTO2510 +2560PRINT"YOU HIT MY CRUISER" +2570GOTO2510 +2580PRINT"YOU HIT MY DESTROYER" +2590GOTO2510 +2600PRINT"YOU HIT MY DESTROYER" +2610GOTO2510 +2620LETA=0 +2630IFJ$="YES"THEN2670 +2640LETC=C+1 +2650PRINT +2660PRINT"TURN"C +2670LETA=0 +2680FORW=.5TO3.1STEP.5 +2690FORX=1TO10 +2700FORY=1TO10 +2710IFA(X,Y)=WTHEN2750 +2720NEXTY +2730NEXTX +2740GOTO2760 +2750LETA=A+INT(W+.5) +2760NEXTW +2770LETP3=0 +2780FORX=1TO10 +2790FORY=1TO10 +2800IFB(X,Y)>10THEN2820 +2810LETP3=P3+1 +2820NEXTY +2830NEXTX +2840PRINT"I HAVE"A"SHOTS" +2850IFP3>ATHEN2880 +2860PRINT"THE NUMBER OF MY SHOTS EXCEEDS THE NUMBER OF BLANK SQUARES" +2870GOTO2270 +2880IFA<>0THEN2960 +2890PRINT"YOU HAVE WON" +2900STOP +2910LETX=INT((RND(-1)*10)+1) +2920LETY=INT((RND(-1)*10)+1) +2930LETV=INT(3*RND(-1)-1) +2940LETV2=INT(3*RND(-1)-1) +2950RETURN +2960FORW=1TO12 +2970IFH(W)>0THEN3800 +2980NEXTW +2990REM**************RANDOM +3000LETW=0 +3010LETR3=0 +3020GOSUB2910 +3030RESTORE +3040LETR2=0 +3050LETR3=R3+1 +3060IFR3>100THEN3010 +3070IFX>10THEN3110 +3080IFX>0THEN3120 +3090LETX=1+INT(RND(-1)*2.5) +3100GOTO3120 +3110LETX=10-INT(RND(-1)*2.5) +3120IFY>10THEN3160 +3130IFY>0THEN3270 +3140LETY=1+INT(RND(-1)*2.5) +3150GOTO3270 +3160LETY=10-INT(RND(-1)*2.5) +3170GOTO3270 +3180LETF(W)=X +3190LETG(W)=Y +3200IFW=ATHEN3380 +3210IFR2=6THEN3030 +3220READX1,Y1 +3230LETR2=R2+1 +3240DATA1,1,-1,1,1,-3,1,1,0,2,-1,1 +3250LETX=X+X1 +3260LETY=Y+Y1 +3270IFX>10THEN3210 +3280IFX<1THEN3210 +3290IFY>10THEN3210 +3300IFY<1THEN3210 +3310IFB(X,Y)>10THEN3210 +3320FORQ9=1TOW +3330IFF(Q9)<>XTHEN3350 +3340IFG(Q9)=YTHEN3210 +3350NEXTQ9 +3360LETW=W+1 +3370GOTO3180 +3380IFK$<>"YES"THEN3420 +3390FORZ5=1TOA +3400PRINTF(Z5);G(Z5) +3410NEXTZ5 +3420FORW=1TOA +3430IFB(F(W),G(W))=3THEN3500 +3440IFB(F(W),G(W))=2THEN3520 +3450IFB(F(W),G(W))=1THEN3560 +3460IFB(F(W),G(W))=.5THEN3540 +3470LETB(F(W),G(W))=10+C +3480NEXTW +3490GOTO1950 +3500PRINT"I HIT YOUR BATTLESHIP" +3510GOTO3570 +3520PRINT"I HIT YOUR CRUISER" +3530GOTO3570 +3540PRINT"I HIT YOUR DESTROYER" +3550GOTO3570 +3560PRINT"I HIT YOUR DESTROYER" +3570FORQ=1TO12 +3580IFE(Q)<>-1THEN3730 +3590LETE(Q)=10+C +3600LETH(Q)=B(F(W),G(W)) +3610LETM3=0 +3620FORM2=1TO12 +3630IFH(M2)<>H(Q)THEN3650 +3640M3=M3+1 +3650NEXTM2 +3660IFM3<>INT(H(Q)+.5)+1+INT(INT(H(Q)+.5)/3)THEN3470 +3670FORM2=1TO12 +3680IFH(M2)<>H(Q)THEN3710 +3690LETE(M2)=-1 +3700LETH(M2)=-1 +3710NEXTM2 +3720GOTO3470 +3730NEXTQ +3740PRINT"PROGRAM ABORT:" +3750FORQ=1TO12 +3760PRINT"E("Q") ="E(Q) +3770PRINT"H("Q") ="H(Q) +3780NEXTQ +3790STOP +3800REM***************USINGEARRAY +3810FORR=1TO10 +3820FORS=1TO10 +3830LETK(R,S)=0 +3840NEXTS +3850NEXTR +3860FORU=1TO12 +3870IFE(U)<10THEN4020 +3880FORR=1TO10 +3890FORS=1TO10 +3900IFB(R,S)<10THEN3930 +3910LETK(R,S)=-1000000 +3920GOTO4000 +3930FORM=SGN(1-R)TOSGN(10-R) +3940FORN=SGN(1-S)TOSGN(10-S) +3950IFN+M+N*M=0THEN3980 +3960IFB(R+M,S+N)<>E(U)THEN3980 +3970LETK(R,S)=K(R,S)+E(U)-2*INT(H(U)+.5) +3980NEXTN +3990NEXTM +4000NEXTS +4010NEXTR +4020NEXTU +4030FORR=1TOA +4040LETF(R)=R +4050LETG(R)=R +4060NEXTR +4070FORR=1TO10 +4080FORS=1TO10 +4090LETQ9=1 +4100FORM=1TOA +4110IFK(F(M),G(M))>=K(F(Q9),G(Q9))THEN4130 +4120LETQ9=M +4130NEXTM +4131 IF R>ATHEN4140 +4132 IF R=S THEN 4210 +4140IFK(R,S)RTHEN4190 +4170IFG(M)=STHEN4210 +4180NEXTM +4190LETF(Q9)=R +4200LETG(Q9)=S +4210NEXTS +4220NEXTR +4230GOTO3380 +4240END diff --git a/port/FOTBAL.BAS b/port/FOTBAL.BAS new file mode 100644 index 0000000..06285f8 --- /dev/null +++ b/port/FOTBAL.BAS @@ -0,0 +1,181 @@ + 1 REM PROGRAM WRITTEN BY RAYMOND W. MISEYKA + 2 REM SENIOR AT BUTLER SENIOR HIGH SCHOOL + 3 REM BUTLER, PENNSYLVANIA 16001 + 4 REM DATE: 1/30/73 + 5 REM COMPUTER SUPERVISION- MR. WILLIAM ELLIS + 6 REM COMPUTER TOPICS INSTRUCTION- MR. ALBERT STEWERT + 7 REM I WROTE THIS PROGRAM BECAUSE OF THE CHALLENGE + 8 REM INVOLVED IN OVERCOMING THE COMPLEXITIES OF SUCH A GAME + 9 REM + 10 REM + 100 RANDOMIZE + 120 DIM A(20),B(20),C(40),H(2),T(2),W(2),X(2),Y(2),Z(2) + 130 DIM M$(2),D(2) + 140 PRINT "RAMIS ENTERPRISES PRESENTS N.F.U. FOOTBALL(NO FORTRAN USED)" + 145 PRINT\PRINT + 150 PRINT "DO YOU WISH INSTRUCTIONS?";\INPUT A$ + 160 IF A$="NO" THEN 290\IF A$<>"YES" THEN 150 + 170 PRINT "THIS IS A GAME FOR 2 TEAMS IN WHICH EACH PLAYER MUST" + 180 PRINT "PREPARE A TAPE WITH A DATA STATEMENT(1770 FOR TEAM 1" + 190 PRINT "1780 FOR TEAM 2)IN WHICH EACH TEAM SCRAMBLES NOS. 1-20" + 195 PRINT "THESE NUMBERS ARE THEN ASSIGNED TO 20 GIVEN PLAYS." + 200 PRINT "A LIST OF NOS. AND THEIR PLAYS IS PROVIDED WITH" + 210 PRINT "BOTH TEAMS HAVING THE SAME PLAYS. THE MORE SIMILAR THE" + 220 PRINT "PLAYS THE LESS YARDAGE GAINED. SCORES ARE GIVEN" + 223 PRINT "WHENEVER SCORES ARE MADE. SCORES MAY ALSO BE OBTAINED" + 225 PRINT "BY INPUTING 99,99 FOR PLAY NOS. TO PUNT OR ATTEMPT A" + 227 PRINT "FIELDGOAL, INPUT 77,77 FOR PLAY NOS.. QUESTIONS WILL BE" + 230 PRINT "ASKED THEN. ON 4TH DOWN YOU WILL ALSO BE ASKED WHETHER" + 240 PRINT "YOU WANT TO PUNT OR ATTEMPT A FIELD GOAL. IF THE ANSWER" + 250 PRINT "TO BOTH QUESTIONS IS NO, IT WILL BE ASSUMED YOU WANT TO" + 260 PRINT "TRY AND GAIN YARDAGE. ANSWER ALL QUESTIONS YES OR NO." + 270 PRINT "GAME IS PLAYED UNTIL PLAYERS TERMINATE (CONTROL-C)." + 280 PRINT "PLEASE PREPARE A TAPE AND RUN."\STOP + 290 PRINT\PRINT "INPUT SCORE LIMIT ON GAME";\INPUT E + 300 FOR I=1 TO 40\READ N\IF I>20 THEN 350 + 330 A(N)=I\GOTO 360 + 350 B(N)=I-20 + 360 C(I)=N\NEXT I + 380 L=0\T=1 + 410 PRINT "TEAM"T"PLAY CHART" + 420 PRINT "NO. PLAY"\PRINT + 430 PRINT C(1+L);TAB(6);"PITCHOUT" + 440 PRINT C(2+L);TAB(6);"TRIPLE REVERSE" + 450 PRINT C(3+L);TAB(6);"DRAW" + 460 PRINT C(4+L);TAB(6);"QB SNEAK" + 470 PRINT C(5+L);TAB(6);"END AROUND" + 480 PRINT C(6+L);TAB(6);"DOUBLE REVERSE" + 490 PRINT C(7+L);TAB(6);"LEFT SWEEP" + 500 PRINT C(8+L);TAB(6);"RIGHT SWEEP" + 510 PRINT C(9+L);TAB(6);"OFF TACKLE" + 520 PRINT C(10+L);TAB(6);"WISHBONE OPTION" + 530 PRINT C(11+L);TAB(6);"FLARE PASS" + 540 PRINT C(12+L);TAB(6);"SCREEN PASS" + 550 PRINT C(13+L);TAB(6);"ROLL OUT OPTION" + 560 PRINT C(14+L);TAB(6);"RIGHT CURL" + 570 PRINT C(15+L);TAB(6);"LEFT CURL" + 580 PRINT C(16+L);TAB(6);"WISHBONE OPTION" + 590 PRINT C(17+L);TAB(6);"SIDELINE PASS" + 600 PRINT C(18+L);TAB(6);"HALF-BACK OPTION" + 610 PRINT C(19+L);TAB(6);"RAZZLE-DAZZLE" + 620 PRINT C(20+L);TAB(6);"BOMB!!!!!!!!" + 630 L=L+20\T=2 + 640 PRINT\PRINT "TEAR OFF HERE -----------------------------------------------" + 660 FOR X=1 TO 11\PRINT\NEXT X + 670 FOR Z=1 TO 3000\NEXT Z + 680 IF L=20 THEN 410 + 690 D(1)=0\D(2)=3\M$(1)="--->"\M$(2)="<---" + 700 H(1)=0\H(2)=0\T(1)=2\T(2)=1 + 710 W(1)=-1\W(2)=1\X(1)=100\X(2)=0 + 720 Y(1)=1\Y(2)=-1\Z(1)=0\Z(2)=100 + 725 GOSUB 1910 + 730 PRINT "TEAM 1 DEFENDS 0 YD. GOAL--TEAM 2 DEFENDS 100 YD. GOAL" + 740 T=INT(2*RND(O)+1) + 760 PRINT\PRINT "THE COIN IS FLIPPED" + 765 P=X(T)-Y(T)*40 + 770 GOSUB 1860\PRINT\PRINT "TEAM"T"RECEIVES KICK-OFF" + 780 K=INT(26*RND(O)+40) + 790 P=P-Y(T)*K + 794 IF W(T)*P"NO" THEN 830 + 850 IF W(T)*P1 THEN 900 + 895 IF Y(T)*(P+Y(T)*10)>=X(T) THEN 898 + 897 C=4\GOTO 900 + 898 C=8 + 900 IF C=8 THEN 904 + 901 PRINT TAB(27);10-(Y(T)*P-Y(T)*S);"YARDS TO 1ST DOWN" + 902 GOTO 910 + 904 PRINT TAB(27);X(T)-Y(T)*P;"YARDS TO GO" + 910 GOSUB 1900\IF D=4 THEN 1180 + 920 RANDOMIZE + 930 U=INT(3*RND(O)-1)\GOTO 940 + 936 PRINT "ILLEGAL PLAY NUMBER, CHECK AND" + 940 PRINT "INPUT OFFENSIVE PLAY, DEFENSIVE PLAY"; + 950 IF T=2 THEN 970 + 960 INPUT P1,P2\GOTO 975 + 970 INPUT P2,P1 + 975 IF P1=77 THEN 1180 + 980 IF P1>20 THEN 1800\IF P1<1 THEN 1800 + 990 IF P2>20 THEN 1800\IF P2<1 THEN 1800 + 995 P1=INT(P1)\P2=INT(P2) +1000 Y=INT(ABS(A(P1)-B(P2))/19*((X(T)-Y(T)*P+25)*RND(O)-15)) +1005 PRINT\IF T=2 THEN 1015 +1010 IF A(P1)<11 THEN 1048\GOTO 1020 +1015 IF B(P2)<11 THEN 1048 +1020 IF U<>0 THEN 1035\PRINT "PASS INCOMPLETE TEAM"T +1030 Y=0\GOTO 1050 +1035 G=RND(O)\IF G>.025 THEN 1040\IF Y>2 THEN 1045 +1040 PRINT "QUARTERBACK SCRAMBLED"\GOTO 1050 +1045 PRINT "PASS COMPLETED"\GOTO 1050 +1048 PRINT "THE BALL WAS RUN" +1050 P=P-W(T)*Y +1060 PRINT\PRINT "NET YARDS GAINED ON DOWN"D"ARE "Y +1070 G=RND(O)\IF G>.025 THEN 1110 +1080 PRINT\PRINT "** LOSS OF POSSESSION FROM TEAM"T"TO TEAM"T(T) +1100 GOSUB 1850\PRINT\T=T(T)\GOTO 830 +1110 IF Y(T)*P>=X(T) THEN 1320 +1120 IF W(T)*P>=Z(T) THEN 1230 +1130 IF Y(T)*P-Y(T)*S>=10 THEN 880 +1140 D=D+1\IF D<>5 THEN 885 +1160 PRINT\PRINT "CONVERSION UNSUCCESSFUL TEAM"T\T=T(T) +1170 GOSUB 1850\GOTO 880 +1180 PRINT "DOES TEAM"T"WANT TO PUNT";\INPUT A$ +1185 IF A$="NO" THEN 1200\IF A$<>"YES" THEN 1180 +1190 PRINT\PRINT "TEAM"T"WILL PUNT"\G=RND(O)\IF G<.025 THEN 1080 +1195 GOSUB 1850\K=INT(25*RND(O)+35)\T=T(T)\GOTO 790 +1200 PRINT "DOES TEAM"T"WANT TO ATTEMPT A FIELD-GOAL";\INPUT A$ +1210 IF A$="YES" THEN 1640\IF A$<>"NO" THEN 1200\GOTO 920 +1230 PRINT\PRINT "SAFETY AGAINST TEAM"T"-------------------OH-OH" +1240 H(T(T))=H(T(T))+2\GOSUB 1810 +1280 PRINT "TEAM"T"DO YOU WANT TO PUNT INSTEAD OF A KICKOFF";\INPUT A$ +1290 P=Z(T)-W(T)*20\IF A$="YES" THEN 1190 +1320 PRINT\PRINT "TOUCHDOWN BY TEAM"T"*********************YEA TEAM" +1340 Q=7\G=RND(O)\IF G>.1 THEN 1380 +1360 Q=6\PRINT "EXTRA POINT NO GOOD"\GOTO 1390 +1380 PRINT "EXTRA POINT GOOD" +1390 H(T)=H(T)+Q\GOSUB 1810 +1420 T=T(T)\GOTO 765 +1430 K=INT(9*RND(O)+1) +1440 R=INT(((X(T)-Y(T)*P+25)*RND(O)-15)/K) +1460 P=P-W(T)*R +1480 PRINT\PRINT "RUNBACK TEAM"T;R"YARDS" +1485 RANDOMIZE\G=RND(O)\IF G<.025 THEN 1080 +1490 IF Y(T)*P>=X(T) THEN 1320 +1500 IF W(T)*P>=Z(T) THEN 1230\GOTO 880 +1640 PRINT\PRINT "TEAM"T"WILL ATTEMPT A FIELDGOAL" +1645 RANDOMIZE\G=RND(O)\IF G<.025 THEN 1080 +1650 F=INT(35*RND(O)+20) +1660 PRINT\PRINT "KICK IS"F"YARDS LONG" +1680 P=P-W(T)*F\RANDOMIZE\G=RND(O) +1690 IF G<.35 THEN 1735 +1700 IF Y(T)*P99 THEN 936 +1810 PRINT\PRINT "TEAM 1 SCORE IS"H(1) +1820 PRINT "TEAM 2 SCORE IS"H(2)\PRINT +1825 IF H(T)