1 REM FTBALL.BA (C) 11/87 FRED BROWN [73267,2450] 2 CLS:CLEAR 1000:DEFINTA-Z:DEFSNGT:DIMF(38,14),T(10,10) 3 VP$=CHR$(27)+"p":VQ$=CHR$(27)+"q":SP$=SPACE$(10) 4 TM$(1)="RED ":TM$(2)="BLUE":L$(1)=">":L$(2)="<":F$="I--I" 5 QR=1:DN=1:TM=15:BA=20:SR=0:SB=0:TR=3:TB=3:TA=1 6 PRINT@170,"YOU ARE THE RED TEAM" 7 FORY=6TO14 8 IFY>6ANDY<14THENRESTORE221 9 FORX=2TO38:READF(X,Y) 10 POKE61191,X:POKE61190,Y:PRINTCHR$(F(X,Y)) 11 NEXT:NEXT 12 FORI=1TO9:READOP$(I):NEXT 13 FORI=1TO8:READDP$(I):NEXT 14 FORI=1TO10:READPN$(I),P(I):NEXT 15 FORI=1TO7:FORJ=1TO6:READT(I,J):NEXT:NEXT 16 PRINT@0,"QUARTER:":PRINT@40,"BALL ON:" 17 PRINT@40,"BALL ON:":PRINT@30,"+SCORE+" 18 PRINT@13,"TIME:":PRINT@70,"RED:" 19 PRINT@80,"DOWN:":PRINT@110,"BLUE:":PRINT@93,"RED TO:" 20 PRINT@120,"TO GO:":PRINT@133,"BLUE TO:" 21 FORI=1TO4:PRINT@I*40+242,MID$(TM$(1),I,1):PRINT@I*40+276,MID$(TM$(2),I,1):NEXT 22 PO=2:DR=2:BY=10:BA=65 23 M$="OPENING KICKOFF!":GOSUB149:GOSUB151:GOSUB165 24 REM MAIN PROGRAM 25 BX=BA/100*31+5:BB=0:O=1:D=1 26 POKE61191,BX:POKE61190,BY:PRINTL$(PO):GOSUB151 27 M$=TM$(PO)+" HAS POSSESION":GOSUB149:PRINT@570,SPACE$(30); 28 TY=0:IFDN=4THENIFABS(FD-BA)<5THENIFRND(1)>.8THENTY=1:GOTO33 29 IFDN=4THENIFPO=2THEN57 30 IFTTTHENTT=0:GOTO33 31 IFPO=1THEN33 32 IFTM<2THENIFTB>0THENIF(QR=2ORQR=4)THENO=9:TT=1:GOTO64 33 ONPOGOTO34,41 34 PRINT@570,"SELECT OFFENSE ";CHR$(152);CHR$(153); 35 I$=INKEY$:IFI$=""THEN35 36 IFASC(I$)=30THENO=O-1:IFO<1THENO=9 37 IFASC(I$)=31THENO=O+1:IFO=10THENO=1 38 IFASC(I$)=13THENM$=OP$(O):GOSUB149:GOTO48 39 PRINT@570,VP$;" "+OP$(O);VQ$;SP$ 40 GOTO35 41 PRINT@570,"SELECT DEFENSE ";CHR$(152);CHR$(153); 42 I$=INKEY$:IFI$=""THEN42 43 IFASC(I$)=30THEND=D-1:IFD<1THEND=7 44 IFASC(I$)=31THEND=D+1:IFD=8THEND=1 45 IFASC(I$)=13THENM$=DP$(D):GOSUB149:GOTO48 46 PRINT@570,VP$;" "+DP$(D);VQ$;SP$ 47 GOTO42 48 IFO=7ORO=8THEN68 49 ONPOGOTO50,57 50 D=RND(1)*6+2 51 IFDR=1THENIFBA>80THEND=RND(1)*4+1 52 IFDR=2THENIFBA<20THEND=RND(1)*4+1 53 FORI=1TOD 54 PRINT@570,VP$;" "+DP$(I);VQ$;SP$ 55 FORDU=1TO300:NEXT 56 NEXT:GOTO68 57 IFTYTHENO=RND(1)*5+1:GOTO64 58 O=RND(1)*5+2 59 IFDR=1THENIFBA>70THENO=RND(1)*5+1 60 IFDR=2THENIFBA<30THENO=RND(1)*5+1 61 IFDN=4THENO=7 62 IFDN=4THENIFDR=1THENIFBA<50THENO=8 63 IFDN=4THENIFDR=2THENIFBA>50THENO=8 64 FORI=1TOO 65 PRINT@570,VP$;" "+OP$(I);VQ$;SP$ 66 FORDU=1TO300:NEXT 67 NEXT 68 PRINT@560,T(D,O) 69 IFO=9THENGOSUB199:GOTO24 70 IFRND(1)>.95THENFL=1 71 ONOGOSUB73,77,83,89,93,100,107,119 72 GOTO132 73 TS=.5 74 IFRND(1)>.99THENGOSUB127:RETURN 75 IFRND(1)>T(D,O)THENGOSUB124:RETURN 76 BB=RND(1)*6:GOSUB125:RETURN 77 TS=.8:IFPO=2THENDC=20ELSEDC=15 78 IFRND(1)>.95THENGOSUB127:RETURN 79 IFRND(1)>T(D,O)THENGOSUB124:RETURN 80 IFDR=1THENIFBY=12THENDC=25 81 IFDR=2THENIFBY=8THENDC=25 82 BB=RND(1)*DC-5:GOSUB125:RETURN 83 TS=.8:IFPO=2THENDC=20ELSEDC=15 84 IFRND(1)>.95THENGOSUB127:RETURN 85 IFRND(1)>T(D,O)THENGOSUB124:RETURN 86 IFDR=1THENIFBY=8THENDC=25 87 IFDR=2THENIFBY=12THENDC=25 88 BB=RND(1)*DC-5:GOSUB125:RETURN 89 TS=.8 90 IFRND(1)>.97THENGOSUB127:RETURN 91 IFRND(1)>T(D,O)THENGOSUB124:RETURN 92 BB=RND(1)*15-2:GOSUB125:RETURN 93 TS=.6:IFPO=2THENT1=.95ELSET1=.90 94 IFRND(1)>T1THENGOSUB130:RETURN 95 IFRND(1)>T(D,O)THENGOSUB124:RETURN 96 BB=RND(1)*25 97 IFDR=1ANDBA+BB>110THEN126 98 IFDR=2ANDBA-BB<-10THEN126 99 M$=STR$(BB)+" YARD PASS":GOSUB149:RETURN 100 TS=.8:IFPO=2THENT2=.90ELSET2=.85 101 IFRND(1)>T2THENGOSUB130:RETURN 102 IFRND(1)>T(D,O)THENGOSUB124:RETURN 103 BB=RND(1)*80+20 104 IFDR=1THENIFBA+BB>110THEN126 105 IFDR=2THENIFBA-BB<-10THEN126 106 M$=STR$(BB)+" YARD PASS":GOSUB149:RETURN 107 TS=.5 108 IFDR=1THENDI=100-BAELSEDI=BA 109 DK=RND(1)*30+20 110 M$=STR$(DK)+" YARD KICK":GOSUB149:GOSUB145 111 IFDK>DITHEN114 112 M$="KICK IS NO GOOD":GOSUB149 113 GOSUB146:GOSUB160:DN=0:RETURN 114 M$="KICK IS GOOD!":GOSUB149 115 IFPO=1THENSR=SR+3ELSESB=SB+3 116 GOSUB151 117 IFDR=1THENBA=35ELSEBA=65 118 GOSUB165:RETURN 119 TS=.5 120 IFRND(1)>.1THEN123 121 M$="BLOCKED PUNT":GOSUB149 122 GOSUB146:GOSUB160:RETURN 123 GOSUB145:GOSUB165:DN=0:RETURN 124 M$="NO GAIN ON PLAY":GOSUB149:RETURN 125 M$="RUSH FOR "+STR$(BB)+" YARDS":GOSUB149:RETURN 126 M$="OUT OF BOUNDS":GOSUB149:BB=0:TS=TS/2:CY=0:GOTO132 127 FL=0:M$="FUMBLE!":GOSUB149 128 IFRND(1)>.5THEN129ELSEGOSUB146:GOSUB160 129 M$=TM$(PO)+" RECOVERS!":GOSUB149:CY=0:RETURN 130 FL=0:M$="INTERCEPTED!":GOSUB149:GOSUB146 131 BB=RND(1)*20:M$="RETURNED "+STR$(BB)+" YARDS":GOSUB149:RETURN 132 REM CYCLE 133 GOSUB145 134 IFFLTHENGOSUB174 135 IFCYTHENBY=RND(1)*3+4:BY=BY*2 136 IFDR=1THENBA=BA+BB 137 IFDR=2THENBA=BA-BB 138 IFBA<1ORBA>99THEN181 139 IFDR=1THENIFBAFDTHENDN=DN+1:ELSEGOSUB160 141 IFDN=5THENGOSUB180 142 TM=TM-RND(1)/2-TS*TA:IFTM<0THENGOSUB203 143 GOSUB151:CY=1:TA=1:GOTO24 144 REM SUBROUTINES 145 POKE61191,BX:POKE61190,BY:PRINTCHR$(F(BX,BY)):RETURN 146 IFPO=1THENPO=2ELSEPO=1 147 IFDR=1THENDR=2ELSEDR=1 148 RETURN 149 PRINT@170,SPACE$(30):PRINT@170,M$ 150 FORDU=1TO1000:NEXT:RETURN 151 IFBA>50THENBR=100-BAELSEBR=BA 152 IFBR<0THENBR=0 153 T1=INT(TM):T2=TM-INT(TM):SN=T2*60 154 IFT1<=0THENT1=0 155 PRINT@49,VP$;BR:PRINT@9,QR 156 PRINT@19,USING"##:##";T1;SN 157 PRINT@87,USING"##";DN:PRINT@75,USING"##";SR 158 PRINT@115,USING"##";SB:PRINT@101,TR:PRINT@141,TB 159 PRINT@127,USING"##";ABS(BA-FD):PRINTVQ$:RETURN 160 M$="1st DOWN - MOVING FLAGS":GOSUB149:DN=1:FL=0 161 FORI=2TO38:POKE61191,I:POKE61190,14:PRINTCHR$(F(I,14)):NEXT 162 IFDR=1THENBF=BA:FD=BA+10 163 IFDR=2THENBF=BA-10:FD=BA-10 164 FX=BF/100*31+5:POKE61191,FX:POKE61190,14:PRINTF$:RETURN 165 POKE63277,PEEK(61983):FL=0:CY=0:BY=10 166 PRINT@170," >>>>>>><<<<<<< " 167 PRINT@570," FOR KICK";:INPUTDU$:PRINT@570,SPACE$(25) 168 DK=RND(1)*40+30:M$=STR$(DK)+" YARD KICK":GOSUB149 169 IFDR=1THENDI=100-BAELSEDI=BA 170 IFDR=1THENIFDK>DITHENBA=80ELSEBA=DK+BA 171 IFDR=2THENIFDK>DITHENBA=20ELSEBA=BA-DK 172 IFBA>50THENBR=100-BAELSEBR=BA 173 M$="BALL ON "+STR$(BR)+" YARD LINE":GOSUB149:GOSUB146:GOSUB160:RETURN 174 M$="FLAG ON THE FIELD":GOSUB149 175 P=RND(1)*10+1:PD=P(P):M$=PN$(P)+":"+STR$(PD):GOSUB149 176 IFDR=2THENIFBA+PD>99THENPD=PD/2:GOSUB179:GOTO176 177 IFDR=1THENIFBA-PD<1THENPD=PD/2:GOSUB179:GOTO177 178 BB=-PD:FL=0:RETURN 179 M$="HALF DISTANCE TO GOAL":GOSUB149:RETURN 180 FL=0:M$="BALL LOST ON DOWNS":GOSUB149:GOSUB146:GOSUB160:RETURN 181 S1=0:S2=0 182 IFDR=1THENIFBA>99THEN186 183 IFDR=1THENIFBA<1THEN194 184 IFDR=2THENIFBA>99THEN194 185 IFDR=2THENIFBA<1THEN186 186 M$="TOUCHDOWN!":GOSUB149 187 IFPO=1THENSR=SR+6ELSESB=SB+6 188 GOSUB151:CV=0:M$="CONVERSION ATTEMPT":GOSUB149 189 M$="ATTEMPT IS NO GOOD" 190 IFRND(1)>.4THEN193 191 M$="ATTEMPT IS GOOD" 192 IFPO=1THENSR=SR+1ELSESB=SB+1 193 GOSUB149:GOSUB151:GOTO197 194 M$="SAFETY!":GOSUB149 195 IFPO=1THENSB=SB+2ELSESR=SR+2 196 GOSUB146:GOSUB151 197 IFDR=1THENBA=35ELSEBA=65 198 GOSUB165:GOTO24 199 IFPO=1THENIFTR=0THENM$="NO TIME-OUTS LEFT":GOSUB149:RETURN 200 IFPO=2THENIFTB=0THENM$="NO TIME-OUTS LEFT":GOSUB149:RETURN 201 IFPO=1THENTR=TR-1ELSETB=TB-1 202 TA=0:RETURN 203 M$="END OF QUARTER #"+STR$(QR):GOSUB149:QR=QR+1:TM=15:GOSUB151 204 IFQR=3THEN207 205 IFQR=5THEN213 206 RETURN 207 M$="START OF SECOND HALF":GOSUB149:M$="CHANGING SIDES":GOSUB149 208 FORI=1TO4 209 PRINT@I*40+242,MID$(TM$(2),I,1) 210 PRINT@I*40+276,MID$(TM$(1),I,1) 211 NEXT 212 L$(1)="<":L$(2)=">":DR=2:PO=1:TR=3:TB=3:GOSUB165:RETURN 213 M$="THAT'S THE END OF THE GAME!":GOSUB149 214 IFSR=SBTHENM$="TIE BALL GAME":GOSUB149:GOTO217 215 IFSR>SBTHENWN=1ELSEWN=2 216 M$=TM$(WN)+" IS THE WINNER":GOSUB149 217 PRINT@570," AGAIN Y/N? ";:DU$=INPUT$(1) 218 IFDU$="Y"THEN2ELSEMENU 219 DATA 235,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231 220 DATA 231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,236 221 DATA 233,32,32,233,32,32,245,32,32,245,32,32,245,32,32,245,32,32,245,32,32,245,32,32 222 DATA 245,32,32,245,32,32,245,32,32,234,32,32,234 223 DATA 237,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232 224 DATA 232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,238 225 DATA SHORT YARDAGE,RUN LEFT,RUN RIGHT,RUN CENTER,SHORT PASS,LONG PASS,FIELD GOAL,PUNT,TIME-OUT 226 DATA GOAL LINE,SLANT LEFT,SLANT RIGHT,TRAP,BLITZ,NICKEL,ZONE,TIME-OUT 227 DATA MOTION,5,CONDUCT,15,HOLDING,10,PERSONAL FOUL,10,TRIPPING,15 228 DATA CLIPPING,15,PROCEDURE,5,DELAY,5,TOO MANY ON FIELD,5,INTERFERENCE,15 229 DATA .3,.5,.5,.4,.8,.8 230 DATA .7,.7,.3,.5,.8,.7 231 DATA .7,.3,.7,.5,.8,.7 232 DATA .5,.6,.6,.3,.7,.8 233 DATA .9,.8,.8,.6,.5,.3 234 DATA .9,.7,.7,.6,.4,.5 235 DATA .9,.8,.8,.7,.3,.4