home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / gam / boxer.ba < prev    next >
Text File  |  2006-10-19  |  12KB  |  247 lines

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