home *** CD-ROM | disk | FTP | other *** search
/ Explore the World of Soft…ids, Adults, Educational / RocelcoInc-ExploreTheWorldOfSoftware-KidsAdultsEducational-Vol2-Shareware.iso / educate / disk116 / black.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1982-11-04  |  15.6 KB  |  397 lines

  1. 10  REM=======================================================================
  2. 20  REM============================ BLACKJACK ================================
  3. 30  REM This program plays Blackjack with either one or two players.  The   ==
  4. 40  REM computer always plays the role of dealer and the players betting    ==
  5. 50  REM on the results of each play.                                        ==
  6. 70  REM=======================================================================
  7. 80  REM $s2
  8. 100  REM======================================================================
  9. 110  REM=========================== MAIN ROUTINE =============================
  10. 120  REM This routine contains the main logic for the program.  It makes    ==
  11. 130  REM extensive use of subroutines which are described later.            ==
  12. 140  REM======================================================================
  13. 150  REM $s2
  14. 160  GOSUB 500 'INITIALIZATION
  15. 170  GOSUB 1000 'PLAY BLACKJACK
  16. 180  GOTO 170
  17. 490  REM $s2
  18. 500  REM======================================================================
  19. 510  REM========================== INITIALIZATION ============================
  20. 520  REM This routine turns off the function keys, sets the display to      ==
  21. 530  REM 80-character mode, and displays the opening screens.               ==
  22. 550  REM======================================================================
  23. 560  REM $s2
  24. 570  KEY OFF:KEY(10) ON:ON KEY(10) GOSUB 10000:DEFINT A-Z
  25. 580  WIDTH 80:B=0:O=0
  26. 590  CLS:HEART=3:DIAMOND=4:CLUB=5:SPADE=6
  27. 591  FOR I=1 TO 12
  28. 600  Y=5:X=30:CARD=I:SUIT=HEART:GOSUB 20000
  29. 601  Y=5:X=41:CARD=I+1:SUIT=SPADE:GOSUB 20000
  30. 602  NEXT I
  31. 603  Y=5:X=30:CARD=11:SUIT=HEART:GOSUB 20000
  32. 604  Y=5:X=41:CARD=1:SUIT=SPADE:GOSUB 20000
  33. 610  LOCATE 14,35:PRINT "BLACKJACK"
  34. 620  LOCATE 16,39:PRINT "by"
  35. 621  LOCATE 17,30:PRINT "Hughes J. Glantzberg"
  36. 622  LOCATE 18,30:PRINT "1602 Elizabeth Drive"
  37. 623  LOCATE 19,30:PRINT "Carrollton, TX 75007"
  38. 630  ON ERROR GOTO 3000
  39. 635  TIMEOUT=5:GOSUB 59950
  40. 640  RETURN
  41. 990  REM $pa
  42. 1000  REM=====================================================================
  43. 1010  REM======================== PLAY BLACKJACK =============================
  44. 1080  REM=====================================================================
  45. 1085  REM $s2
  46. 1100  CLS
  47. 1110  LOCATE 12,10:PRINT"Will there be 1 or 2 players?  ";
  48. 1120  GOSUB 59990:PLAYERS=VAL(IKEY$):IF PLAYERS<>1 AND PLAYERS<>2 THEN 1120
  49. 1130  PRINT PLAYERS
  50. 1140  FOR I=1 TO PLAYERS
  51. 1150  PRINT TAB(10) "Enter the name of player " I "  ";:INPUT "",NAM$(I)
  52. 1160  NEXT I
  53. 1170  GOSUB 59980:Z=50:DIM A(64)
  54. 1180  FOR X=1 TO 52:A(X)=X:NEXT X
  55. 1190  CLS:GOSUB 1200:CLS:GOTO 2000
  56. 1195  REM $s2
  57. 1200  REM=====================================================================
  58. 1210  REM========================== SHUFFLING ================================
  59. 1220  REM=====================================================================
  60. 1230  REM $s2
  61. 1240  LOCATE 12,35:PRINT"Shuffling"
  62. 1250  FOR L=1 TO 156:X=INT(RND*52)+1:Y=INT(RND*52)+1
  63. 1260  SWAP A(X),A(Y):NEXT L:J=1
  64. 1270  LOCATE 12,35:PRINT SPC(9):RETURN
  65. 1295  REM $s2
  66. 1300  REM=====================================================================
  67. 1310  REM======================== SELECT THE CARD ============================
  68. 1320  REM=====================================================================
  69. 1330  REM $s2
  70. 1340  SUIT=INT((A(J)-1)/13)
  71. 1350  CARD=A(J)-SUIT*13
  72. 1352  IF SUIT=3 THEN SUIT=CLUB
  73. 1354  IF SUIT=2 THEN SUIT=SPADE
  74. 1356  IF SUIT=1 THEN SUIT=DIAMOND
  75. 1358  IF SUIT=0 THEN SUIT=HEART
  76. 1360  RETURN
  77. 1395  REM $s2
  78. 1400  REM=====================================================================
  79. 1410  REM======================== SET UP THE CARD ============================
  80. 1420  REM=====================================================================
  81. 1430  REM $s2
  82. 1440  X=(N-1)*11+1
  83. 1450  Y=(M-1)*8+1
  84. 1460  GOSUB 20000
  85. 1470  RETURN
  86. 1990  REM $s2
  87. 2000  REM=====================================================================
  88. 2010  REM========================= BEGIN THE GAME ============================
  89. 2050  REM=====================================================================
  90. 2060  REM $s2
  91. 2070  LOCATE 25,10
  92. 2080  PRINT"Press `E' to quit playing";
  93. 2100  FOR X=1 TO PLAYERS
  94. 2105  LOCATE 11+X,10
  95. 2110  PRINT NAM$(X) ", what is your bet?  $";:INPUT "",IN$
  96. 2120  IF IN$="E" OR IN$="e" THEN RUN "b:???0??" ELSE BET(X)=VAL(IN$)
  97. 2130  NEXT X
  98. 2140  GOSUB 4000
  99. 2150  X1=0:X2=0:IF R=1001 THEN 2170
  100. 2160  IF A(59)=1011 THEN 2300 ELSE 2500
  101. 2170  FOR X=1 TO PLAYERS:LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:PRINT NAM$(X) ", insurance (y or n)? ";
  102. 2180  GOSUB 59990:IF INSTR("YNyn",IKEY$)=0 THEN 2180
  103. 2190  IF X=1 AND (IKEY$="y" OR IKEY$="Y") THEN X1=1
  104. 2200  IF X=2 AND (IKEY$="y" OR IKEY$="Y") THEN X2=1
  105. 2210  NEXT X
  106. 2220  IF A(59)<>1011 THEN 2900
  107. 2300  H=J:J=0:N=1:M=3:GOSUB 1300:GOSUB 1400:LOCATE 18,65:PRINT"BLACKJACK";
  108. 2310  J=H
  109. 2320  GOTO 5050
  110. 2500  FOR M=1 TO 2 STEP 3-PLAYERS
  111. 2510  N=3
  112. 2520  LOCATE 5,65:PRINT NAM$(1);
  113. 2530  LOCATE 18,65:PRINT"Dealer";
  114. 2540  LOCATE 25,1:PRINT SPC(70):IF M=1 THEN LOCATE 25,1:PRINT NAM$(1);:L=2 ELSE LOCATE 11,65:PRINT NAM$(2);:LOCATE 25,1:PRINT NAM$(2);:L=3
  115. 2550  PRINT"'s turn - 1=HIT, 2=STAND, 3=DOUBLE, 4=REVIEW CARDS";
  116. 2560  GOSUB 59990:IF INSTR("1234",IKEY$)=0 THEN 2560 ELSE X=VAL(IKEY$)
  117. 2570  Q=56+M:ON X GOTO 2600,2660,2800,6000:GOTO 2540
  118. 2580  NEXT M:GOTO 5000
  119. 2600  GOSUB 1300:GOSUB 1400:J=J+1:IF CARD>9 THEN R=10 ELSE R=CARD
  120. 2601  IF CARD=1 THEN R=1001
  121. 2602  A(Q)=A(Q)+R
  122. 2610  IF A(Q)<1000 AND A(Q)>21 THEN 2650
  123. 2620  IF A(Q)-(INT(A(Q)/1000)*1000)>21 THEN 2650
  124. 2630  N=N+1:IF O=99 THEN O=0:GOTO 2660 ELSE 2540
  125. 2650  LOCATE 25,1:PRINT SPC(79):LOCATE 25,1:PRINT"BUST!";:B=B+1
  126. 2660  IF N=3 AND A(Q)=1011 THEN A(Q)=9000
  127. 2670  T=J:GOTO 2580
  128. 2800  IF N<>3 THEN 2540 ELSE O=99:T(L)=T(L)*2:GOTO 2600
  129. 2900  LOCATE 25,1:PRINTSPC(79);:LOCATE 25,1:PRINT"No Blackjack!";
  130. 2910  TIMEOUT=5:GOSUB 59950
  131. 2920  IF X1=1 THEN BET(1)=BET(1)*0.5
  132. 2930  IF X2=1 THEN BET(2)=BET(2)*0.5
  133. 2940  GOTO 2500
  134. 2990  REM $s2
  135. 3000  REM=====================================================================
  136. 3010  REM======================== ERROR ROUTINE ==============================
  137. 3060  REM=====================================================================
  138. 3070  REM $s2
  139. 3080  IF ERR=4 THEN RESTORE:RESUME
  140. 3085  IF ERR=71 AND ERL=2090 THEN RUN
  141. 3090  PRINT"error " ERR " occurred in line " ERL
  142. 3100  STOP
  143. 3990  REM $s2
  144. 4000  REM=====================================================================
  145. 4010  REM======================= DISPLAY THE CARDS ===========================
  146. 4020  REM=====================================================================
  147. 4030  REM $s2
  148. 4040  CLS
  149. 4050  FOR N=1 TO 2
  150. 4060  FOR M=1 TO 3 STEP 3-PLAYERS
  151. 4070  IF M=3 AND N=1 THEN GOSUB 4500 ELSE GOSUB 4200
  152. 4071  NEXT M,N:RETURN
  153. 4200  GOSUB 1300:GOSUB 1400:J=J+1
  154. 4205  IF CARD>9 THEN R=10 ELSE R=CARD
  155. 4207  IF CARD=1 THEN R=1001
  156. 4210  A(56+M)=A(56+M)+R
  157. 4220  RETURN
  158. 4500  K=J:GOSUB 1300:A(0)=A(J):J=J+1:IF CARD>9 THEN R=10 ELSE R=CARD
  159. 4505  CARD=0:IF R=1 THEN R=1001
  160. 4510  GOSUB 1400
  161. 4520  A(59)=R
  162. 4530  RETURN
  163. 4990  REM $s2
  164. 5000  REM=====================================================================
  165. 5010  REM======================= PLAY THE DEALER =============================
  166. 5020  REM=====================================================================
  167. 5030  REM $s2
  168. 5035  LOCATE 25,1:PRINTSPC(79);
  169. 5040  N=1:M=3:W=J:J=0:GOSUB 1300:GOSUB 1400:J=W
  170. 5050  V=A(59):N=3:IF B=PLAYERS THEN 5500
  171. 5060  W=V/1000:V=V-W*1000:X=0:IF W>0 THEN X=1
  172. 5070  IF V>16 THEN 5500
  173. 5080  IF X>0 AND V+10>16 AND V+10<22 THEN V=V+10:GOTO 5500
  174. 5090  GOSUB 1300:GOSUB 1400:J=J+1:IF CARD>9 THEN R=10 ELSE R=CARD
  175. 5100  V=V+R+W*1000:N=N+1:GOTO 5060
  176. 5500  FOR X=1 TO PLAYERS:U=A(56+X):Y=U/1000:U=U-Y*1000
  177. 5510  IF Y>0 AND U+10<22 THEN U=U+10 ELSE IF U>21 THEN U=0
  178. 5520  IF V>21 THEN V=1
  179. 5530  Y=(X-1)*6+5
  180. 5535  IF A(56+X)=9000 THEN LOCATE Y,65:PRINT"BLACKJACK";:WINNING(X)=WINNING(X)+BET(X)*2:GOTO 5550
  181. 5540  IF V=U THEN LOCATE Y,65:PRINT"PUSH      "; ELSE IF V>U THEN LOCATE Y,65:PRINT"LOSE      ";:WINNING(X)=WINNING(X)-BET(X) ELSE LOCATE Y,65:PRINT"WIN       ";:WINNING(X)=WINNING(X)+BET(X)
  182. 5550  NEXT X
  183. 5560  FOR X=55 TO 59:A(X)=0:NEXT X:B=0
  184. 5570  TIMEOUT=5:GOSUB 59950
  185. 5580  CLS:LOCATE 3,37:PRINT"SO FAR":X=0
  186. 5590  LOCATE 5,30:PRINT NAM$(1) USING " has $#,###,###.##"; WINNING(1)
  187. 5600  IF PLAYERS=1 THEN 5620
  188. 5610  LOCATE 6,30:PRINT NAM$(2) USING " has $#,###,###.##"; WINNING(2)
  189. 5620  TIMEOUT=5:GOSUB 59950
  190. 5630  IF J>42 THEN GOSUB 1200
  191. 5640  GOTO 2000
  192. 5990  REM $s2
  193. 6000  REM=====================================================================
  194. 6010  REM======================= DISPLAY CARDS USED =========================
  195. 6020  REM=====================================================================
  196. 6030  REM $s2
  197. 6040  FOR X=57 TO 59:A(X)=0:NEXT X
  198. 6050  CLS:W=J:J=0:LOCATE 1,10:PRINT"HEARTS" TAB(30) "DIAMONDS" TAB(50) "CLUBS" TAB(70) "SPADES"
  199. 6060  LOCATE 3,1:PRINT"ACE"
  200. 6070  FOR Y=4 TO 12:LOCATE Y,1:PRINT Y-2:NEXT Y
  201. 6080  LOCATE 13,1:PRINT"JACK":LOCATE 14,1:PRINT"QUEEN":LOCATE 15,1:PRINT"KING"
  202. 6090  FOR J=1 TO K-PLAYERS:GOSUB 1300:E=(SUIT-3)*20+15:F=CARD+2
  203. 6100  LOCATE F,E:PRINT "POINT";:NEXT J
  204. 6110  TIMEOUT=5:GOSUB 59950
  205. 6120  CLS:J=K-PLAYERS:GOSUB 4000:M=1:N=3
  206. 6130  IF J=T THEN M=2:N=3
  207. 6140  IF J=W THEN 2520
  208. 6150  GOSUB 1300:GOSUB 1400:IF CARD>9 THEN R=10 ELSE R=CARD
  209. 6160  A(56+M)=A(56+M)+R:N=N+1:GOTO 6130
  210. 9990  REM $pa
  211. 10000  RUN "menu"
  212. 19990  REM $s2
  213. 20000  REM====================================================================
  214. 20010  REM======================== DISPLAY A CARD ============================
  215. 20020  REM This routine displays a card at coordinates (y,x) on the         ==
  216. 20030  REM screen.  CARD must be set to the card number (1-13) and SUIT     ==
  217. 20040  REM must be set to the value of the suit of the card.                ==
  218. 20050  REM====================================================================
  219. 20060  REM $s2
  220. 20070  LOCATE Y,X:PRINT CHR$(201) + STRING$(7,205) + CHR$(187);
  221. 20080  ON CARD+1 GOSUB 20500,30000,30120,30203,30263,30323,30383,30443,30493,30553,30613,30673,30733,30793
  222. 20090  LOCATE Y+7,X:PRINT CHR$(200) + STRING$(7,205) + CHR$(188);
  223. 20100  RETURN
  224. 20495  REM $s2
  225. 20500  REM====================================================================
  226. 20510  REM========================= DISPLAY A    =============================
  227. 20520  REM====================================================================
  228. 20530  REM $s2
  229. 20550  LOCATE Y+1,X:PRINT CHR$(186) "       " CHR$(186);
  230. 20560  LOCATE Y+2,X:PRINT CHR$(186) "       " CHR$(186);
  231. 20570  LOCATE Y+3,X:PRINT CHR$(186) "       " CHR$(186);
  232. 20580  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  233. 20590  LOCATE Y+5,X:PRINT CHR$(186) "       " CHR$(186);
  234. 20600  LOCATE Y+6,X:PRINT CHR$(186) "       " CHR$(186);
  235. 20610  RETURN
  236. 29990  REM $s2
  237. 30000  REM====================================================================
  238. 30010  REM========================= DISPLAY AN A =============================
  239. 30020  REM====================================================================
  240. 30030  REM $s2
  241. 30050  LOCATE Y+1,X:PRINT CHR$(186) "A      " CHR$(186);
  242. 30060  LOCATE Y+2,X:PRINT CHR$(186) "       " CHR$(186);
  243. 30070  LOCATE Y+3,X:PRINT CHR$(186) "   " CHR$(SUIT) "   " CHR$(186);
  244. 30080  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  245. 30090  LOCATE Y+5,X:PRINT CHR$(186) "       " CHR$(186);
  246. 30100  LOCATE Y+6,X:PRINT CHR$(186) "      A" CHR$(186);
  247. 30110  RETURN
  248. 30119  REM $pa
  249. 30120  REM====================================================================
  250. 30130  REM========================= DISPLAY A  2 =============================
  251. 30140  REM====================================================================
  252. 30145  REM $s2
  253. 30150  LOCATE Y+1,X:PRINT CHR$(186) "2      " CHR$(186);
  254. 30160  LOCATE Y+2,X:PRINT CHR$(186) "   " CHR$(SUIT) "   " CHR$(186);
  255. 30170  LOCATE Y+3,X:PRINT CHR$(186) "       " CHR$(186);
  256. 30180  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  257. 30190  LOCATE Y+5,X:PRINT CHR$(186) "   " CHR$(SUIT) "   " CHR$(186);
  258. 30200  LOCATE Y+6,X:PRINT CHR$(186) "      2" CHR$(186);
  259. 30201  RETURN
  260. 30202  REM $s2
  261. 30203  REM====================================================================
  262. 30204  REM========================= DISPLAY A  3 =============================
  263. 30205  REM====================================================================
  264. 30206  REM $s2
  265. 30210  LOCATE Y+1,X:PRINT CHR$(186) "3      " CHR$(186);
  266. 30220  LOCATE Y+2,X:PRINT CHR$(186) "   " CHR$(SUIT) "   " CHR$(186);
  267. 30230  LOCATE Y+3,X:PRINT CHR$(186) "   " CHR$(SUIT) "   " CHR$(186);
  268. 30240  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  269. 30250  LOCATE Y+5,X:PRINT CHR$(186) "   " CHR$(SUIT) "   " CHR$(186);
  270. 30260  LOCATE Y+6,X:PRINT CHR$(186) "      3" CHR$(186);
  271. 30261  RETURN
  272. 30262  REM $s2
  273. 30263  REM====================================================================
  274. 30264  REM========================= DISPLAY A  4 =============================
  275. 30265  REM====================================================================
  276. 30266  REM $s2
  277. 30270  LOCATE Y+1,X:PRINT CHR$(186) "4      " CHR$(186);
  278. 30280  LOCATE Y+2,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  279. 30290  LOCATE Y+3,X:PRINT CHR$(186) "       " CHR$(186);
  280. 30300  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  281. 30310  LOCATE Y+5,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  282. 30320  LOCATE Y+6,X:PRINT CHR$(186) "      4" CHR$(186);
  283. 30321  RETURN
  284. 30322  REM $pa
  285. 30323  REM====================================================================
  286. 30324  REM========================= DISPLAY A  5 =============================
  287. 30325  REM====================================================================
  288. 30326  REM $s2
  289. 30330  LOCATE Y+1,X:PRINT CHR$(186) "5      " CHR$(186);
  290. 30340  LOCATE Y+2,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  291. 30350  LOCATE Y+3,X:PRINT CHR$(186) "   " CHR$(SUIT) "   " CHR$(186);
  292. 30360  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  293. 30370  LOCATE Y+5,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  294. 30380  LOCATE Y+6,X:PRINT CHR$(186) "      5" CHR$(186);
  295. 30381  RETURN
  296. 30382  REM $pa
  297. 30383  REM====================================================================
  298. 30384  REM========================= DISPLAY A  6 =============================
  299. 30385  REM====================================================================
  300. 30386  REM $s2
  301. 30390  LOCATE Y+1,X:PRINT CHR$(186) "6      " CHR$(186);
  302. 30400  LOCATE Y+2,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  303. 30410  LOCATE Y+3,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  304. 30420  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  305. 30430  LOCATE Y+5,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  306. 30440  LOCATE Y+6,X:PRINT CHR$(186) "      6" CHR$(186);
  307. 30441  RETURN
  308. 30442  REM $s2
  309. 30443  REM====================================================================
  310. 30444  REM========================= DISPLAY A  7 =============================
  311. 30445  REM====================================================================
  312. 30446  REM $s2
  313. 30450  LOCATE Y+1,X:PRINT CHR$(186) "7      " CHR$(186);
  314. 30460  LOCATE Y+2,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  315. 30470  LOCATE Y+3,X:PRINT CHR$(186) "   " CHR$(SUIT) "   " CHR$(186);
  316. 30475  LOCATE Y+4,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  317. 30480  LOCATE Y+5,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  318. 30490  LOCATE Y+6,X:PRINT CHR$(186) "      7" CHR$(186);
  319. 30491  RETURN
  320. 30492  REM $pa
  321. 30493  REM====================================================================
  322. 30494  REM========================= DISPLAY A  8 =============================
  323. 30495  REM====================================================================
  324. 30496  REM $s2
  325. 30500  LOCATE Y+1,X:PRINT CHR$(186) "8      " CHR$(186);
  326. 30510  LOCATE Y+2,X:PRINT CHR$(186) "  " STRING$(3,SUIT) "  " CHR$(186);
  327. 30520  LOCATE Y+3,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  328. 30530  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  329. 30540  LOCATE Y+5,X:PRINT CHR$(186) "  " STRING$(3,SUIT) "  " CHR$(186);
  330. 30550  LOCATE Y+6,X:PRINT CHR$(186) "      8" CHR$(186);
  331. 30551  RETURN
  332. 30552  REM $pa
  333. 30553  REM====================================================================
  334. 30554  REM========================= DISPLAY A  9 =============================
  335. 30555  REM====================================================================
  336. 30556  REM $s2
  337. 30560  LOCATE Y+1,X:PRINT CHR$(186) "9      " CHR$(186);
  338. 30570  LOCATE Y+2,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  339. 30580  LOCATE Y+3,X:PRINT CHR$(186) "  " STRING$(3,SUIT) "  " CHR$(186);
  340. 30590  LOCATE Y+4,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  341. 30600  LOCATE Y+5,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  342. 30610  LOCATE Y+6,X:PRINT CHR$(186) "      9" CHR$(186)
  343. 30611  RETURN
  344. 30612  REM $s2
  345. 30613  REM====================================================================
  346. 30614  REM========================= DISPLAY A 10 =============================
  347. 30615  REM====================================================================
  348. 30616  REM $s2
  349. 30620  LOCATE Y+1,X:PRINT CHR$(186) "10     " CHR$(186);
  350. 30630  LOCATE Y+2,X:PRINT CHR$(186) "  " STRING$(3,SUIT) "  " CHR$(186);
  351. 30640  LOCATE Y+3,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  352. 30650  LOCATE Y+4,X:PRINT CHR$(186) "  " CHR$(SUIT) " " CHR$(SUIT) "  " CHR$(186);
  353. 30660  LOCATE Y+5,X:PRINT CHR$(186) "  " STRING$(3,SUIT) "  " CHR$(186);
  354. 30670  LOCATE Y+6,X:PRINT CHR$(186) "     10" CHR$(186);
  355. 30671  RETURN
  356. 30672  REM $pa
  357. 30673  REM====================================================================
  358. 30674  REM========================= DISPLAY A  J =============================
  359. 30675  REM====================================================================
  360. 30676  REM $s2
  361. 30680  LOCATE Y+1,X:PRINT CHR$(186) "J      " CHR$(186);
  362. 30690  LOCATE Y+2,X:PRINT CHR$(186) "    " CHR$(SUIT) "  " CHR$(186);
  363. 30700  LOCATE Y+3,X:PRINT CHR$(186) "       " CHR$(186);
  364. 30710  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  365. 30720  LOCATE Y+5,X:PRINT CHR$(186) "  " CHR$(SUIT) "    " CHR$(186);
  366. 30730  LOCATE Y+6,X:PRINT CHR$(186) "      J" CHR$(186);
  367. 30731  RETURN
  368. 30732  REM $pa
  369. 30733  REM====================================================================
  370. 30734  REM========================= DISPLAY A  Q =============================
  371. 30735  REM====================================================================
  372. 30736  REM $s2
  373. 30740  LOCATE Y+1,X:PRINT CHR$(186) "Q      " CHR$(186);
  374. 30750  LOCATE Y+2,X:PRINT CHR$(186) "    " CHR$(SUIT) "  " CHR$(186);
  375. 30760  LOCATE Y+3,X:PRINT CHR$(186) "       " CHR$(186);
  376. 30770  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  377. 30780  LOCATE Y+5,X:PRINT CHR$(186) "  " CHR$(SUIT) "    " CHR$(186);
  378. 30790  LOCATE Y+6,X:PRINT CHR$(186) "      Q" CHR$(186);
  379. 30791  RETURN
  380. 30792  REM $s2
  381. 30793  REM====================================================================
  382. 30794  REM========================= DISPLAY A  K =============================
  383. 30795  REM====================================================================
  384. 30796  REM $s2
  385. 30800  LOCATE Y+1,X:PRINT CHR$(186) "K      " CHR$(186);
  386. 30810  LOCATE Y+2,X:PRINT CHR$(186) "  " CHR$(SUIT) "    " CHR$(186);
  387. 30820  LOCATE Y+3,X:PRINT CHR$(186) "       " CHR$(186);
  388. 30830  LOCATE Y+4,X:PRINT CHR$(186) "       " CHR$(186);
  389. 30840  LOCATE Y+5,X:PRINT CHR$(186) "    " CHR$(SUIT) "  " CHR$(186);
  390. 30850  LOCATE Y+6,X:PRINT CHR$(186) "      K" CHR$(186);
  391. 30860  RETURN
  392. 59950  TIMEOUT$=TIME$:TIME2=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2))
  393. 59960  TIMEOUT$=TIME$:TIME3=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2))
  394. 59970  IF TIMEOUT > TIME3 - TIME2 THEN 59960 ELSE RETURN
  395. 59980  RNDTIME$=TIME$:RNDVAL=VAL(LEFT$(RNDTIME$,2))*120+VAL(MID$(RNDTIME$,4,2))*60+VAL(RIGHT$(RNDTIME$,2)):RANDOMIZE RNDVAL:RETURN
  396. 59990  IKEY$=INKEY$:IF IKEY$="" THEN 59990 ELSE RETURN
  397.