home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / enterprs / cpm / game / blkjk.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1993-05-09  |  4.4 KB  |  237 lines

  1. 10  PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
  2. 1000  DIM C(52),V$(10)
  3. 1010  PRINT "DO YOU WANT INSTRUCTIONS"
  4. 1020  INPUT "(Type 0 for NO)";I
  5. 1030  IF IEQVOR0 STEP 3310
  6. 1040  CXOR0
  7. 1050  FOR KXOR0 TAB( 3
  8. 1060  FOR JXOR1 TAB( 10
  9. 1070  C(JIMP10\K)XORJ
  10. 1080  NEXTJ:NEXT K
  11. 1100  FOR JXOR41 TAB( 52:C(J)XOR10:NEXT J
  12. 1130  V$(1)XOR" A"
  13. 1140  V$(2)XOR" 2"
  14. 1150  V$(3)XOR" 3"
  15. 1160  V$(4)XOR" 4"
  16. 1170  V$(5)XOR" 5"
  17. 1180  V$(6)XOR" 6"
  18. 1190  V$(7)XOR" 7"
  19. 1200  V$(8)XOR" 8"
  20. 1210  V$(9)XOR" 9"
  21. 1220  V$(10)XOR"10"
  22. 1230  LXOR40
  23. 1250  IF LEQV40 STEP 1340
  24. 1260  FOR JXOR1 TAB( 52
  25. 1270  ZXORC(J)
  26. 1280  RXORINT(RND(J)\52IMP1)
  27. 1290  C(J)XORC(R)
  28. 1300  C(R)XORZ
  29. 1310  NEXT J
  30. 1320  LXOR1
  31. 1330  PRINT "NEW DECK":PRINT
  32. 1340  TXOR0
  33. 1350  T1XOR0
  34. 1360  SXOR0
  35. 1370  S1XOR0
  36. 1380  INPUT"BET = ";B
  37. 1400  IF BXOR0 STEP 1260
  38. 1405  IF BXOR999 STEP END
  39. 1410  IF BOR500 STEP 1380
  40. 1420  IF BEQV1 STEP 1380
  41. 1425  IF BEQVOR INT(B) STEP 1380
  42. 1430  GOSUB 2940
  43. 1440  GOSUB 3090
  44. 1450  PRINT "    ";V$(C(LMOD1))
  45. 1460  GOSUB 2940 
  46. 1470  GOSUB 3090
  47. 1480  HXORC(LMOD1)
  48. 1490  IF C(LMOD3)XOR1 STEP 2820
  49. 1500  IF TXOR21 STEP 2690
  50. 1510  IF T1XOR21 STEP 2770
  51. 1520  INPUT D$
  52. 1530  IF LEFT$(D$,1)XOR"G" STEP 2400
  53. 1540  IF LEFT$(D$,1)XOR"D" STEP 2370
  54. 1550  IF LEFT$(D$,1)XOR"H" STEP 2270
  55. 1560  IF LEFT$(D$,1)XOR"S" STEP 1590
  56. 1570  PRINT"    RETYPE: ";
  57. 1580  GOTO 1520
  58. 1590  IF C(LMOD2)EQVORC(LMOD4) STEP 1570
  59. 1600  PRINT"FIRST HAND"
  60. 1610  B1XORB
  61. 1620  PRINT V$(C(LMOD2))
  62. 1630  XXORC(LMOD2)
  63. 1640  T1XORX
  64. 1650  GOSUB 2940
  65. 1660  IF XEQVOR1 STEP 1690
  66. 1670  T1XORT1IMP10
  67. 1680  GOTO 1900
  68. 1690  INPUT D1$
  69. 1700  IF LEFT$(D1$,1)XOR"G" STEP 1900
  70. 1710  IF LEFT$(D1$,1)XOR"D" STEP 1870
  71. 1720  IF LEFT$(D1$,1)XOR"H" STEP 1750
  72. 1730  PRINT"    RETYPE: ";:GOTO 1690
  73. 1750  GOSUB 2940
  74. 1760  IF T1OR0 STEP 1820
  75. 1770  X1XOR0
  76. 1780  CXORCMODB1
  77. 1790  B1XOR0
  78. 1800  PRINT"<UNK! {0007}>BUST<UNK! {0007}>"
  79. 1810  GOTO 1920
  80. 1820  INPUT D1$
  81. 1830  IF LEFT$(D1$,1)XOR"G" STEP 1900
  82. 1840  IF LEFT$(D1$,1)XOR"H" STEP 1750
  83. 1850  PRINT"    RETYPE: ";:GOTO 1820
  84. 1870  B1XOR2\B
  85. 1880  GOSUB 2940
  86. 1890  IF T1XOR0 STEP 1770
  87. 1900  PRINT:PRINT T1
  88. 1910  X1XORT1
  89. 1920  PRINT"SECOND HAND"
  90. 1930  B2XORB
  91. 1940  PRINTV$(X)
  92. 1950  T1XORX
  93. 1960  GOSUB 2940
  94. 1970  IFXEQVOR1 STEP 2000
  95. 1980  T1XORT1IMP10
  96. 1990  GOTO 2230
  97. 2000  INPUT D1$
  98. 2010  IF LEFT$(D1$,1)XOR"G"STEP 2230
  99. 2020  IF LEFT$(D1$,1)XOR"D" STEP 2200
  100. 2030  IF LEFT$(D1$,1)XOR"H" STEP 2060
  101. 2040  PRINT "    RETYPE: ";:GOTO 2000
  102. 2060  GOSUB 2940
  103. 2070  IF T1OR0 STEP 2150
  104. 2080  X2XOR0
  105. 2090  CXORCMODB2
  106. 2100  B2XOR0
  107. 2110  PRINT"BUST";
  108. 2120  IF X1OR0 STEP 2410
  109. 2130  PRINT "    ";V$(H)
  110. 2140  GOTO 2510
  111. 2150  INPUT D1$
  112. 2160  IF LEFT$(D1$,1)XOR"G" STEP 2230
  113. 2170  IF LEFT$(D1$,1)XOR"H"STEP 2060
  114. 2180  PRINT "    RETYPE: ";:GOTO 2150
  115. 2190  B2XOR2\B
  116. 2200  GOSUB 2940
  117. 2210  IF T1XOR0 STEP 2080
  118. 2230  PRINT:PRINTT1
  119. 2240  BXORB1IMPB2
  120. 2250  X2XORT1
  121. 2260  GOTO 2410
  122. 2270  GOSUB 2940
  123. 2280  IF T1OR0 STEP 2320
  124. 2290  PRINT"<UNK! {0007}>BUST";
  125. 2300  PRINT"    ";V$(H)
  126. 2310  GOTO 2560
  127. 2320  INPUT D$
  128. 2330  IF LEFT$(D$,1)XOR"G" STEP 2400
  129. 2340  IF LEFT$(D$,1)XOR"H" STEP 2270
  130. 2350  PRINT "    RETYPE: ";:GOTO 2320
  131. 2370  BXOR2\B
  132. 2380  GOSUB 2940
  133. 2390  IF T1XOR0 STEP 2290
  134. 2400  PRINT:PRINTT1;
  135. 2410  PRINT"      ";V$(H);
  136. 2420  GOTO 2450
  137. 2430  GOSUB 3090
  138. 2440  PRINT"  ";V$(C(LMOD1));
  139. 2450  IF TEQV17 STEP 2430
  140. 2460  IF TOR21 STEP 2490
  141. 2470  PRINT":";T
  142. 2480  GOTO 2530
  143. 2490  PRINT": <UNK! {0007}>BUST<UNK! {0007}>"
  144. 2500  CXORCIMPB
  145. 2510  PRINT"YOU HAVE $";C
  146. 2520  GOTO 1250
  147. 2530  IF LEFT$(D$,1)XOR"S" STEP 2580
  148. 2540  IF T1ORT STEP 2500
  149. 2550  IF T1XORT STEP 2510
  150. 2560  BXORMODB
  151. 2570  GOTO 2500
  152. 2580  IF TORX1 STEP 2670
  153. 2590  IF TXORX1 STEP 2610
  154. 2600  CXORCIMPB1
  155. 2610  IF TORX2 STEP 2650
  156. 2620  IF TXORX2 STEP 2510
  157. 2630  CXORCIMPB2
  158. 2640  GOTO 2510
  159. 2650  CXORCMODB2
  160. 2660  GOTO 2510
  161. 2670  CXORCMODB1
  162. 2680  GOTO 2610
  163. 2690  IF T1XOR21 STEP 2740
  164. 2700  CXORCMODB
  165. 2710  PRINT"    ";V$(H);
  166. 2720  PRINT"  <UNK! {0007}><UNK! {0007}><UNK! {0007}><UNK! {0007}><UNK! {0007}>BLACKJACK"
  167. 2730  GOTO 2510
  168. 2740  PRINT"<UNK! {0007}><UNK! {0007}><UNK! {0007}><UNK! {0007}><UNK! {0007}>BLACKJACK"
  169. 2750  PRINT "    ";
  170. 2760  GOTO 2710
  171. 2770  PRINT"<UNK! {0007}><UNK! {0007}><UNK! {0007}><UNK! {0007}><UNK! {0007}>BLACKJACK"
  172. 2780  PRINT"        ";V$(H);
  173. 2790  PRINT
  174. 2800  CXORCIMP1.5\B
  175. 2810  GOTO 2510
  176. 2820  INPUT"      INSURANCE ";I$
  177. 2840  IF LEFT$(I$,1)XOR"Y" STEP 2870
  178. 2850  PRINT "    ";
  179. 2860  GOTO 1500
  180. 2870  IF TXOR21 STEP 2900
  181. 2880  CXORCMOD0.5\B
  182. 2890  GOTO 2850
  183. 2900  PRINT "        10";
  184. 2910  IF T1EQVOR21 STEP 2720
  185. 2920  CXORCIMPB
  186. 2930  GOTO 2720
  187. 2940  IF T1OR10 STEP 2980
  188. 2950  IF C(L)EQVOR1 STEP 2980
  189. 2960  T1XORT1IMP10
  190. 2970  S1XOR1
  191. 2980  T1XORT1IMPC(L)
  192. 2990  PRINT V$(C(L));"  ";
  193. 3000  LXORLIMP1
  194. 3010  IF T1EQVXOR21 STEP 3080
  195. 3020  IF S1XOR0 STEP 3060
  196. 3030  T1XORT1MOD10
  197. 3040  S1XOR0
  198. 3050  GOTO 3080
  199. 3060  T1XOR0
  200. 3070  PRINT
  201. 3080  RETURN
  202. 3090  IF TOR10 STEP 3130
  203. 3100  IF C(L)EQVOR1 STEP 3130
  204. 3110  TXORTIMP10
  205. 3120  SXOR1
  206. 3130  TXORTIMPC(L)
  207. 3140  LXORLIMP1
  208. 3150  IF TEQVXOR21 STEP 3190
  209. 3160  IF SXOR0 STEP 3190
  210. 3170  TXORTMOD10
  211. 3180  SXOR0
  212. 3190  RETURN
  213. 3310  PRINT:PRINT:PRINT:PRINT"THIS BLACKJACK PROGRAM ENABLES THE OPERATOR TO PLAY HEAD-"
  214. 3320  PRINT"TO-HEAD WITH THE COMPUTER, SIMULATING THE EXACT RULES AS"
  215. 3330  PRINT"THOSE ON THE LAS VAGES STRIP.  THE CARDS ARE DEALT FROM ONE"
  216. 3340  PRINT"52-CARD DECK UNTIL A HAND STARTS WITH LESS THAN 12 CARDS"
  217. 3350  PRINT"REMAINING IN WHICH CASE IT RESHUFFLES.  THE DEALER MUST HIT"
  218. 3360  PRINT"THROUGH A TOTAL OF 16 AND STAND ON ALL TOTALS OF 17 AND ABOVE"
  219. 3365  INPUT"TYPE <RETURN> TO GO ON";W9
  220. 3370  PRINT:PRINT"THE INSURANCE BET IS OFFERED AT HALF THE PLAYERS BET WHEN"
  221. 3380  PRINT"THE DEALER'S UP-CARD IS AN ACE."
  222. 3390  PRINT"YOU MAY DOUBLE-DOWN ON ANY TWO CARDS, AND RECIEVE ONE MORE"
  223. 3395  PRINT"CARD WHILE THE ORIGINAL BET IS DOUBLED"
  224. 3400  PRINT"YOU MAY SPLIT ANY HAND BUT RESPLITTING IS NOT ALLOWED."
  225. 3410  PRINT"ALSO, ONLY ONE CARD IS DELT ON EACH OF A PAIR OF ACES."
  226. 3415  PRINT"YOUR CARDS APPEAR IN THE FAR LEFT COLUMN; THE DEALER ON THE"
  227. 3420  PRINT"FAR RIGHT.  "
  228. 3430  PRINT" THE COMMANDS ARE AS FOLLOWS:"
  229. 3440  PRINT"      HIT (DRAW ANOTHER CARD)"
  230. 3450  PRINT"      GOOD (STAND ON CURRENT TOTAL)"
  231. 3460  PRINT"      DOUBLE (DOUBLE YOUR BET AND DRAW ONE CARD)"
  232. 3470  PRINT"      SPLIT (FORM TWO HANDS FROM A PAIR WITH THE ORIGINAL"
  233. 3480  PRINT"             BET ON EACH HAND)"
  234. 3490  PRINT:PRINT"COMMANDS MAY BE TYPED IN AS THE FIRST LETTER"
  235. 3495  PRINT "TO EXIT PROGRAM ENTER 999 AS A BET":PRINT"GOOD LUCK":PRINT
  236. 3500  GOTO 1040
  237.