0 'BOXER.BA author unknown 1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 2 DEFSTRL,R,J,Q 3 DIMJ(101) 4 CLS:DR=1:CL=100:CR=CL:IR=CL:IL=CL:KR=1:KL=1:WR=0:WL=0 5 FORX=1TO6:READA1,A2,A3,A4:L(X)=CHR$(A1):R(X)=CHR$(A2):LD(X)=CHR$(A3):RD(X)=CHR$(A4):NEXTX 6 DATA232,232,234,233,235,236,237,238,239,239,239,239,239,239,239,239,237,238,238,237,225,226,227,228 7 FORX=1TO5:READN$(X):NEXTX:DATASLUGGER,KILLER,MAULER,DUKE,CHAMP 8 CLS:PRINT@122,"Set 'CAPS LOCK' in DOWN position":FORX=1TO1500:NEXTX 9 CLS:INPUT "HOW MANY PLAYERS (1-2)";F1:IFF1<1ORF1>2THEN9 10 PRINT" ":INPUT"HOW MANY ROUNDS (1-15)";F2:IFF2<1ORF2>15THEN10 11 PRINT" ":INPUT"SCORING: 1-ROUNDS 2-10 PT MUST";F3:IF F3>2ORF3<1THEN11 12 PRINT" ":INPUT"NAME OF FIGHTER #1";NL$:IFLEN(NL$)>10THENNL$=LEFT$(NL$,10) 13 IFF1=1GOTO15ELSEPRINT" ":INPUT"NAME OF FIGHTER #2";NR$:IFLEN(NR$)>10THENNR$=LEFT$(NR$,10) 14 GOTO17 15 GOSUB245:NR$=N$(INT(RND(1)*5)+1) 16 CLS:PRINT@55,"BY THE WAY....":PRINT@130,"YOU OPPONENT'S NAME IS":PRINT@217,NR$:GOSUB235 17 CLS:PRINT@18,"INPUT YOUR 50 MOVES":PRINT@0,"F=FORWARD":PRINT"R=REVERSE":PRINT"D=DUCK":PRINT"K=BLOCK":PRINT"J=JAB" 18 PRINT"B=BODY PUNCH":PRINT"H=HEAD PUNCH";:LINE(83,0)-(83,63):LINE(84,10)-(239,10) 19 PRINT@98,"PLAYER #1":PRINT@138,NL$:PRINT@218,"MOVE #:" 20 FORX=1TO99STEP2:PRINT@226,(X+1)/2 21 GOSUB241 22 IFQ="F"ORQ="R"ORQ="H"ORQ="B"ORQ="J"ORQ="K"ORQ="D"THENSOUND300,15ELSESOUND5000,20:GOTO21 23 IFX/2=INT(X/2)THEN27ELSEJ(X)=Q:NEXTX 24 PRINT@258,"THAT'S 50 MOVES":GOSUB244:PRINT@258," ":IFF1=1THENGOTO181 25 PRINT@98,"PLAYER #2":PRINT@138," ":PRINT@138,NR$: 26 Q=INKEY$:FORX=2TO100STEP2:PRINT@226,X/2:GOTO21 27 J(X)=Q:NEXTX 28 PRINT@258,"THAT'S 50 MOVES":GOSUB244:Q=INKEY$ 29 CLS:PRINT@123,"HIT TO START ROUND #";DR:GOSUB241:GOTO207 30 FORZ=1TO100:Q=J(Z) 31 IFZ/2=INT(Z/2)THENGOTO47 32 IF(Q="J"ORQ="H"ORQ="B")AND(PR-PL>3)THENQ="F" 33 GOSUB217 34 IFQ="F"ANDPR-PL<4THENGOTO85 35 IFQ="R"ANDPL=13THENGOTO85 36 IF(Q="J"ANDCL=0)OR(Q="H"ANDCL<5)OR(Q="B"ANDCL<3)THENPRINT@294,"TIRED ";:GOSUB239:TT=1:GOTO85 37 IFIL=<0THENGOTO112 38 IFQ="F"THENPL=PL+1:GOSUB61:GOTO85 39 IFQ="R"THENPL=PL-1:GOSUB65:GOTO85 40 IFQ="D"THENGOSUB81:GOTO85 41 IFQ="K"THENGOSUB83:GOTO85 42 IFQ="B"THENGOSUB67 43 IFQ="J"THENGOSUB71 44 IFQ="H"THENGOSUB77 45 ONVRGOSUB64,64,64,64,82,84 46 GOTO85 47 IF(Q="J"ORQ="H"ORQ="B")ANDPR-PL>3THENQ="F" 48 GOSUB217 49 IFQ="F"ANDPR-PL<4THENGOTO85 50 IFQ="R"ANDPR=26THENGOTO85 51 IF(Q="J"ANDCR=0)OR(Q="H"ANDCR<5)OR(Q="B"ANDCR<3)THENPRINT@294," TIRED";:GOSUB239:TT=1:GOTO85 52 IFQ="F"THENPR=PR-1:GOSUB63:GOTO85 53 IFQ="R"THENPR=PR+1:GOSUB66:GOTO85 54 IFQ="D"THENGOSUB82:GOTO85 55 IFQ="K"THENGOSUB84:GOTO85 56 IFQ="B"THENGOSUB69 57 IFQ="J"THENGOSUB74 58 IFQ="H"THENGOSUB79 59 ONVLGOSUB62,62,62,62,81,83 60 GOTO85 61 FORX=1TO5:PRINT@PL-1+((X-1)*40)," "::NEXTX 62 FORX=1TO5:PRINT@PL+((X-1)*40),L(X);" ":NEXTX:PRINT@PL+81,L(6):VL=1:RETURN 63 FORX=1TO5:PRINT@PR+1+((X-1)*40)," "::NEXTX 64 FORX=1TO5:PRINT@PR-2+((X-1)*40)," ";R(X):NEXTX:PRINT@PR+79,R(6):VR=1:RETURN 65 FORX=1TO5:PRINT@PL+1+((X-1)*40)," ":NEXTX:PRINT@PL+82," ":GOTO62 66 FORX=1TO5:PRINT@PR-1+((X-1)*40)," ":NEXTX:PRINT@PR+78," ":GOTO64 67 GOSUB62:PRINT@PL+81,CHR$(231):PRINT@PL+82,CHR$(232):PRINT@PL+83,CHR$(234):GOSUB238:VL=2 68 PRINT@PL+82,CHR$(226):PRINT@PL+81,CHR$(225):RETURN 69 GOSUB64:PRINT@PR+79,CHR$(231):PRINT@PR+78,CHR$(232):PRINT@PR+77,CHR$(233):GOSUB238:VR=2 70 PRINT@PR+78,CHR$(225):PRINT@PR+79,CHR$(226):RETURN 71 GOSUB62:PRINT@PL+81,CHR$(231):IFVR<>6THENPRINT@PL+42,CHR$(232):PRINT@PL+82," ":IFVR<>5THENPRINT@PL+43,CHR$(234) 72 VL=3:GOSUB239:PRINT@PL+81,CHR$(225):IFVR<>6THENPRINT@PL+42," ":PRINT@PL+43," ";:PRINT@PL+82,CHR$(226) 73 RETURN 74 GOSUB64:PRINT@PR+79,CHR$(231):IFVL<>6THENPRINT@PR+38,CHR$(232):PRINT@PR+78," ":IFVL<>5THENPRINT@PR+37,CHR$(233) 75 VR=3:GOSUB239:PRINT@PR+79,CHR$(226):IFVL<>6THENPRINT@PR+38," ":PRINT@PR+78,CHR$(225):PRINT@PR+37,CHR$(235) 76 RETURN 77 GOSUB62:PRINT@PL+81,CHR$(231):IFVR<>6THENPRINT@PL+82," ";:PRINT@PL+42,CHR$(232):IFVR<>5THENPRINT@PL+43,CHR$(234) 78 GOSUB238:VL=4:GOTO72 79 GOSUB64:PRINT@PR+79,CHR$(231):IFVL<>6THENPRINT@PR+38,CHR$(232):PRINT@PR+78," ":IFVL<>5THENPRINT@PR+37,CHR$(233) 80 GOSUB238:VR=4:GOTO75 81 GOSUB62:PRINT@PL," ":PRINT@PL+40," ":PRINT@PL+80,CHR$(235):PRINT@PL+81," ":VL=5:RETURN 82 GOSUB64:PRINT@PR," ":PRINT@PR+40," ":PRINT@PR+80,CHR$(236):PRINT@PR+79," ":VR=5:RETURN 83 PRINT@PL,L(1):PRINT@PL+40,L(2):PRINT@PL+81,CHR$(231):PRINT@PL+41,CHR$(234):VL=6:RETURN 84 GOSUB64:PRINT@PR+79,CHR$(231):PRINT@PR+39,CHR$(233):VR=6:RETURN 85 TM=INT(180-(Z*1.8)):M=INT(TM/60):S=INT(TM-(60*M)):PRINT@270,M:PRINT@275,S; 86 IF(Q="D")OR(Q="K")OR(Q="R")OR(Q="F")THENC=1 87 IFQ="J"THENC=-1:GOTO91 88 IFQ="B"THENC=-3:GOTO93 89 IFQ="H"THENC=-5:GOTO96 90 GOTO99 91 IFTT=1THENGOTO99 92 I=-1:GOTO99 93 IFJ(Z-1)="K"ORTT=1THENGOTO99 94 IFJ(Z-1)="D"THENI=-3:GOTO99 95 I=-2:GOTO99 96 IFJ(Z-1)="D"ORTT=1THENGOTO99 97 IFJ(Z-1)="K"THENI=-3:GOTO99 98 I=-5 99 IFZ/2<>INT(Z/2)THENCL=CL+C:IR=IR+I:GOSUB232:I1=I1+I:GOTO102 100 CR=CR+C:IL=IL+I:I2=I2+I:GOSUB229 101 IFF1=1ANDI<0THENIL=IL-1:I2=I2-1 102 GOSUB238:C=0:VA=0:I=0:TT=0:IFCL>100THENCL=100 103 IFCR>100THENCR=100 104 IFCL<0THENCL=0 105 IFCR<0THENCR=0 106 IFIR>100THENIR=100 107 IFIL>100THENIL=100 108 IFIL<0THENIL=0 109 IFIR<0THENIR=0 110 PRINT@86,CL;" ";:PRINT@114,CR;" ";:PRINT@126,IL;" ";:PRINT@154,IR;" ";:PRINT@295," "; 111 IFIL=0THENGOTO113ELSEIFIR=0GOTO127 112 NEXTZ:GOTO146 113 FORX=1TO5:PRINT@PL+((X-1)*40)," ";:NEXTX:IFPL<17THENPL=17 114 IR=IR+10:IFPL>23THENPL=23 115 FORX=1TO5:PRINT@PL+155+X,LD(X);:NEXTX:PRINT@PL+118,LD(6);:PR=26:GOSUB64:KL=KL+1:IL=10 116 Z=Z+6:IFZ>97THENZ=96 117 TM=INT(180-(Z*1.8)):PRINT@54,"HE'S DOWN":PRINT@253,"THE REFS COUNT":PRINT@293," "; 118 GOSUB245 119 FORX=1TO10:Y=INT((RND(1)*(5+KL))+1):CL=CL+1:CR=CR+1:IFCR>100THENCR=100 120 IFCL>100THENCL=100 121 IFY=1THENGOTO124ELSEPRINT@94,X; 122 GOSUB237 123 NEXTX:Q="L":GOTO141 124 PRINT@54,"HE'S UP !":GOSUB238:CR=CR+5 125 PRINT@PL+156," ";:PRINT@PL+118," "::PRINT@94," "; 126 PRINT@54," ";:PRINT@253," ";:GOSUB62:GOTO112 127 FORX=1TO5:PRINT@PR+((X-1)*40)-3," ";:NEXTX:IFPR>22THENPR=22 128 IL=IL+10:IFPR<15THENPR=15 129 FORX=1TO5:PRINT@PR+159+X,RD(6-X);:NEXTX:PRINT@PR+122,RD(6):PL=13:GOSUB62:KR=KR+1:IR=10 130 Z=Z+6:IFZ>99THENZ=99 131 TM=INT(180-(Z*1.8)):PRINT@56,"HE'S DOWN":PRINT@253,"THE REFS COUNT":PRINT@293," "; 132 GOSUB245 133 FORX=1TO10:Y=INT((RND(1)*(5+KR))+1):CR=CR+1:CL=CL+1:IFCL>100THENCL=100 134 IFCR>100THENCR=100 135 IFY=1THENGOTO138ELSEPRINT@102,X; 136 GOSUB237 137 NEXTX:Q="R":GOTO141 138 PRINT@56,"HE'S UP !":GOSUB238:CL=CL+5 139 PRINT@PR+160," ";:PRINT@PR+122," ":PRINT@102," "; 140 PRINT@56," ";:PRINT@253," ";:GOSUB64:GOTO112 141 CLS:PRINT@50,"THE FIGHT IS OVER !" 142 IFQ="L"THENPRINT@140-((LEN(NR$)+14)/2),NR$; 143 IFQ="R"THENPRINT@140-((LEN(NL$)+14)/2),NL$; 144 PRINT" IS THE WINNER" 145 FORX=1TO4000:NEXTX:MENU 146 FORX=1TO10:SOUND500,1:SOUND700,1:NEXTX:FORX=1TO5:PRINT@PL+((X-1)*40)," ";:PRINT@PR-2+((X-1)*40)," ";:NEXTX 147 PL=13:PR=26:KJ=1:GOSUB213:PRINT@PR+160,CHR$(144):KJ=0:PRINT@15,"ROUND OVER";:GOSUB235:I1=ABS(I1):I2=ABS(I2) 148 CLS:PRINT@0,"THE ROUND IS OVER!":IFI1>I2THENPRINT@40,NL$;" WON THE ROUND" 149 IFI2>I1THENPRINT@40,NR$;" WON THE ROUND" 150 IFI1=I2THENPRINT@40,"THE ROUND WAS A DRAW" 151 CL=CL+30:IFCL>100THENCL=100 152 CR=CR+30:IFCR>100THENCR=100 153 IL=IL+30:IR=IR+30:DR=DR+1:IFDR>F2THENGOTO173ELSEIFIR>100THENIR=100 154 IFIL>100THENIL=100 155 IFF3=2THENGOTO163 156 IFI1>I2THENWL=WL+1 157 IFI2>I1THENWR=WR+1 158 IFI1=I2THENWR=WR+.5:WL=WL+.5 159 PRINT@120,"NAME","RDS WON CONDTN INJURY" 160 PRINT@160,NL$:PRINT@175,"";:PRINTUSING"####";WL:PRINT@186,"";:PRINTUSING"####";CL:PRINT@195,"";:PRINTUSING"####";IL 161 PRINT@200,NR$:PRINT@215,"";:PRINTUSING"####";WR:PRINT@226,"";:PRINTUSING"####";CR:PRINT@235,"";:PRINTUSING"####";IR 162 GOTO167 163 IFI1>I2THENWL=WL+10:WR=WR+10-(INT(I1/10)-INT(I2/10)) 164 IFI2>I1THENWR=WR+10:WL=WL+10-(INT(I2/10)-INT(I1/10)) 165 IFI1=I2THENWR=WR+10:WL=WL+10 166 PRINT@120,"NAME","POINTS CONDTN INJURY":GOTO160 167 PRINT@240,"COMING UP: ROUND";DR;" OF";F2:PRINT@280,"";:Q=INKEY$ 168 GOSUB241 169 IFIR>100THENIR=100 170 IFIL>100THENIL=100 171 I1=0:I2=0 172 GOTO17 173 CLS:PRINT"THE FIGHT IS OVER !":PRINT"IT HAS GONE THE FULL";F2;" ROUNDS.":IFF3=1THENGOTO176 174 PRINT" ":PRINT"SCORING BY 10 POINT MUST SYSTEM":PRINT"NAME","POINTS":PRINTNL$,WL:PRINTNR$,WR 175 GOTO177 176 PRINT" ":PRINT"SCORING BY ROUNDS":PRINT"NAME","RDS WON":PRINTNL$,WL:PRINTNR$,WR 177 PRINT" ":IFWR>WLTHENPRINTNR$;" IS THE WINNER !":GOTO180 178 IFWL>WRTHENPRINTNL$;" IS THE WINNER !":GOTO180 179 PRINT"IT IS A DRAW !" 180 GOTO145 181 CLS:PRINT" ":PRINT"THE COMPUTER IS NOW SELECTING":PRINT@90,"IT'S MOVES" 182 IF DR=1THENGOSUB245:Y2=INT(RND(1)*3)+1:GOTO189 183 IFCR<35THENY2=3:GOTO189 184 IFIR<35THENY2=3:GOTO189 185 V=CR-CL+(2*(IR-IL)):IFV<0THENY2=3 186 IFV<20THENY2=2 187 IFV>19THENY2=1 188 IFCL<35THENY2=Y2-1:IFY2=0THENY2=1 189 PRINT" ":PRINTNR$;"'S COACH SAYS BE ";:IFY2=1THENPRINT"AGGRESIVE" 190 IFY2=2THENPRINT"NORMAL" 191 IFY2=3THENPRINT"DEFENSIVE" 192 PRINT" ":PRINT"ONE MOMENT PLEASE........." 193 ONY2GOTO194,195,196 194 V1=48:V2=52:V3=80:V4=98:V5=96:GOTO197 195 V1=38:V2=44:V3=76:V4=86:V5=96:GOTO197 196 V1=32:V2=38:V3=60:V4=78:V5=96 197 GOSUB245 198 FORX=2TO100STEP2:Y=INT(RND(1)*100)+1:IFY50THENJ(X)="K" 206 NEXTX:GOTO29 207 CLS:M=2:S=59:PL=13:PR=26:LINE(0,40)-(239,40):LINE(75,0)-(75,40):LINE(164,0)-(164,40):KR=KR-1:KL=KL-1:IFK<0THENKR=0 208 PRINT@1,NL$;:PRINT@29,NR$:PRINT@81,"CDTN:";CL:PRINT@109,"CDTN:";CR:PRINT@121,"INJR:";IL:PRINT@149,"INJR:";IR 209 PRINT@241,"ROUND:";DR:PRINT@269,"M";M:PRINT@274,"S";S;:IFKL<0THENKL=0 210 LINE(4,46)-(60,46):LINE(4,56)-(60,56):LINE(4,46)-(4,56):LINE(60,46)-(60,56) 211 LINE(170,46)-(234,46):LINE(170,56)-(234,56):LINE(170,46)-(170,56):LINE(234,46)-(234,56) 212 FORX=80TO160STEP6:LINE(X,41)-(X,42):NEXTX 213 GOSUB242:GOSUB243 214 PRINT@PL+121,CHR$(227):PRINT@PR+119,CHR$(228):PRINT@PL+161,L(5):PRINT@PR+159,R(5):PRINT@PL+160,CHR$(144) 215 IFKJ=1THENRETURN 216 PRINT@PR+160,CHR$(144):GOSUB235:GOSUB244:GOSUB65:GOSUB66:GOTO30 217 IFZ/2=INT(Z/2)THENPRINT@261," ";ELSEPRINT@254," "; 218 PRINT@294," "; 219 IFQ="H"THENQ1="HEAD ":VA=1 220 IFQ="J"THENQ1="JAB ":VA=1 221 IFQ="B"THENQ1="BODY ":VA=1 222 IFQ="F"THENQ1="FRWD " 223 IFQ="R"THENQ1="REVRS" 224 IFQ="D"THENQ1="DUCK " 225 IFQ="K"THENQ1="BLOCK" 226 IFZ/2=INT(Z/2)THENGOTO228 227 PRINT@254,Q1;" ";:RETURN 228 PRINT@254," ";Q1;:RETURN 229 IFTT=1ORVA<>1THENRETURN 230 IFI<0THENPRINT@301,"HIT!";ELSEPRINT@301,"MISS"; 231 RETURN 232 IFTT=1ORVA<>1THENRETURN 233 IFI<0THENPRINT@294,"HIT!";ELSEPRINT@294,"MISS"; 234 RETURN 235 X1=X1+500 236 X1=X1+300 237 X1=X1+100 238 X1=X1+70 239 X1=X1+30 240 FORXX=1TOX1:NEXTXX:X1=0:RETURN 241 Q=INKEY$:IFQ=""THEN241ELSERETURN 242 FORX=1TO5:PRINT@PL+((X-1)*40),L(X):NEXTX:PRINT@PL+81,L(6):RETURN 243 FORX=1TO5:PRINT@PR+((X-1)*40),R(X):NEXTX:PRINT@PR+79,R(6):RETURN 244 FORX=1TO10:SOUND500,1:SOUND700,1:NEXTX:RETURN 245 Y=VAL(RIGHT$(TIME$,2)):FORX=1TOY:Y1=RND(1):NEXTX:RETURN