10 REM ... BLJK.ECB ..from ??? via Roseville 3-14-81 R.E.H. 20 PRINT "&K&J&J" 30 PRINT TAB(15);"{+} B L A C K J A C K {+}" 40 PRINT : PRINT 100 DIM D(52),E(10),Q(52),T(10),V(10),W(10) 110 LET Y=0 130 LET K=0 140 LET W0=1 150 GOSUB 2540 160 INPUT (1,0)I$ 170 LET X=INT(10*RND(0)) 180 LET X=X+100 200 FOR A=1 TO 52 210 LET D(A)=0 220 NEXT A 240 FOR A=0 TO 39 STEP 13 250 FOR C=1 TO 13 260 LET Q(A+C)=C 270 NEXT C 280 NEXT A 290 PRINT 300 LET K=K+1 310 FOR P=1 TO 5 320 LET E(P)=0 330 LET V(P)=0 340 LET T(P)=0 350 NEXT P 360 LET V(3)=1 370 PRINT 380 PRINT 390 PRINT "HOW MUCH IS YOUR WAGER" 400 PRINT "THE HOUSE LIMIT IS 500000" 410 LET P=1 420 INPUT "$ (Gimme money!) ---=>",W(1) 430 LET W(2)=W(1) 440 IF W(1)<=0 THEN 2520 450 IF W(1)<=500000 THEN 480 460 PRINT "TOO MUCH - HOUSE LIMIT IS $500000." 470 GOTO 400 480 PRINT 490 PRINT "I SHOW ", 500 GOSUB 1390 510 IF E(1)=0 THEN 530 520 LET V(4)=1 530 LET V(5)=1 540 GOSUB 1390 550 LET M=X 560 LET P=2 570 PRINT "FIRST CARD IS", 580 GOSUB 1390 590 LET G=X 600 PRINT "NEXT CARD IS", 610 GOSUB 1390 620 IF V(2)>0 THEN 880 630 LET S=X 640 IF V(3)<>1 THEN 880 650 IF T(P)<>21 THEN 720 660 PRINT "***BLACKJACK***" 670 PRINT "MY HOLE CARD WAS ", 680 LET X=M 690 GOSUB 1730 700 LET W1=W1+1.5*W(1) 710 GOTO 2260 720 IF V(4)=0 THEN 820 730 PRINT "Do you want to WAGER ";%$C12F2;W(1)/2; 735 PRINT " that i have BLACKJACK?" 740 INPUT (1,0)" Y or N ---=>",I$: LET I$=I$+"N" 750 IF I$(1,1)="N" THEN 880 760 IF T(1)<>21 THEN 800 770 LET W1=W1+W(1) 780 PRINT "YOU WIN $";W(1);" ON YOUR INSURANCE BET" 790 GOTO 820 800 LET W1=W1-W(1)/2 810 PRINT "YOU LOSE $";W(1)/2;" I DONT HAVE BLACKJACK" 820 IF T(1)<>21 THEN 880 830 PRINT "**I HAVE BLACKJACK**" 840 PRINT "MY HOLE CARD IS ", 850 LET X=M 860 GOSUB 1730 870 GOTO 2240 880 IF T(P)<=21 THEN 960 890 IF E(P)>0 THEN 940 900 PRINT "YOU BUSTED, "; 910 PRINT "YOUR TOTAL IS";T(P) 920 IF V(2)=1 THEN 1210 930 GOTO 2030 940 LET E(P)=E(P)-1 950 LET T(P)=T(P)-10 960 IF V(1)=2 THEN 910 970 LET V(3)=V(3)+1 980 PRINT "(0=No hit 1=Hit 3=Split pair)" 985 PRINT "HIT ---=>"; 990 INPUT V(1) 1000 IF V(1)<>3 THEN 1320 1010 IF V(2)>0 THEN 1300 1020 IF V(3)<>2 THEN 1300 1030 IF Q(G)=Q(S) THEN 1060 1040 PRINT "NOW IS THAT A PAIR" 1050 GOTO 980 1060 LET V(2)=1 1070 IF Q(G)<>1 THEN 1090 1080 LET V(1)=2 1090 LET P=3 1100 PRINT " PLAY HAND ONE NOW" 1110 PRINT "FIRST CARD IS", 1120 LET W(3)=W(1) 1130 LET X=G 1140 GOSUB 1160 1150 GOTO 600 1160 GOSUB 1640 1170 GOSUB 1730 1180 LET V(3)=1 1190 LET T(P)=C 1200 RETURN 1210 LET P=2 1220 LET V(2)=2 1230 PRINT " PLAY HAND TWO NOW" 1240 PRINT "FIRST CARD IS", 1250 LET X=S 1260 GOSUB 1160 1270 IF Q(G)=1 THEN 1290 1280 LET V(1)=0 1290 GOTO 600 1300 PRINT "NO SPLITS NOW -- TRY AGAIN" 1310 GOTO 980 1320 IF V(1)<>2 THEN 1370 1330 IF V(3)=2 THEN 1360 1340 PRINT "TOO LATE TO DOUBLE, CHARLIE." 1350 GOTO 980 1360 LET W(P)=2*W(P) 1370 IF V(1)>0 THEN 600 1380 GOTO 910 1390 REM ...DEAL 1400 GOSUB 1470 1410 LET T(P)=T(P)+C 1420 IF V(5)=0 THEN 1450 1430 LET V(5)=0 1440 RETURN 1450 GOSUB 1730 1460 RETURN 1470 LET N=10*(1+ABS(COS(N+W1))) 1480 FOR A=1 TO N 1490 LET X=INT(52.9999999*RND(0)) 1500 IF X=0 THEN 1490 1510 NEXT A 1520 IF D(X)=0 THEN 1620 1530 LET R=R+1 1540 IF R<50 THEN 1470 1550 FOR A=1 TO 52 1560 IF D(A)=K THEN 1580 1570 LET D(A)=0 1580 NEXT A 1590 LET R=0 1600 PRINT "I RESHUFFLED" 1610 GOTO 1470 1620 LET R=0 1630 LET D(X)=K 1640 IF Q(X)<>1 THEN 1680 1650 LET C=11 1660 LET E(P)=E(P)+1 1670 RETURN 1680 IF Q(X)>10 THEN 1710 1690 LET C=Q(X) 1700 RETURN 1710 LET C=10 1720 RETURN 1730 REM ...PRINT CARD 1740 GOSUB 1770 1750 GOSUB 1910 1760 RETURN 1770 IF Q(X)<>1 THEN 1800 1780 PRINT " ACE "; 1790 RETURN 1800 IF Q(X)>10 THEN 1830 1810 PRINT Q(X); 1820 RETURN 1830 IF Q(X)>11 THEN 1860 1840 PRINT " JACK "; 1850 RETURN 1860 IF Q(X)>12 THEN 1890 1870 PRINT " QUEEN "; 1880 RETURN 1890 PRINT " KING "; 1900 RETURN 1910 REM ...PRINT SUIT 1920 IF X>39 THEN 1970 1930 IF X>26 THEN 1990 1940 IF X>13 THEN 2010 1950 PRINT " OF SPADES" 1960 RETURN 1970 PRINT " OF CLUBS" 1980 RETURN 1990 PRINT " OF HEARTS" 2000 RETURN 2010 PRINT " OF DIAMONDS" 2020 RETURN 2030 REM ...DEALER PLAYS 2040 LET P=2 2050 PRINT "MY HOLE CARD IS ", 2060 LET X=M 2070 GOSUB 1730 2080 IF T(2)<22 THEN 2110 2090 IF V(2)=0 THEN 2240 2100 IF T(3)>21 THEN 2240 2110 LET P=1 2120 IF T(1)<17 THEN 2310 2130 IF T(1)>17 THEN 2150 2140 IF E(1)>0 THEN 2310 2150 IF T(1)>21 THEN 2340 2160 LET P=2 2170 PRINT "MY TOTAL IS";T(1) 2180 IF T(P)>21 THEN 2240 2190 IF T(1)>21 THEN 2220 2200 IF T(1)>T(P) THEN 2240 2210 IF T(1)=T(P) THEN 2250 2220 LET W1=W1+W(P) 2230 GOTO 2250 2240 LET W1=W1-W(P) 2250 IF V(2)>0 THEN 2280 2260 GOSUB 2400 2265 GOSUB 2490 2270 GOTO 300 2280 LET P=3 2290 LET V(2)=0 2300 GOTO 2180 2310 PRINT "I DRAW ", 2320 GOSUB 1390 2330 GOTO 2110 2340 IF E(1)=0 THEN 2380 2350 LET E(1)=E(1)-1 2360 LET T(1)=T(1)-10 2370 GOTO 2110 2380 PRINT "I BUSTED***"; 2390 GOTO 2160 2400 IF W1<0 THEN 2440 2410 IF W1=0 THEN 2460 2420 PRINT "YOURE AHEAD $";W1;" DO YOU WANT TO QUIT" 2430 RETURN 2440 PRINT "YOURE BEHIND $";-W1;" DO YOU WANT TO STOP" 2450 RETURN 2460 PRINT "YOU ARE EVEN DO YOU WANT TO QUIT" 2470 RETURN 2480 GOTO 2630 2490 INPUT (1,0)" (Y or N) ---=>",Z$: LET Z$=Z$+"N" 2500 IF Z$(1,1)="N" THEN RETURN 2505 IF Z$(1,1)="n" THEN RETURN 2510 GOTO 2630 2520 PRINT "**************** I RESHUFFLED *****************" 2530 GOTO 370 2540 PRINT "THIS IS A GAME OF BLACKJACK. I AM YOUR " 2550 PRINT "DEALER SAMMY DURING THE GAME I WILL " 2560 PRINT " ASK YOU IF YOU WANT A CARD (HIT)" 2570 PRINT " ANSWER 1 FOR ANOTHER CARD" 2580 PRINT "ANSWER 3 IF YOU WANT TO" 2590 PRINT " SPLIT YOUR PAIR AND PLAY BOTH" 2600 PRINT " ANSWER 0 IF YOU DO NOT WANT ANOTHER CARD" 2610 PRINT 2615 PRINT "<+> Enter any letter when ready to play ---=>"; 2620 RETURN 2630 PRINT " Thank you for the Game." 2640 PRINT " The BLACKJACK table is closing." 2650 END