home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
gam
/
boxer.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
12KB
|
247 lines
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 <ENTER> 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,"<HIT ANY KEY TO CONTINUE>";: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:IFY<V1THENJ(X)="H":GOTO204
199 IFY<V2THENJ(X)="J":GOTO204
200 IFY<V3THENJ(X)="B":GOTO204
201 IFY<V4THENJ(X)="D":GOTO204
202 IFY<V5THENJ(X)="K":GOTO204
203 J(X)="R"
204 IFCR<35ANDX<21ANDY<51THENJ(X)="D":GOTO206
205 IFCR<35ANDX<21ANDY>50THENJ(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