home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib42b.dsk / BLACKJACK.bas < prev    next >
BASIC Source File  |  2023-02-26  |  36KB  |  443 lines

  1. 1  REM  *************************
  2. 2  REM  * BLACKJACK             *
  3. 3  REM  * BY JOHN GATES         *
  4. 4  REM  * COPYRIGHT (C) 1991    *
  5. 5  REM  * MINDCRAFT PUBL. CORP. *
  6. 6  REM  * LINCOLN, MA 01773     *
  7. 7  REM  *************************
  8. 10  DIM D%(104),H%(104)
  9. 20  TEXT : HOME : VTAB 12: PRINT "Loading Files - Please Wait!"
  10. 30  IF  PEEK(104) = 64  THEN 50
  11. 40  POKE 104,64: POKE 16384,0: PRINT  CHR$(4)"RUN BLACKJACK"
  12. 50  PRINT  CHR$(4)"BLOAD BLACKJACK.SHAPE": PRINT  CHR$(4)"BLOAD BLACKJACK.ML,A$800": PRINT  CHR$(4)"BLOAD BLACKJACK.SCRN"
  13. 60  TEXT : HOME : VTAB 2: HTAB 9: PRINT "***********************": HTAB 9: PRINT "*" SPC( 21)"*": HTAB 9: PRINT "*  B L A C K J A C K  *": REM   23 '*'
  14. 70  HTAB 9: PRINT "*" SPC( 21)"*": HTAB 9: PRINT "***********************": REM   23'*' 
  15. 80  VTAB 8: HTAB 19: PRINT "By": PRINT : HTAB 15: PRINT "John Gates": PRINT : HTAB 12: PRINT "Copyright (C) 1991": HTAB 11: PRINT "MindCraft Publ. Corp.": HTAB 12: PRINT "Lincoln, MA  01773"
  16. 90  VTAB 17: HTAB 17: PRINT "Cards": HTAB 18: PRINT "By": PRINT : HTAB 15: PRINT "Jim Lazar": VTAB 23: HTAB 8: PRINT "Press Return to Continue";: GET RE$
  17. 100  HOME : VTAB 12: HTAB 4: PRINT "Be Sure The Caps Lock Key Is Down!": VTAB 23: HTAB 8: PRINT "Press Return to Continue";: GET RE$
  18. 110  TEXT : HOME : VTAB 9: HTAB 13: PRINT "B L A C K J A C K": VTAB 13: HTAB 13: PRINT "1. Instructions": PRINT : HTAB 13: PRINT "2. Play Game"
  19. 120  VTAB 23: HTAB 13: PRINT "Choose Number!";: GET A$
  20. 130  IF  VAL(A$) <1  OR  VAL(A$) >2  THEN  PRINT  CHR$(7);: GOTO 120
  21. 140  IF  VAL(A$) = 2  THEN 320
  22. 150  HOME : HTAB 10: PRINT "I N S T R U C T I O N S": HTAB 9: PRINT "_________________________": REM  25'_'
  23. 160  VTAB 4: PRINT "Blackjack is a one or two player game": PRINT "that pits your gambling skills against": PRINT "those of the 'House' (Dealer)."
  24. 170  PRINT : PRINT "The object of the game is to come as": PRINT "close to 21 as possible, without going": PRINT "over, and to beat the House."
  25. 180  VTAB 12: PRINT "You can receive up to five cards.": PRINT "In case of a tie, the House wins."
  26. 190  VTAB 15: PRINT "Blackjack (a Jack and an Ace) is worth": PRINT "1.5 times your bet rounded down to the": PRINT "nearest dollar.": PRINT 
  27. 200  PRINT "Five cards under 21 is worth 2 times": PRINT "your bet."
  28. 210  VTAB 24: HTAB 8: PRINT "Press Return to Continue";: GET RE$: HOME 
  29. 220  PRINT "The House must take a card on a": PRINT "count of 16 or under, and must stay on": PRINT "a count of 17 or over."
  30. 230  PRINT : PRINT "You'll be given $1000 to play with.": HTAB 10: PRINT "(Pretend of course!)": PRINT : PRINT "Your bets must be between $1 and $99": PRINT "and must be whole dollars only."
  31. 240  PRINT : PRINT "On your turn you will be prompted to": PRINT "place your bet.  If you have made a": PRINT "previous bet, that bet will be shown as": PRINT "the default.  To accept your previous"
  32. 250  PRINT "bet, just press Return.  If you wish": PRINT "to make a different bet, just enter it": PRINT "and press Return."
  33. 260  PRINT : PRINT "On your turn you will be given": PRINT "the option of, turn your down card,": PRINT "take a card, double your bet, or split": PRINT "if your cards are of equal value."
  34. 270  VTAB 24: HTAB 8: PRINT "Press Return to Continue";: GET RE$
  35. 280  HOME : PRINT "If you chose to double, your bet": PRINT "will be rededucted and you will be": PRINT "given only one card."
  36. 290  PRINT : PRINT "If you chose to split, your bet": PRINT "will be rededucted and you will be": PRINT "dealt an extra hand to play."
  37. 300  VTAB 18: HTAB 14: PRINT "GOOD  LUCK!"
  38. 310  VTAB 24: HTAB 8: PRINT "Press Return to Continue";: GET RE$
  39. 320  HOME : VTAB 9: HTAB 10: PRINT "Up to two players may": HTAB 9: PRINT "play against the 'House'."
  40. 330  VTAB 14: HTAB 5: PRINT "How many players will be playing?": VTAB 16: HTAB 20: GET PL$: IF  VAL(PL$) <1  OR  VAL(PL$) >2  THEN  VTAB 16: CALL  -868: PRINT  CHR$(7);: GOTO 330
  41. 340  REM **DRAW PLAYING TABLE**
  42. 350  POKE 232,0: POKE 233,25: SCALE= 1: ROT= 0: HGR 
  43. 360  HCOLOR= 3: DRAW 1 AT 85,13: HCOLOR= 6: DRAW 1 AT 83,13
  44. 370  DRAW 3 AT 2,50: DRAW 3 AT 1,50
  45. 380  IF  VAL(PL$) = 2  THEN  DRAW 4 AT 2,95: DRAW 4 AT 1,95
  46. 390  DRAW 2 AT 2,140: DRAW 2 AT 3,140
  47. 400  DRAW 5 AT 78,16: DRAW 5 AT 79,16
  48. 410  DRAW 6 AT 251,115
  49. 420  VTAB 22: HTAB 1: PRINT "\______________________________________/": REM  38 '_'
  50. 430  IF  VAL(PL$) = 2  THEN 490
  51. 440  VTAB 23: HTAB 5: PRINT "Please Type Name and Press Return!": VTAB 21: HTAB 4: INPUT "";N1$: VTAB 23: CALL  -868
  52. 450  IF  LEN(N1$) <1  OR  LEN(N1$) >7  OR  VAL(N1$) >0  THEN  GOSUB 4240: GOTO 420
  53. 460  IF  PEEK(37) >22  OR N1$ =  CHR$(10)  THEN  GOSUB 4240: GOTO 420
  54. 470  VTAB 21: CALL  -868: VTAB 21: HTAB 4: PRINT N1$;
  55. 480 M1 = 1000: VTAB 21: HTAB 12: PRINT "$"M1: GOTO 590
  56. 490  VTAB 23: HTAB 1: PRINT "Player 1 - Type Name and Press Return!": VTAB 21: HTAB 4: INPUT "";N1$: VTAB 23: CALL  -868
  57. 500  IF  LEN(N1$) <1  OR  LEN(N1$) >7  OR  VAL(N1$) >0  THEN  GOSUB 4240: GOTO 420
  58. 510  IF  PEEK(37) >22  OR N1$ =  CHR$(10)  THEN  GOSUB 4240: GOTO 420
  59. 520  VTAB 21: CALL  -868: VTAB 21: HTAB 4: PRINT N1$;
  60. 530  VTAB 23: HTAB 1: PRINT "Player 2 - Type name and Press Return!": VTAB 21: HTAB 23: INPUT "";N2$: VTAB 23: CALL  -868
  61. 540  IF  LEN(N2$) <1  OR  LEN(N2$) >7  OR  VAL(N2$) >0  THEN  GOSUB 4240: VTAB 22: HTAB 1: PRINT "\______________________________________/": VTAB 21: HTAB 4: PRINT N1$: GOTO 530
  62. 550  IF  PEEK(37) >22  OR N2$ =  CHR$(10)  THEN  GOSUB 4240: VTAB 22: HTAB 1: PRINT "\______________________________________/": VTAB 21: HTAB 4: PRINT N1$: GOTO 530
  63. 560  VTAB 21: HTAB 20: CALL  -868: VTAB 21: HTAB 23: PRINT N2$
  64. 570 M1 = 1000:M2 = 1000: VTAB 21: HTAB 12: PRINT "$"M1;: HTAB 32: PRINT "$"M2
  65. 580  REM *SET & RANDOMIZE CARDS*
  66. 590 C = 1: FOR A = 1 TO 13: FOR B = 1 TO 4:D%(C) = B *16 +A:C = C +1: NEXT : NEXT 
  67. 600 C = 53: FOR A = 1 TO 13: FOR B = 1 TO 4:D%(C) = B *16 +A:C = C +1: NEXT : NEXT 
  68. 610  FOR A = 1 TO 3:B = D%( RND(1) *104 +1):D%( RND(0) *104 +1) = D%( RND(1) *104 +1):D%( RND(0) *104 +1) = B: NEXT 
  69. 620  FOR A = 1 TO 3:B = D%( RND(1) *104 +1):D%( RND(0) *104 +1) = D%( RND(1) *104 +1):D%( RND(0) *104 +1) = B: NEXT 
  70. 630  VTAB 23: CALL  -868: VTAB 23: HTAB 15: PRINT "Getting Cards": FOR T = 1 TO 400: NEXT 
  71. 640  POKE 237,19: POKE 238,40: CALL 2051: FOR A = 1 TO 25:B = D%( RND(1) *104 +1):D%( RND(0) *104 +1) = D%( RND(1) *104 +1)
  72. 650 D%( RND(0) *104 +1) = B: NEXT : VTAB 23: CALL  -868: GOSUB 4100
  73. 660  VTAB 23: HTAB 1: CALL  -868: VTAB 23: HTAB 2: PRINT "1)Deal   2)Reshuffle & Deal   3)Quit ";: GET A$: VTAB 23: HTAB 1: CALL  -868
  74. 670  IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 660
  75. 680  IF  VAL(A$) = 1  THEN 710
  76. 690  IF  VAL(A$) = 2  THEN  GOSUB 4100: GOTO 710
  77. 700  IF  VAL(A$) = 3  THEN  GOSUB 4190
  78. 710  FOR A = 71 TO 115  STEP 2: POKE 237,19: POKE 238,A: CALL 2051: POKE 237,19: POKE 238,A -40: CALL 2057: NEXT 
  79. 720  FOR A = 19 TO 35: POKE 237,A: POKE 238,115: CALL 2051: POKE 237,A -4: POKE 238,115: CALL 2057: NEXT 
  80. 730 VA = 0:VB = 0:VC = 0:BB = 0:CC = 0:GG = 0:HH = 0:EE = 0:DD = 0:II = 0:LL = 0:Y = 0:W = 0:R = 0:Z = 0
  81. 740 A =  LEN(N1$)
  82. 750  REM *** BETTING ROUTINE ***
  83. 760  VTAB 23: HTAB 1: CALL  -958: VTAB 24: HTAB 14: PRINT "Press Return!";: VTAB 23: HTAB 11 -A: PRINT N1$"!";: HTAB 14: PRINT "Please Place Bet: $"B1$;: GET A1$
  84. 770  IF  VAL(B1$) >0  AND A1$ =  CHR$(13)  THEN 880
  85. 780  IF  VAL(A1$) <1  OR  VAL(A1$) >9  THEN  PRINT  CHR$(7);: GOSUB 4250: GOTO 740
  86. 790  VTAB 23: HTAB 33: PRINT A1$" ";: HTAB 34: GET A2$
  87. 800  IF A2$ =  CHR$(8)  OR A2$ =  CHR$(127)  THEN  HTAB 33: PRINT " ";: GOTO 740
  88. 810  IF A2$ =  CHR$(13)  THEN B1$ = A1$: GOTO 880
  89. 820  IF A2$ = "0"  OR  VAL(A2$) >0  AND  VAL(A2$) =  <9  THEN 840
  90. 830  PRINT  CHR$(7);: GOSUB 4250: GOTO 740
  91. 840  VTAB 23: HTAB 34: PRINT A2$;: GET RE$
  92. 850  IF RE$ =  CHR$(8)  OR RE$ =  CHR$(127)  THEN  HTAB 34: PRINT " ";: GOTO 790
  93. 860  IF RE$ < > CHR$(13)  THEN 740
  94. 870 B1$ = A1$ +A2$
  95. 880  IF  VAL(B1$) >M1  THEN  GOSUB 4260:B1$ = "": GOTO 740
  96. 890 M1 = M1 - VAL(B1$): VTAB 21: HTAB 13: PRINT "     ";: HTAB 13: PRINT M1: VTAB 23: CALL  -958: FOR T = 1 TO 300: NEXT 
  97. 900  IF  VAL(PL$) = 1  THEN 1060
  98. 910 A =  LEN(N2$)
  99. 920  VTAB 23: HTAB 1: CALL  -958: VTAB 24: HTAB 14: PRINT "Press Return!";: VTAB 23: HTAB 11 -A: PRINT N2$"!";: HTAB 14: PRINT "Please Place Bet: $"B2$;: GET A1$
  100. 930  IF  VAL(B2$) >0  AND A1$ =  CHR$(13)  THEN 1030
  101. 940  IF  VAL(A1$) <1  OR  VAL(A1$) >9  THEN  PRINT  CHR$(7);: GOSUB 4250: GOTO 920
  102. 950  VTAB 23: HTAB 33: PRINT A1$" ";: HTAB 34: GET A2$: IF A2$ =  CHR$(8)  OR A2$ =  CHR$(127)  THEN  HTAB 33: PRINT " ";: GOTO 920
  103. 960  IF A2$ =  CHR$(13)  THEN B2$ = A1$: GOTO 1030
  104. 970  IF A2$ = "0"  OR  VAL(A2$) >0  AND  VAL(A2$) =  <9  THEN 990
  105. 980  PRINT  CHR$(7);: GOSUB 4250: GOTO 920
  106. 990  VTAB 23: HTAB 34: PRINT A2$;: GET RE$
  107. 1000  IF RE$ =  CHR$(8)  OR RE$ =  CHR$(127)  THEN  HTAB 34: PRINT " ";: GOTO 950
  108. 1010  IF RE$ < > CHR$(13)  THEN 920
  109. 1020 B2$ = A1$ +A2$
  110. 1030  IF  VAL(B2$) >M2  THEN  GOSUB 4260:B2$ = "": GOTO 920
  111. 1040 M2 = M2 - VAL(B2$): VTAB 21: HTAB 33: PRINT "     ";: HTAB 33: PRINT M2: VTAB 23: CALL  -958
  112. 1050  REM *START DEALING CARDS*
  113. 1060  GOSUB 4080: POKE 237,11: POKE 238,25: POKE 239,D%(P):Y1 = D%(P): CALL 2051: GOSUB 3950:VA = V:CC = VA:P = P -1: IF  VAL(PL$) = 1  THEN 1080
  114. 1070  GOSUB 4080: POKE 237,11: POKE 238,70: POKE 239,D%(P):Y2 = D%(P): CALL 2051: GOSUB 3950:VB = V:P = P -1:AA = VB
  115. 1080  GOSUB 4080: POKE 237,11: POKE 238,115: POKE 239,D%(P):Y3 = D%(P): CALL 2051: GOSUB 3950:VC = V:P = P -1
  116. 1090  GOSUB 4080: POKE 237,15: POKE 238,25: POKE 239,D%(P):Z1 = D%(P): CALL 2048: GOSUB 3950:EE = V
  117. 1100  IF V = 11  THEN DD = 11
  118. 1110  IF VA = 11  AND V = 11  THEN V = 1:BB = 11
  119. 1120  IF VA = 11  OR V = 11  THEN BB = 11
  120. 1130 VA = VA +V:P = P -1: IF  VAL(PL$) = 1  THEN 1190
  121. 1140  GOSUB 4080: POKE 237,15: POKE 238,70: POKE 239,D%(P):Z2 = D%(P): CALL 2048: GOSUB 3950:HH = V
  122. 1150  IF V = 11  THEN II = 11
  123. 1160  IF VB = 11  AND V = 11  THEN V = 1:GG = 11
  124. 1170  IF VB = 11  OR V = 11  THEN GG = 11
  125. 1180 VB = VB +V:P = P -1
  126. 1190  GOSUB 4080: POKE 237,15: POKE 238,115: POKE 239,D%(P): CALL 2048: GOSUB 3950
  127. 1200  IF VC = 11  AND V = 11  THEN V = 1:LL = 11
  128. 1210  IF VC = 11  OR V = 11  THEN LL = 11
  129. 1220 VC = VC +V:P = P -1
  130. 1230  REM ** PLAYER ONES TURN **
  131. 1240  SCALE= 1: ROT= 0: FOR A = 1 TO 7: HCOLOR= 4: DRAW 3 AT 2,50: FOR T = 1 TO 50: NEXT : HCOLOR= 6: DRAW 3 AT 2,50: FOR T = 1 TO 50: NEXT : NEXT 
  132. 1250  FOR A = 1 TO 4: VTAB 21: HTAB 2: INVERSE : PRINT ">": FOR T = 1 TO 75: NEXT : NORMAL : VTAB 21: HTAB 2: PRINT ">": FOR T = 1 TO 75: NEXT : NEXT 
  133. 1260  IF CC = EE  THEN  VTAB 23: HTAB 1: CALL  -958: VTAB 23: HTAB 2: PRINT "1)Turn 2)Hit 3)Stay 4)Double 5)Split ";: GET A$: VTAB 23: HTAB 1: CALL  -868: GOTO 1280
  134. 1270  GOTO 1360
  135. 1280  IF  VAL(A$) <1  OR  VAL(A$) >5  THEN  PRINT  CHR$(7);: GOTO 1260
  136. 1290  IF  VAL(A$) = 1  THEN  GOSUB 2190: GOTO 1340
  137. 1300  IF  VAL(A$) = 5  AND CC = EE  THEN X = 0:Y = 1:R = 1: GOTO 1520
  138. 1310  IF  VAL(A$) = 4  THEN X = 1:EE = 0: GOTO 1480
  139. 1320  IF  VAL(A$) = 3  THEN X = 0:EE = 0: GOTO 1510
  140. 1330  IF  VAL(A$) = 2  THEN X = 0:EE = 0: GOTO 1390
  141. 1340  IF VA = 21  THEN  GOSUB 2140: GOSUB 2160:EE = 0: GOTO 1510
  142. 1350  GOTO 1260
  143. 1360  VTAB 23: HTAB 1: CALL  -958: VTAB 23: HTAB 3: PRINT "1)Turn   2)Hit   3)Stay   4)Double ";: GET A$: VTAB 23: HTAB 1: CALL  -868
  144. 1370  IF  VAL(A$) <1  OR  VAL(A$) >4  THEN  PRINT  CHR$(7);: GOTO 1260
  145. 1380  GOTO 1290
  146. 1390  GOSUB 4080: POKE 237,19: POKE 238,25: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 2040:P = P -1: GOSUB 2090
  147. 1400  GOSUB 2260: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 1400
  148. 1410  IF  VAL(A$) = 1  THEN  GOSUB 2190: GOTO 1400
  149. 1420  IF  VAL(A$) = 3  THEN 1510
  150. 1430  GOSUB 4080: POKE 237,23: POKE 238,25: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 2040:P = P -1: GOSUB 2090
  151. 1440  GOSUB 2260: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 1440
  152. 1450  IF  VAL(A$) = 1  THEN  GOSUB 2190: GOTO 1440
  153. 1460  IF  VAL(A$) = 3  THEN 1510
  154. 1470  GOSUB 4080: POKE 237,27: POKE 238,25: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 2040:P = P -1: GOSUB 2090: GOSUB 2120: GOSUB 2160:VA = 0: GOTO 1510
  155. 1480  IF  VAL(B1$) >M1  THEN  GOSUB 4260: GOTO 1260
  156. 1490  GOSUB 2240
  157. 1500  GOSUB 4080: POKE 237,19: POKE 238,25: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 2040:P = P -1: GOSUB 2090: FOR T = 1 TO 1000: NEXT 
  158. 1510  FOR T = 1 TO 1000: NEXT : VTAB 21: HTAB 2: PRINT " ": VTAB 23: CALL  -868: GOTO 2290
  159. 1520  IF  VAL(B1$) >M1  THEN  GOSUB 4260: GOTO 1260
  160. 1530  GOSUB 2240: REM   ********* PLAYER ONE SPLIT *********
  161. 1540  VTAB 23: CALL  -868: FOR T = 1 TO 1000: NEXT : POKE 237,15: POKE 238,25: CALL 2057: POKE 237,17: POKE 238,25: POKE 239,Z1: CALL 2048: POKE 237,17: POKE 238,25: CALL 2057
  162. 1550  FOR A = 19 TO 27  STEP 2: POKE 237,A: POKE 238,25: POKE 239,Z1: CALL 2048: POKE 237,A -4: POKE 238,25: CALL 2057: NEXT 
  163. 1560  FOR T = 1 TO 400: NEXT : FOR A = 11 TO 13  STEP 2: POKE 237,A: POKE 238,25: POKE 239,Y1: CALL 2048: POKE 237,A -4: POKE 238,25: CALL 2057: NEXT 
  164. 1570  GOSUB 4080: POKE 237,9: POKE 238,25: POKE 239,D%(P):Y1 = D%(P): CALL 2051: GOSUB 3950: GOSUB 1770:P = P -1
  165. 1580  GOSUB 4080: POKE 237,23: POKE 238,25: POKE 239,D%(P):Z1 = D%(P): CALL 2051: GOSUB 3950: GOSUB 2000:P = P -1
  166. 1590  GOSUB 2270: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 1590
  167. 1600  IF  VAL(A$) = 1  THEN  GOSUB 2210: GOTO 1630
  168. 1610  IF  VAL(A$) = 2  THEN 1650
  169. 1620  IF  VAL(A$) = 3  THEN 1820
  170. 1630  IF VA = 21  THEN  GOSUB 2140: GOSUB 2170: GOTO 1820
  171. 1640  GOTO 1590
  172. 1650  GOSUB 4080: POKE 237,15: POKE 238,25: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 1780:P = P -1: GOSUB 1740
  173. 1660  GOSUB 2270: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 1660
  174. 1670  IF  VAL(A$) = 1  THEN  GOSUB 2210: GOTO 1660
  175. 1680  IF  VAL(A$) = 3  THEN 1820
  176. 1690  GOSUB 4080: POKE 237,17: POKE 238,25: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 1780:P = P -1: GOSUB 1740
  177. 1700  GOSUB 2270: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 1700
  178. 1710  IF  VAL(A$) = 1  THEN  GOSUB 2210: GOTO 1700
  179. 1720  IF  VAL(A$) = 3  THEN 1820
  180. 1730  GOSUB 4080: POKE 237,19: POKE 238,25: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 1780:P = P -1: GOSUB 1740: GOSUB 2120: GOSUB 2170:VA = 0: GOTO 1820
  181. 1740  IF VA >21  THEN  GOSUB 2220
  182. 1750  IF VA >21  THEN  FOR A = 9 TO 19  STEP 2: POKE 237,A: POKE 238,25: CALL 2057: NEXT :VA = 0:Y = 0: POP : GOTO 1820
  183. 1760  RETURN 
  184. 1770 VA = VA -EE
  185. 1780  IF CC = 11  AND V = 11  THEN V = 1
  186. 1790  IF V = 11  THEN CC = 11
  187. 1800  IF CC = 11  AND VA +V >21  THEN VA = VA +V -10:CC = 1: RETURN 
  188. 1810 VA = VA +V: RETURN 
  189. 1820  GOSUB 2280: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 1820
  190. 1830  IF  VAL(A$) = 1  THEN  GOSUB 2200: GOTO 1860
  191. 1840  IF  VAL(A$) = 2  THEN 1880
  192. 1850  IF  VAL(A$) = 3  THEN 1510
  193. 1860  IF EE = 21  THEN  GOSUB 2140: GOSUB 2180: GOTO 1510
  194. 1870  GOTO 1820
  195. 1880  GOSUB 4080: POKE 237,29: POKE 238,25: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 2000:P = P -1: GOSUB 1970
  196. 1890  GOSUB 2280: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 1890
  197. 1900  IF  VAL(A$) = 1  THEN  GOSUB 2200: GOTO 1890
  198. 1910  IF  VAL(A$) = 3  THEN 1510
  199. 1920  GOSUB 4080: POKE 237,31: POKE 238,25: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 2000:P = P -1: GOSUB 1970
  200. 1930  GOSUB 2280: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 1930
  201. 1940  IF  VAL(A$) = 1  THEN  GOSUB 2200: GOTO 1930
  202. 1950  IF  VAL(A$) = 3  THEN 1510
  203. 1960  GOSUB 4080: POKE 237,33: POKE 238,25: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 2000:P = P -1: GOSUB 1970: GOSUB 2120: GOSUB 2180:CC = 0: GOTO 1510
  204. 1970  IF EE >21  THEN  VTAB 23: CALL  -868: FOR T = 1 TO 1000: NEXT : VTAB 23: HTAB 14: FLASH : PRINT " B U S T E D ": FOR S = 1 TO 10: POKE 2060,1: POKE 2061,10: CALL 2062: NEXT 
  205. 1980  IF EE >21  THEN  FOR T = 1 TO 2000: NEXT : NORMAL : VTAB 23: CALL  -868: FOR A = 23 TO 33  STEP 2: POKE 237,A: POKE 238,25: CALL 2057: NEXT :EE = 0:Y = 0: POP : GOTO 1510
  206. 1990  RETURN 
  207. 2000  IF DD = 11  AND V = 11  THEN V = 1
  208. 2010  IF V = 11  THEN DD = 11
  209. 2020  IF DD = 11  AND EE +V >21  THEN EE = EE +V -10:DD = 1: RETURN 
  210. 2030 EE = EE +V: RETURN 
  211. 2040  IF BB = 11  AND V = 11  THEN V = 1
  212. 2050  IF V = 11  AND VA +V >21  THEN V = 1
  213. 2060  IF V = 11  THEN BB = 11
  214. 2070  IF BB = 11  AND VA +V >21  THEN VA = VA +V -10:BB = 1: RETURN 
  215. 2080 VA = VA +V: RETURN 
  216. 2090  IF VA >21  THEN  GOSUB 2220
  217. 2100  IF VA >21  THEN VA = 0:Y = 0: FOR A = 9 TO 27  STEP 2: POKE 237,A: POKE 238,25: CALL 2057: NEXT : POP : GOTO 1510
  218. 2110  RETURN 
  219. 2120  FOR T = 1 TO 1500: NEXT :M1 = M1 + INT( VAL(B1$) *3): GOSUB 3930: VTAB 21: HTAB 12: FLASH : PRINT "$": FOR T = 1 TO 1600: NEXT 
  220. 2130  VTAB 21: HTAB 12: NORMAL : PRINT "$     ";: HTAB 13: PRINT M1: RETURN 
  221. 2140  VTAB 23: CALL  -868: VTAB 23: HTAB 12: FLASH : PRINT " B L A C K J A C K ": NORMAL : GOSUB 4180: FOR T = 1 TO 2000: NEXT : VTAB 23: CALL  -868: GOSUB 3930
  222. 2150  VTAB 21: HTAB 12: FLASH : PRINT "$": NORMAL : FOR T = 1 TO 1600: NEXT :M1 = M1 + INT( VAL(B1$) *2.5): VTAB 21: HTAB 12: PRINT "$     ";: HTAB 13: PRINT M1: RETURN 
  223. 2160  FOR T = 1 TO 1000: NEXT : FOR A = 11 TO 27  STEP 2: POKE 237,A: POKE 238,25: CALL 2057: NEXT :VA = 0: RETURN 
  224. 2170  FOR T = 1 TO 1000: NEXT : FOR A = 9 TO 19  STEP 2: POKE 237,A: POKE 238,25: CALL 2057: NEXT :VA = 0: RETURN 
  225. 2180  FOR T = 1 TO 1000: NEXT : FOR A = 23 TO 33  STEP 2: POKE 237,A: POKE 238,25: CALL 2057: NEXT :EE = 0: RETURN 
  226. 2190  POKE 237,11: POKE 238,25: POKE 239,Y1: CALL 2048: FOR T = 1 TO 1500: NEXT : POKE 237,11: POKE 238,25: CALL 2051: RETURN 
  227. 2200  POKE 237,23: POKE 238,25: POKE 239,Z1: CALL 2048: FOR T = 1 TO 1500: NEXT : POKE 237,23: POKE 238,25: CALL 2051: RETURN 
  228. 2210  POKE 237,9: POKE 238,25: POKE 239,Y1: CALL 2048: FOR T = 1 TO 1500: NEXT : POKE 237,9: POKE 238,25: CALL 2051: RETURN 
  229. 2220  VTAB 23: HTAB 1: CALL  -868: FOR T = 1 TO 1000: NEXT : VTAB 23: HTAB 14: FLASH : PRINT " B U S T E D ": FOR S = 1 TO 10: POKE 2060,1: POKE 2061,10: CALL 2062: NEXT 
  230. 2230  FOR T = 1 TO 2000: NEXT : NORMAL : VTAB 23: CALL  -868: RETURN 
  231. 2240  VTAB 23: CALL  -868: VTAB 23: PRINT "You add $";: PRINT  VAL(B1$);: PRINT " to your bet - Press Return";: GET RE$: VTAB 23: HTAB 1: CALL  -868
  232. 2250  VTAB 21: HTAB 13: PRINT "     ":M1 = M1 - VAL(B1$): VTAB 21: HTAB 13: PRINT M1: RETURN 
  233. 2260  VTAB 23: CALL  -868: VTAB 23: HTAB 9: PRINT "1)Turn   2)Hit   3)Stay ";: GET A$: VTAB 23: HTAB 1: CALL  -868: RETURN 
  234. 2270  VTAB 23: CALL  -868: VTAB 23: HTAB 2: PRINT "LEFT HAND - 1)Turn   2)Hit   3)Stay ";: GET A$: VTAB 23: HTAB 1: CALL  -868: RETURN 
  235. 2280  VTAB 23: CALL  -868: VTAB 23: HTAB 2: PRINT "RIGHT HAND - 1)Turn   2)Hit   3)Stay";: GET A$: VTAB 23: HTAB 1: CALL  -868: RETURN 
  236. 2290  IF PL$ = "1"  THEN 3350
  237. 2300  REM ** PLAYER TWOS TURN **
  238. 2310  SCALE= 1: ROT= 0: FOR A = 1 TO 7: HCOLOR= 4: DRAW 4 AT 2,95: FOR T = 1 TO 50: NEXT : HCOLOR= 6: DRAW 4 AT 2,95: FOR T = 1 TO 50: NEXT : NEXT 
  239. 2320  FOR A = 1 TO 4: VTAB 21: HTAB 21: INVERSE : PRINT ">": FOR T = 1 TO 75: NEXT : NORMAL : VTAB 21: HTAB 21: PRINT ">": FOR T = 1 TO 75: NEXT : NEXT 
  240. 2330  IF AA = HH  THEN  VTAB 23: CALL  -868: VTAB 23: HTAB 2: PRINT "1)Turn 2)Hit 3)Stay 4)Double 5)Split ";: GET A$: VTAB 23: HTAB 1: CALL  -868: GOTO 2350
  241. 2340  GOTO 2430
  242. 2350  IF  VAL(A$) <1  OR  VAL(A$) >5  THEN  PRINT  CHR$(7);: GOTO 2330
  243. 2360  IF  VAL(A$) = 1  THEN  GOSUB 3270: GOTO 2410
  244. 2370  IF  VAL(A$) = 5  AND AA = HH  THEN XX = 0:W = 1:Z = 1: GOTO 2600
  245. 2380  IF  VAL(A$) = 4  THEN XX = 1:HH = 0: GOTO 2550
  246. 2390  IF  VAL(A$) = 3  THEN XX = 0:HH = 0: GOTO 2590
  247. 2400  IF  VAL(A$) = 2  THEN XX = 0:HH = 0: GOTO 2460
  248. 2410  IF VB = 21  THEN  GOSUB 3220: GOSUB 3240:HH = 0: GOTO 2590
  249. 2420  GOTO 2330
  250. 2430  VTAB 23: CALL  -958: VTAB 23: HTAB 3: PRINT "1)Turn  2)Hit   3)Stay   4)Double ";: GET A$: VTAB 23: HTAB 1: CALL  -868
  251. 2440  IF  VAL(A$) <1  OR  VAL(A$) >4  THEN 2330
  252. 2450  GOTO 2360
  253. 2460  GOSUB 4080: POKE 237,19: POKE 238,70: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 3130:P = P -1: GOSUB 3170
  254. 2470  GOSUB 2260: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 2470
  255. 2480  IF  VAL(A$) = 1  THEN  GOSUB 3270: GOTO 2470
  256. 2490  IF  VAL(A$) = 3  THEN 2590
  257. 2500  GOSUB 4080: POKE 237,23: POKE 238,70: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 3130:P = P -1: GOSUB 3170
  258. 2510  GOSUB 2260: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 2510
  259. 2520  IF  VAL(A$) = 1  THEN  GOSUB 3270: GOTO 2510
  260. 2530  IF  VAL(A$) = 3  THEN 2590
  261. 2540  GOSUB 4080: POKE 237,27: POKE 238,70: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 3130:P = P -1: GOSUB 3170: GOSUB 3200: GOSUB 3240: GOTO 2580
  262. 2550  IF  VAL(B2$) >M2  THEN  GOSUB 4260: GOTO 2330
  263. 2560  GOSUB 3320
  264. 2570  GOSUB 4080: POKE 237,19: POKE 238,70: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 3130:P = P -1: GOSUB 3170: FOR T = 1 TO 1000: NEXT : GOTO 2590
  265. 2580  FOR A = 11 TO 27  STEP 2: POKE 237,A: POKE 238,70: CALL 2057: NEXT :VB = 0
  266. 2590  VTAB 21: HTAB 21: PRINT " ": VTAB 23: CALL  -868: GOTO 3350
  267. 2600  IF  VAL(B2$) >M2  THEN  GOSUB 4260: GOTO 2330
  268. 2610  GOSUB 3320
  269. 2620  REM ** PLAYER TWO SPLIT **
  270. 2630  VTAB 23: CALL  -868: FOR T = 1 TO 1000: NEXT : POKE 237,15: POKE 238,70: CALL 2057: POKE 237,17: POKE 238,70: POKE 239,Z2: CALL 2048: POKE 237,17: POKE 238,70: CALL 2057
  271. 2640  FOR A = 19 TO 27  STEP 2: POKE 237,A: POKE 238,70: POKE 239,Z2: CALL 2048: POKE 237,A -4: POKE 238,70: CALL 2057: NEXT 
  272. 2650  FOR T = 1 TO 400: NEXT : FOR A = 11 TO 13  STEP 2: POKE 237,A: POKE 238,70: POKE 239,Y2: CALL 2048: POKE 237,A -4: POKE 238,70: CALL 2057: NEXT 
  273. 2660  GOSUB 4080: POKE 237,9: POKE 238,70: POKE 239,D%(P):Y2 = D%(P): CALL 2051: GOSUB 3950: GOSUB 2860:P = P -1
  274. 2670  GOSUB 4080: POKE 237,23: POKE 238,70: POKE 239,D%(P):Z2 = D%(P): CALL 2051: GOSUB 3950: GOSUB 3090:P = P -1
  275. 2680  GOSUB 2270: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 2680
  276. 2690  IF  VAL(A$) = 1  THEN  GOSUB 3290: GOTO 2720
  277. 2700  IF  VAL(A$) = 2  THEN 2740
  278. 2710  IF  VAL(A$) = 3  THEN 2910
  279. 2720  IF VB = 21  THEN  GOSUB 3220: GOSUB 3250:HH = 0: GOTO 2910
  280. 2730  GOTO 2680
  281. 2740  GOSUB 4080: POKE 237,15: POKE 238,70: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 2870:P = P -1: GOSUB 2830
  282. 2750  GOSUB 2270: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 2750
  283. 2760  IF  VAL(A$) = 1  THEN  GOSUB 3290: GOTO 2750
  284. 2770  IF  VAL(A$) = 3  THEN 2910
  285. 2780  GOSUB 4080: POKE 237,17: POKE 238,70: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 2870:P = P -1: GOSUB 2830
  286. 2790  GOSUB 2270: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 2790
  287. 2800  IF  VAL(A$) = 1  THEN  GOSUB 3290: GOTO 2790
  288. 2810  IF  VAL(A$) = 3  THEN 2910
  289. 2820  GOSUB 4080: POKE 237,19: POKE 238,70: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 2870:P = P -1: GOSUB 2830: GOSUB 3200: GOSUB 3250:VB = 0: GOTO 2910
  290. 2830  IF VB >21  THEN  GOSUB 3300
  291. 2840  IF VB >21  THEN  FOR A = 9 TO 19  STEP 2: POKE 237,A: POKE 238,70: CALL 2057: NEXT :VB = 0:W = 0: POP : GOTO 2910
  292. 2850  RETURN 
  293. 2860 VB = VB -HH
  294. 2870  IF AA = 11  AND V = 11  THEN V = 1
  295. 2880  IF V = 11  THEN AA = 11
  296. 2890  IF AA = 11  AND VB +V >21  THEN VB = VB +V -10:AA = 1: RETURN 
  297. 2900 VB = VB +V: RETURN 
  298. 2910  GOSUB 2280: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 2910
  299. 2920  IF  VAL(A$) = 1  THEN  GOSUB 3280: GOTO 2950
  300. 2930  IF  VAL(A$) = 2  THEN 2970
  301. 2940  IF  VAL(A$) = 3  THEN 2590
  302. 2950  IF HH = 21  THEN  GOSUB 3220: GOSUB 3260: GOTO 2590
  303. 2960  GOTO 2910
  304. 2970  GOSUB 4080: POKE 237,29: POKE 238,70: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 3090:P = P -1: GOSUB 3060
  305. 2980  GOSUB 2280: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 2790
  306. 2990  IF  VAL(A$) = 1  THEN  GOSUB 3280: GOTO 2790
  307. 3000  IF  VAL(A$) = 3  THEN 2590
  308. 3010  GOSUB 4080: POKE 237,31: POKE 238,70: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 3090:P = P -1: GOSUB 3060
  309. 3020  GOSUB 2280: IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  PRINT  CHR$(7);: GOTO 3020
  310. 3030  IF  VAL(A$) = 1  THEN  GOSUB 3280: GOTO 3020
  311. 3040  IF  VAL(A$) = 3  THEN 2590
  312. 3050  GOSUB 4080: POKE 237,33: POKE 238,70: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 3090:P = P -1: GOSUB 3060: GOSUB 3200: GOSUB 3260: GOTO 2590
  313. 3060  IF HH >21  THEN  GOSUB 3300
  314. 3070  IF HH >21  THEN  FOR A = 23 TO 33  STEP 2: POKE 237,A: POKE 238,70: CALL 2057: NEXT :HH = 0:W = 0: POP : GOTO 2590
  315. 3080  RETURN 
  316. 3090  IF II = 11  AND V = 11  THEN V = 1
  317. 3100  IF V = 11  THEN II = 11
  318. 3110  IF II = 11  AND HH +V >21  THEN HH = HH +V -10:II = 1: RETURN 
  319. 3120 HH = HH +V: RETURN 
  320. 3130  IF GG = 11  AND V = 11  THEN V = 1
  321. 3140  IF V = 11  THEN GG = 11
  322. 3150  IF GG = 11  AND VB +V >21  THEN VB = VB +V -10:GG = 1: RETURN 
  323. 3160 VB = VB +V: RETURN 
  324. 3170  IF VB >21  THEN  GOSUB 3300
  325. 3180  IF VB >21  THEN VB = 0:W = 0: FOR A = 11 TO 27  STEP 2: POKE 237,A: POKE 238,70: CALL 2057: NEXT : POP : GOTO 2590
  326. 3190  RETURN 
  327. 3200  FOR T = 1 TO 1500: NEXT :M2 = M2 + VAL(B2$) *3: GOSUB 3940: VTAB 21: HTAB 32: FLASH : PRINT "$": FOR T = 1 TO 1600: NEXT 
  328. 3210  VTAB 21: HTAB 32: NORMAL : PRINT "$     ";: HTAB 33: PRINT M2: RETURN 
  329. 3220  VTAB 23: CALL  -868: VTAB 23: HTAB 12: FLASH : PRINT " B L A C K J A C K ": NORMAL : GOSUB 4180: FOR T = 1 TO 2000: NEXT : VTAB 23: CALL  -868: GOSUB 3940
  330. 3230  VTAB 21: HTAB 32: FLASH : PRINT "$": NORMAL : FOR T = 1 TO 1600: NEXT :M2 = M2 + INT( VAL(B2$) *2.5): VTAB 21: HTAB 32: PRINT "$     ";: HTAB 33: PRINT M2: RETURN 
  331. 3240  FOR T = 1 TO 1000: NEXT : FOR A = 11 TO 27  STEP 2: POKE 237,A: POKE 238,70: CALL 2057: NEXT :VB = 0: RETURN 
  332. 3250  FOR T = 1 TO 1000: NEXT : FOR A = 9 TO 19  STEP 2: POKE 237,A: POKE 238,70: CALL 2057: NEXT :VB = 0: RETURN 
  333. 3260  FOR T = 1 TO 1000: NEXT : FOR A = 23 TO 33  STEP 2: POKE 237,A: POKE 238,70: CALL 2057: NEXT :HH = 0: RETURN 
  334. 3270  POKE 237,11: POKE 238,70: POKE 239,Y2: CALL 2048: FOR T = 1 TO 1500: NEXT : POKE 237,11: POKE 238,70: CALL 2051: RETURN 
  335. 3280  POKE 237,23: POKE 238,70: POKE 239,Z2: CALL 2048: FOR T = 1 TO 1500: NEXT : POKE 237,23: POKE 238,70: CALL 2051: RETURN 
  336. 3290  POKE 237,9: POKE 238,70: POKE 239,Y2: CALL 2048: FOR T = 1 TO 1500: NEXT : POKE 237,9: POKE 238,70: CALL 2051: RETURN 
  337. 3300  VTAB 23: CALL  -868: FOR T = 1 TO 1000: NEXT : VTAB 23: HTAB 14: FLASH : PRINT " B U S T E D ": FOR S = 1 TO 10: POKE 2060,1: POKE 2061,10: CALL 2062: NEXT 
  338. 3310  FOR T = 1 TO 2000: NEXT : NORMAL : VTAB 23: CALL  -868: RETURN 
  339. 3320  VTAB 23: CALL  -868: VTAB 23: PRINT "You add $";: PRINT  VAL(B2$);: PRINT " to your bet - Press Return";: GET RE$: VTAB 23: CALL  -868
  340. 3330  VTAB 21: HTAB 33: PRINT "     ":M2 = M2 - VAL(B2$): VTAB 21: HTAB 33: PRINT M2: RETURN 
  341. 3340  REM  *** HOUSE'S TURN ***
  342. 3350  SCALE= 1: ROT= 0: FOR A = 1 TO 7: HCOLOR= 4: DRAW 2 AT 2,140: FOR T = 1 TO 50: NEXT : HCOLOR= 6: DRAW 2 AT 2,140: FOR T = 1 TO 50: NEXT : NEXT 
  343. 3360  VTAB 23: CALL  -868: FOR T = 1 TO 500: NEXT : POKE 237,11: POKE 238,115: POKE 239,Y3: CALL 2048
  344. 3370  GOSUB 3410: GOSUB 3430
  345. 3380  GOSUB 4080: POKE 237,19: POKE 238,115: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 3450:P = P -1: GOSUB 3430: GOSUB 3490
  346. 3390  GOSUB 4080: POKE 237,23: POKE 238,115: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 3450:P = P -1: GOSUB 3430: GOSUB 3490
  347. 3400  GOSUB 4080: POKE 237,27: POKE 238,115: POKE 239,D%(P): CALL 2048: GOSUB 3950: GOSUB 3450:P = P -1: GOSUB 3490: GOTO 3620
  348. 3410  IF VA = 0  AND VB = 0  AND EE = 0  AND HH = 0  THEN  FOR T = 1 TO 2000: NEXT : FOR A = 11 TO 27  STEP 2: POKE 237,A: POKE 238,115: CALL 2057: NEXT : POP : GOTO 3530
  349. 3420  RETURN 
  350. 3430  IF VC >16  AND VC <22  THEN  FOR T = 1 TO 1000: POP : GOTO 3620
  351. 3440  FOR T = 1 TO 1000: NEXT : IF VC <17  THEN  RETURN 
  352. 3450  IF LL = 11  AND V = 11  THEN V = 1
  353. 3460  IF V = 11  THEN LL = 11
  354. 3470  IF LL = 11  AND VC +V >21  THEN VC = VC +V -10:LL = 1: RETURN 
  355. 3480 VC = VC +V: RETURN 
  356. 3490  IF VC =  >22  THEN  VTAB 23: CALL  -868: VTAB 23: HTAB 8: FLASH : PRINT " H O U S E   B U S T E D ": FOR S = 1 TO 10: POKE 2060,1: POKE 2061,10: CALL 2062: NEXT 
  357. 3500  IF VC =  >22  THEN  FOR T = 1 TO 2000: NEXT : NORMAL : VTAB 23: CALL  -868
  358. 3510  IF VC =  >22  THEN VC = 0: FOR A = 11 TO 27  STEP 2: POKE 237,A: POKE 238,115: CALL 2057: NEXT : POP : GOTO 3620
  359. 3520  RETURN 
  360. 3530  IF M1 = 0  THEN  GOTO 4270
  361. 3540  IF  VAL(PL$) = 2  AND M2 = 0  THEN  GOTO 4300
  362. 3550  VTAB 23: CALL  -868: VTAB 23: HTAB 2: PRINT "1. New Hand   2. New Game   3. Quit ";: GET A$
  363. 3560  IF  VAL(A$) <1  OR  VAL(A$) >3  THEN  VTAB 23: CALL  -868: GOTO 3530
  364. 3570  IF  VAL(A$) = 1  AND P <15  THEN  VTAB 23: CALL  -868: POKE 237,35: POKE 238,115: CALL 2057: GOSUB 4100: GOSUB 4160: GOTO 710
  365. 3580  IF  VAL(A$) = 1  THEN  VTAB 23: CALL  -868: GOTO 730
  366. 3590  IF  VAL(A$) = 2  THEN  GOTO 110
  367. 3600  IF  VAL(A$) = 3  THEN  VTAB 23: CALL  -868: GOSUB 4190
  368. 3610  GOTO 3530
  369. 3620  FOR T = 1 TO 1500: NEXT : IF VA >0  AND VA <22  AND R = 1  THEN  POKE 237,9: POKE 238,25: POKE 239,Y1: CALL 2048: FOR T = 1 TO 500: NEXT 
  370. 3630  IF VA >0  AND VA <22  AND R = 0  THEN  POKE 237,11: POKE 238,25: POKE 239,Y1: CALL 2048: FOR T = 1 TO 500: NEXT 
  371. 3640  IF EE >0  AND EE <22  THEN  POKE 237,23: POKE 238,25: POKE 239,Z1: CALL 2048: FOR T = 1 TO 500: NEXT 
  372. 3650  IF VB >0  AND VB <22  AND Z = 1  THEN  POKE 237,9: POKE 238,70: POKE 239,Y2: CALL 2048: FOR T = 1 TO 500: NEXT 
  373. 3660  IF VB >0  AND VB <22  AND Z = 0  THEN  POKE 237,11: POKE 238,70: POKE 239,Y2: CALL 2048: FOR T = 1 TO 500: NEXT 
  374. 3670  IF HH >0  AND HH <22  THEN  POKE 237,23: POKE 238,70: POKE 239,Z2: CALL 2048: FOR T = 1 TO 1000: NEXT 
  375. 3680  FOR T = 1 TO 1000: NEXT : IF VA >0  AND VA <22  AND VA >VC  AND X = 0  THEN  GOSUB 3930
  376. 3690  IF VA >0  AND VA <22  AND VA >VC  AND X = 0  THEN M1 = M1 + VAL(B1$) *2: VTAB 21: HTAB 12: FLASH : PRINT "$": FOR T = 1 TO 1600: NEXT 
  377. 3700  IF X = 1  AND VA >0  AND VA <22  AND VA >VC  THEN  GOSUB 3930
  378. 3710  IF X = 1  AND VA >0  AND VA <22  AND VA >VC  THEN M1 = M1 + VAL(B1$) *3: VTAB 21: HTAB 12: FLASH : PRINT "$": FOR T = 1 TO 1600: NEXT 
  379. 3720  IF VA >0  AND VA <22  AND VA >VC  THEN  VTAB 21: HTAB 12: NORMAL : PRINT "$      ";: HTAB 13: PRINT M1
  380. 3730  IF Y = 1  AND VA >0  AND VA <22  AND VA >VC  THEN  FOR T = 1 TO 500: NEXT : FOR A = 9 TO 19  STEP 2: POKE 237,A: POKE 238,25: CALL 2057: NEXT :VA = 0
  381. 3740  IF EE >0  AND EE <22  AND EE >VC  THEN  GOSUB 3930
  382. 3750  IF EE >0  AND EE <22  AND EE >VC  THEN M1 = M1 + VAL(B1$) *2: VTAB 21: HTAB 12: FLASH : PRINT "$": FOR T = 1 TO 1600: NEXT 
  383. 3760  IF EE >0  AND EE <22  AND EE >VC  THEN  VTAB 21: HTAB 12: NORMAL : PRINT "$     ";: HTAB 13: PRINT M1
  384. 3770  IF Y = 1  AND EE >0  AND EE <22  AND EE >VC  THEN  FOR T = 1 TO 500: NEXT : FOR A = 23 TO 33  STEP 2: POKE 237,A: POKE 238,25: CALL 2057: NEXT :EE = 0
  385. 3780  IF XX = 0  AND VB >0  AND VB <22  AND VB >VC  THEN  GOSUB 3940
  386. 3790  IF XX = 0  AND VB >0  AND VB <22  AND VB >VC  THEN M2 = M2 + VAL(B2$) *2: VTAB 21: HTAB 32: FLASH : PRINT "$": FOR T = 1 TO 1600: NEXT 
  387. 3800  IF XX = 1  AND VB >0  AND VB <22  AND VB >VC  THEN  GOSUB 3940
  388. 3810  IF XX = 1  AND VB >0  AND VB <22  AND VB >VC  THEN M2 = M2 + VAL(B2$) *3: VTAB 21: HTAB 32: FLASH : PRINT "$": FOR T = 1 TO 1600: NEXT 
  389. 3820  IF VB >0  AND VB <22  AND VB >VC  THEN  VTAB 21: HTAB 32: NORMAL : PRINT "$      ";: HTAB 33: PRINT M2
  390. 3830  IF W = 1  AND VB >0  AND VB <22  AND VB >VC  THEN  FOR T = 1 TO 500: NEXT : FOR A = 9 TO 19  STEP 2: POKE 237,A: POKE 238,70: CALL 2057: NEXT :VB = 0
  391. 3840  IF HH >0  AND HH <22  AND HH >VC  THEN  GOSUB 3940
  392. 3850  IF HH >0  AND HH <22  AND HH >VC  THEN M2 = M2 + VAL(B2$) *2: VTAB 21: HTAB 32: FLASH : PRINT "$": FOR T = 1 TO 1600: NEXT 
  393. 3860  IF HH >0  AND HH <22  AND HH >VC  THEN  VTAB 21: HTAB 32: NORMAL : PRINT "$      ";: HTAB 33: PRINT M2
  394. 3870  IF W = 1  AND HH >0  AND HH <22  AND HH >VC  THEN  FOR T = 1 TO 500: NEXT : FOR A = 23 TO 33  STEP 2: POKE 237,A: POKE 238,70: CALL 2057: NEXT :HH = 0
  395. 3880  REM  *** ERASE CARDS ***
  396. 3890  FOR T = 1 TO 500: NEXT : FOR A = 9 TO 33  STEP 4: POKE 237,A: POKE 238,25: CALL 2057: NEXT 
  397. 3900  FOR T = 1 TO 500: NEXT : FOR A = 9 TO 33  STEP 4: POKE 237,A: POKE 238,70: CALL 2057: NEXT 
  398. 3910  FOR T = 1 TO 500: NEXT : FOR A = 11 TO 27  STEP 4: POKE 237,A: POKE 238,115: CALL 2057: NEXT 
  399. 3920  GOTO 3530
  400. 3930  SCALE= 1: ROT= 0: FOR A = 1 TO 12: HCOLOR= 5: DRAW 7 AT 2,55: DRAW 7 AT 1,55: HCOLOR= 4: DRAW 7 AT 2,55: DRAW 7 AT 1,55: NEXT : RETURN 
  401. 3940  SCALE= 1: ROT= 0: FOR A = 1 TO 12: HCOLOR= 5: DRAW 7 AT 2,100: DRAW 7 AT 1,100: HCOLOR= 4: DRAW 7 AT 2,100: DRAW 7 AT 1,100: NEXT : RETURN 
  402. 3950  POKE 2060,2: POKE 2061,2: CALL 2062
  403. 3960  REM  **** RANK CARDS ****
  404. 3970  IF D%(P) = 17  OR D%(P) = 33  OR D%(P) = 49  OR D%(P) = 65  THEN V = 11: RETURN 
  405. 3980  IF D%(P) = 18  OR D%(P) = 34  OR D%(P) = 50  OR D%(P) = 66  THEN V = 2: RETURN 
  406. 3990  IF D%(P) = 19  OR D%(P) = 35  OR D%(P) = 51  OR D%(P) = 67  THEN V = 3: RETURN 
  407. 4000  IF D%(P) = 20  OR D%(P) = 36  OR D%(P) = 52  OR D%(P) = 68  THEN V = 4: RETURN 
  408. 4010  IF D%(P) = 21  OR D%(P) = 37  OR D%(P) = 53  OR D%(P) = 69  THEN V = 5: RETURN 
  409. 4020  IF D%(P) = 22  OR D%(P) = 38  OR D%(P) = 54  OR D%(P) = 70  THEN V = 6: RETURN 
  410. 4030  IF D%(P) = 23  OR D%(P) = 39  OR D%(P) = 55  OR D%(P) = 71  THEN V = 7: RETURN 
  411. 4040  IF D%(P) = 24  OR D%(P) = 40  OR D%(P) = 56  OR D%(P) = 72  THEN V = 8: RETURN 
  412. 4050  IF D%(P) = 25  OR D%(P) = 41  OR D%(P) = 57  OR D%(P) = 73  THEN V = 9: RETURN 
  413. 4060  IF D%(P) = 26  OR D%(P) = 42  OR D%(P) = 58  OR D%(P) = 74  OR D%(P) = 27  OR D%(P) = 43  OR D%(P) = 59  OR D%(P) = 75  OR D%(P) = 28  OR D%(P) = 44  THEN V = 10: RETURN 
  414. 4070  IF D%(P) = 60  OR D%(P) = 76  OR D%(P) = 29  OR D%(P) = 45  OR D%(P) = 61  OR D%(P) = 77  THEN V = 10: RETURN 
  415. 4080  FOR F = 1 TO 10: POKE 237,35: POKE 238,115: CALL 2057: POKE 237,35: POKE 238,115: CALL 2051: NEXT : RETURN 
  416. 4090  REM  *** SHUFFLE CARDS ***
  417. 4100  VTAB 23: HTAB 1: CALL  -868: VTAB 23: HTAB 14: PRINT "Shuffling Cards": FOR T = 1 TO 300: NEXT 
  418. 4110  FOR A = 1 TO 52: POKE 237,19: POKE 238,40 +(30 *( INT(A/2) = A/2)): CALL 2051
  419. 4120 B = D%( RND(1) *104 +1):D%( RND(0) *104 +1) = D%( RND(1) *104 +1):D%( RND(0) *104 +1) = B
  420. 4130  POKE 2060,1: POKE 2061,3: CALL 2062: NEXT : POKE 2060,1: POKE 2061,6: CALL 2062: VTAB 23: CALL  -868
  421. 4140  FOR A = 40 TO 70: POKE 237,19: POKE 238,A: CALL 2051: NEXT : FOR T = 1 TO 300: NEXT 
  422. 4150 C = 1: FOR P = 1 TO 104:H%(P) = D%(C):C = C +1: NEXT :P = 104: RETURN 
  423. 4160  POKE 237,19: POKE 238,70: CALL 2057: RETURN 
  424. 4170  REM  **** CARD SOUNDS ****
  425. 4180  FOR T = 1 TO 4: POKE 2060,1: POKE 2061,30: CALL 2062: POKE 2060,1: POKE 2061,45: CALL 2062: NEXT : RETURN 
  426. 4190  VTAB 23: HTAB 2: PRINT "Are you sure you want to quit? (Y/N) ";: GET AN$
  427. 4200  IF AN$ < > CHR$(89)  AND AN$ < > CHR$(121)  AND AN$ < > CHR$(78)  AND AN$ < > CHR$(110)  THEN  PRINT  CHR$(7);: VTAB 23: HTAB 1: CALL  -868: GOTO 4190
  428. 4210  IF AN$ = "Y"  OR AN$ = "y"  THEN  TEXT : HOME : END 
  429. 4220  IF AN$ = "N"  OR AN$ = "n"  THEN  VTAB 23: HTAB 1: CALL  -868: RETURN 
  430. 4230  REM *** ERROR MESSAGES ***
  431. 4240  PRINT  CHR$(7);: VTAB 21: CALL  -958: VTAB 23: HTAB 5: PRINT "Name must be 7 letters or less!": HTAB 13: PRINT "Press Return!";: GET RE$: VTAB 23: CALL  -958: RETURN 
  432. 4250  VTAB 23: HTAB 1: CALL  -958: VTAB 23: PRINT "Bet Only Whole Numbers Between 1 - 99!": HTAB 13: PRINT "Press Return!";: GET RE$: RETURN 
  433. 4260  PRINT  CHR$(7);: VTAB 23: CALL  -958: VTAB 23: HTAB 6: PRINT "You Don't Have Enough Money! ": HTAB 13: PRINT "Press Return!";: GET RE$: VTAB 23: HTAB 1: CALL  -958: RETURN 
  434. 4270  FOR T = 1 TO 2000: NEXT : TEXT : HOME : VTAB 10: HTAB 13: PRINT "I'm Sorry ";: PRINT N1$: PRINT : HTAB 8: PRINT "You Have Gone Bankrupt!"
  435. 4280  IF  VAL(PL$) = 2  THEN A =  LEN(N2$): IF M2 >1000  THEN  VTAB 15: HTAB 14 -A: PRINT N2$" Has Had A Good Day": PRINT : HTAB 13: PRINT "Winning  $"M2 -1000: GOTO 4330
  436. 4290  IF  VAL(PL$) = 2  AND M2 <1000  THEN  VTAB 15: HTAB 10 -A: PRINT N2$" Has Not Had A Very Good Day": PRINT : HTAB 13: PRINT "Loosing  $"1000 -M2: GOTO 4330
  437. 4300  FOR T = 1 TO 2000: NEXT : TEXT : HOME : VTAB 10: HTAB 13: PRINT "I'm Sorry ";: PRINT N2$: PRINT : HTAB 8: PRINT "You Have Gone Bankrupt!"
  438. 4310 A =  LEN(N1$): IF M1 >1000  THEN  VTAB 15: HTAB 14 -A: PRINT N1$" Has Had A Good Day": PRINT : HTAB 13: PRINT "Winning  $"M1 -1000: GOTO 4330
  439. 4320  IF M1 <1000  THEN  VTAB 15: HTAB 10 -A: PRINT N1$" Has Not Had A Very Good Day": PRINT : HTAB 13: PRINT "Loosing  $"1000 -M1
  440. 4330  VTAB 22: HTAB 8: PRINT "1. New Game      2. Quit": HTAB 13: PRINT "Choose Number!";: GET A$
  441. 4340  IF  VAL(A$) <1  OR  VAL(A$) >2  THEN  GOTO 4330
  442. 4350  IF  VAL(A$) = 2  THEN  HOME : PRINT  CHR$(4)"RUN A.MENU"
  443. 4360  IF  VAL(A$) = 1  THEN 110