home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / gwbasic / spiele / black.bas < prev    next >
Encoding:
BASIC Source File  |  1991-05-15  |  19.5 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:PRINT SPC(79);:LOCATE 25,1:PRINT"No Blackjack!";
  130. 2910 TIMEOUT=5:GOSUB 59950
  131. 2920 IF X1=1 THEN BET(1)=BET(1)*.5
  132. 2930 IF X2=1 THEN BET(2)=BET(2)*.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:PRINT SPC(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 "▄";: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.