home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpmug / cpmug005.ark / 21.ASC next >
Encoding:
Text File  |  1984-04-29  |  7.1 KB  |  394 lines

  1.  
  2. 100 PRINTCHR$(26)
  3. 101 PRINT"WHAT IS YOUR LUCKY NUMBER (1 TO 25000)"
  4. 102 INPUT LN 
  5. 103 IF LN<1 OR LN>25000 OR LN<>INT(LN) THEN PRINT"FOLLOW INSTRUCTIONS !":GOTO101
  6. 104 LN=LN MOD 97
  7. 105 FORX=1 TO LN:NL=RND(1):NL=RND(X):NEXT
  8. 106 PRINT : PRINT : PRINT
  9. 107 DIM D(208),H(16),O(16),P(16,11),Q(11),S(16),X(16)
  10. 108 PRINT
  11. 109 PRINT"         ***** BLACKJACK *****"
  12. 110 PRINT
  13. 111 PRINT"INSTRUCTIONS (Y=YES; N=NO)"
  14. 112 INPUTM$
  15. 113 IFM$="Y"GOTO115
  16. 114 IFM$<>"N"GOTO111ELSEGOTO116
  17. 115 GOSUB 471
  18. 116 PRINTCHR$(26):R=16
  19. 117 PRINT  "  HOW MANY DECKS? (1-4)";
  20. 118 INPUT N
  21. 119 IF N>0 GOTO 122
  22. 120 PRINT"    1 TO 4 DECKS ONLY!! REENTER ";
  23. 121 GOTO 118
  24. 122 IFN>4GOTO120
  25. 123 E=N*52
  26. 124 GOSUB 282
  27. 125 B=1
  28. 126 GOSUB 289
  29. 127 A=1
  30. 128 PRINT
  31. 129 G=1
  32. 130 PRINT
  33. 131 PRINT
  34. 132 PRINT
  35. 133 PRINT
  36. 134 INPUT"YOUR BET";U
  37. 135 IFU=0GOTO467:IFU<0GOSUB289
  38. 136 PRINTCHR$(26)
  39. 137 PRINT"YOUR BET IS $";U;"   YOUR STANDING IS $";V
  40. 138 IFU>0 GOTO 143
  41. 139 IFU=0GOTO467
  42. 140 B=1
  43. 141 GOSUB 289
  44. 142 GOTO 134
  45. 143 IFU<=500 GOTO 146
  46. 144 PRINT"  HOUSE LIMIT IS $500!! REENTER"
  47. 145 GOTO 134
  48. 146 GOSUB 299
  49. 147 H(1)=U
  50. 148 N=Q(2)
  51. 149 PRINT"MY UP CARD";
  52. 150 GOSUB 341
  53. 151 PRINT
  54. 152 N=P(R,1)
  55. 153 PRINTTAB(7)"YOUR 1ST CARD"
  56. 154 GOSUB 341
  57. 155 N=P(R,2)
  58. 156 PRINTTAB(7)"YOUR 2ND CARD"
  59. 157 GOSUB 341
  60. 158 GOSUB 374
  61. 159 IFM<>11 GOTO 161
  62. 160 GOSUB 456
  63. 161 IFW<>21 GOTO170
  64. 162 PRINT"I HAVE BLACKJACK, ";
  65. 163 IFX(1)<>21 GOTO 167
  66. 164 PRINT"SO DO YOU, WE PUSH";
  67. 165 GOSUB 447
  68. 166 GOTO 128
  69. 167 PRINT"YOU LOSE ";
  70. 168 V=V-U
  71. 169 GOTO 165
  72. 170 IFX(1)<>21 GOTO 174
  73. 171 PRINT"YOU HAVE BLACKJACK, YOU WIN!"
  74. 172 V=V+3*U/2
  75. 173 GOTO165
  76. 174 PRINT"PLAY ";
  77. 175 IFR=1 GOTO 177
  78. 176 PRINT"FOR HAND ";G;"   ";
  79. 177 INPUT F
  80. 178 IF F>-1 GOTO 181
  81. 179 PRINT"ONLY 0-3 ARE VALID! REENTER";
  82. 180 GOTO 177
  83. 181 IF F>3 GOTO 179
  84. 182 IF F<>1 GOTO 213
  85. 183 IFA<=E GOTO185
  86. 184 GOSUB 384
  87. 185 M=S(G)
  88. 186 M=M+1
  89. 187 S(G)=M
  90. 188 N=D(A)
  91. 189 P(G,M)=N
  92. 190 PRINTTAB(7)"YOUR CARD IS ";
  93. 191 GOSUB341
  94. 192 GOSUB 332
  95. 193 A=A+1
  96. 194 IFN<>11 GOTO 196
  97. 195 O(G)=O(G)+1
  98. 196 X(G)=X(G)+N
  99. 197 IF X(G)<22 GOTO 174
  100. 198 IFO(G)=0 GOTO 202
  101. 199 O(G)=O(G)-1
  102. 200 X(G)=X(G)-10
  103. 201 GOTO 197 
  104. 202 PRINT:PRINT"YOU BUSTED WITH ";X(G)
  105. 203 X(G)=0
  106. 204 Y=Y-1
  107. 205 IFG<R GOTO 208
  108. 206 GOSUB 397
  109. 207 GOTO 128 
  110. 208 G=G+1
  111. 209 N=P(G,1)
  112. 210 PRINT"YOUR FIRST CARD FOR HAND  ";G;"  WAS  ";
  113. 211 GOSUB 341
  114. 212 GOTO 174
  115. 213 IF F<>0 GOTO 219
  116. 214 IF X(G)<22 GOTO 205
  117. 215 IFO(G)=0 GOTO 202
  118. 216 X(G)=X(G)-10
  119. 217 O(G)=O(G)-1
  120. 218 G=G+1
  121. 219 IF F<>2 GOTO 240
  122. 220 IF S(G)=2 GOTO 223
  123. 221 PRINT"DOUBLE ON FIRST TWO CARDS ONLY!!"
  124. 222 GOTO 174
  125. 223 IFA<=E GOTO 225
  126. 224 GOSUB 384
  127. 225 H(G)=2*U
  128. 226 N=D(A)
  129. 227 P(G,3)=N
  130. 228 A=A+1
  131. 229 PRINTTAB(20)"YOU DRAW THE ";
  132. 230 GOSUB 341
  133. 231 GOSUB 332
  134. 232 IFN<>11 GOTO 234
  135. 233 O(G)=O(G)+1
  136. 234 X(G)=X(G)+N
  137. 235 IFX(G)<22 GOTO 205
  138. 236 IFO(G)=0 GOTO 202
  139. 237 O(G)=O(G)-1
  140. 238 X(G)=X(G)-10
  141. 239 GOTO 235
  142. 240 N=P(G,1)
  143. 241 Y=Y+1
  144. 242 GOSUB 332
  145. 243 M=N
  146. 244 N=P(G,2)
  147. 245 GOSUB 332
  148. 246 IF M=N GOTO 249
  149. 247 PRINT"YOU MAY ONLY SPLIT PAIRS!!";
  150. 248 GOTO 174
  151. 249 R=R+1
  152. 250 Y=Y+1
  153. 251 P(R,1)=P(G,2)
  154. 252 S(G)=1
  155. 253 S(R)=1
  156. 254 X(G)=X(G)/2
  157. 255 X(R)=X(G)
  158. 256 H(R)=U
  159. 257 IFN<>11 GOTO 174
  160. 258 IF A<=E GOTO 260
  161. 259 GOSUB 384
  162. 260 N=D(A)
  163. 261 P(G,2)=N
  164. 262 PRINT"1ST ACE GETS:";
  165. 263 GOSUB 341
  166. 264 GOSUB 332
  167. 265 IFN<>11 GOTO 267
  168. 266 N=1
  169. 267 X(G)=X(G)+N
  170. 268 A=A+1
  171. 269 IF A<=E GOTO 272
  172. 270 GOSUB 384
  173. 271 S0
  174. 272 N=D(A)
  175. 273 P(R,2)=N
  176. 274 PRINT"2ND ACE GETS:";
  177. 275 GOSUB 341
  178. 276 GOSUB 332
  179. 277 IFN<>11 GOTO 279
  180. 278 N=1
  181. 279 X(R)=X(R)+N
  182. 280 A=A+1
  183. 281 GOTO 206
  184. 282 FOR I=1 TO N
  185. 283 J=(I-1)*52
  186. 284 FOR K=1 TO 52
  187. 285 D(K+J)=K
  188. 286 NEXT K
  189. 287 NEXT I
  190. 288 RETURN
  191. 289 PRINT"I'M SHUFFLING THE CARDS ",
  192. 290 FOR I=B TO E
  193. 291 C=RND(5)*E
  194. 292 IF C<B GOTO 291
  195. 293 L=D(I)
  196. 294 D(I)=D(C)
  197. 295 D(C)=L
  198. 296 NEXT I
  199. 297 A=B
  200. 298 RETURN
  201. 299 FOR I=1 TO 11
  202. 300 Q(I)=0
  203. 301 FOR J=1 TO R
  204. 302 P(J,I)=0
  205. 303 NEXT J
  206. 304 NEXT I
  207. 305 R=1
  208. 306 Y=1
  209. 307 IF A+4<=E GOTO 310
  210. 308 B=1
  211. 309 GOSUB 289
  212. 310 PRINT"DEALING"
  213. 311 PRINT
  214. 312 P(R,1)=D(A)
  215. 313 Q(1)=D(A+1)
  216. 314 P(R,2)=D(A+2)
  217. 315 Q(2)=D(A+3)
  218. 316 A=A+4
  219. 317 T=2
  220. 318 S(1)=2
  221. 319 GOSUB 322
  222. 320 M=N
  223. 321 RETURN
  224. 322 Z=0
  225. 323 W=0
  226. 324 FOR I=1 TO2
  227. 325 N=Q(I)
  228. 326 GOSUB 332
  229. 327 IF N<>11 GOTO 329
  230. 328 Z=Z+1
  231. 329 W=W+N
  232. 330 NEXT I
  233. 331 RETURN
  234. 332 IF N<14 GOTO 335
  235. 333 N=N-13
  236. 334 GOTO332
  237. 335 IF N<>1 GOTO 338
  238. 336 N=11
  239. 337 RETURN
  240. 338 IF N<11 GOTO 340
  241. 339 LET N=10
  242. 340 RETURN
  243. 341 I=0
  244. 342 IF N<14 GOTO 346
  245. 343 N=N-13
  246. 344 I=I+1
  247. 345 GOTO 342
  248. 346 IF N<>1 GOTO 349
  249. 347 PRINTTAB(17);"ACE";
  250. 348 GOTO 362
  251. 349 IFN>9 GOTO 352
  252. 350 PRINTTAB(18);N;
  253. 351 GOTO 362
  254. 352 IFN>10 GOTO 355
  255. 353 PRINTTAB(17);N;
  256. 354 GOTO 362
  257. 355 IFN>11 GOTO 358
  258. 356 PRINTTAB(16);"JACK";
  259. 357 GOTO 362
  260. 358 IFN>12 GOTO 361
  261. 359 PRINTTAB(16);"QUEEN";
  262. 360 GOTO 362
  263. 361 PRINTTAB(16);"KING";
  264. 362 PRINT" OF ";
  265. 363 IF I<>0 GOTO 366
  266. 364 PRINT"SPADES"
  267. 365 RETURN
  268. 366 IF I<>1 GOTO 369
  269. 367 PRINT"HEARTS"
  270. 368 RETURN
  271. 369 IFI<>2 GOTO372
  272. 370 PRINT"DIAMONDS"
  273. 371 RETURN
  274. 372 PRINT"CLUBS"
  275. 373 RETURN
  276. 374 O(G)=0
  277. 375 X(G)=0
  278. 376 FORI=1 TO 2
  279. 377 N=P(G,I)
  280. 378 GOSUB 332
  281. 379 X(G)=X(G)+N
  282. 380 IFN<>11 GOTO 382
  283. 381 O(G)=O(G)+1
  284. 382 NEXT I
  285. 383 RETURN
  286. 384 K=T
  287. 385 FORI=1 TO R
  288. 386 K=K+S(I)
  289. 387 NEXT I
  290. 388 FOR I=1 TO K
  291. 389 A=A-1
  292. 390 J=D(I)
  293. 391 D(I)=D(A)
  294. 392 D(A)=J
  295. 393 NEXT I
  296. 394 B=K+1
  297. 395 GOSUB 289
  298. 396 RETURN
  299. 397 N=Q(1)
  300. 398 PRINT"MY HOLE CARD"
  301. 399 GOSUB 341
  302. 400 IF Y=0 GOTO 426
  303. 401 IFW<17 GOTO 406
  304. 402 IFW>17 GOTO 418
  305. 403 IFZ=0 GOTO 424
  306. 404 W=W-10
  307. 405 Z=Z-1
  308. 406 IFA<=E GOTO408
  309. 407 GOSUB 384
  310. 408 N=D(A)
  311. 409 A=A+1
  312. 410 Q(T)=N
  313. 411 PRINT"I DRAW THE";
  314. 412 GOSUB 341
  315. 413 GOSUB 332
  316. 414 IFN<>11 GOTO416
  317. 415 Z=Z+1
  318. 416 W=W+N
  319. 417 GOTO 401
  320. 418 IFW<22GOTO424
  321. 419 IFZ=0GOTO423
  322. 420 Z=Z-1
  323. 421 W=W-10
  324. 422 GOTO401
  325. 423 PRINT"I BUSTED ";
  326. 424 PRINT"MY TOTAL IS ";W
  327. 425 PRINTTAB(7)"YOUR TOTAL IS ";X(G)
  328. 426 FORI=1 TO R
  329. 427 PRINT"YOU ";
  330. 428 IFX(I)<>0 GOTO432
  331. 429 PRINT"LOST ";
  332. 430 V=V-H(I)
  333. 431 GOTO 441
  334. 432 IFW<22 GOTO 436
  335. 433 PRINT"WON ";
  336. 434 V=V+H(I)
  337. 435 GOTO 441
  338. 436 IFW<>X(I) GOTO439
  339. 437 PRINT"PUSHED ON ";
  340. 438 GOTO 441
  341. 439 IFW<X(I) GOTO 433
  342. 440 GOTO429
  343. 441 IFR<>1 GOTO 444
  344. 442 PRINT"THE HAND"
  345. 443 GOTO 445
  346. 444 PRINT"HAND ";I
  347. 445 NEXT I
  348. 446 PRINT
  349. 447 PRINT"YOU ARE ";
  350. 448 IFV<>0 GOTO451
  351. 449 PRINT"EVEN"
  352. 450 RETURN
  353. 451 IFV>0 GOTO 454
  354. 452 PRINT"LOSING $";V
  355. 453 RETURN
  356. 454 PRINT"WINNING $";V
  357. 455 RETURN
  358. 456 PRINT"INSURANCE ? (Y=YES; N=NO)":INPUTM$
  359. 457 IF M$="Y"GOTO459   
  360. 458 RETURN
  361. 459 PRINT"YOUR INSURANCE BET ";
  362. 460 IFW<>21 GOTO 464
  363. 461 PRINT"WINS"
  364. 462 V=V+U
  365. 463 RETURN
  366. 464 PRINT"LOSES"
  367. 465 V=V-U/2
  368. 466 RETURN
  369. 467 PRINT"HERE'S YOUR FINAL STANDING!"
  370. 468 GOSUB 447
  371. 469 GOTO 491
  372. 470 PRINT
  373. 471 PRINT"THE DEALER STANDS ON 17 OR MORE,"
  374. 472 PRINT"BUT WILL HIT A SOFT 17."
  375. 473 PRINT"YOU MAY SPLIT ANY PAIR."
  376. 474 PRINT"YOU MAY DOUBLE DOWN ON FIRST TWO CARDS,"
  377. 475 PRINT"AND GET ONLY ONE MORE CARD."
  378. 476 PRINT
  379. 477 PRINT"HOUSE LIMIT IS $500 ON EACH HAND......."
  380. 478 PRINT
  381. 479 PRINT"USE THESE CODES TO PLAY:"
  382. 480 PRINT"   0-STAND"
  383. 481 PRINT"   1-HIT"
  384. 482 PRINT"   2-DOUBLE DOWN"
  385. 483 PRINT"   3-SPLIT A PAIR"
  386. 484 PRINT
  387. 485 PRINT"A ZERO BET ENDS THE GAME."
  388. 486 PRINT"A NEGATIVE BET FORCES A SHUFFLE."
  389. 487 PRINT"TO START, HIT RETURN KEY."
  390. 488 WAIT0,1,1
  391. 489 RETURN
  392. 490 GOTO 491
  393. 491 END
  394.