home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG013.ARK / BLACKJAC.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  6KB  |  244 lines

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