1 ! STARTED 4/21/79 2 ! BLACKJACK 100 GOSUB 2590 110 ?"WHEN DEALER TYPES 'HIT',YOU TYPE '0' (N0 HIT) OR '1' (HIT)" 120 ?" '2' (DOUBLE DOWN) OR '3' (SPLIT A PAIR)" 130 ? 140 K=0 150 W1=0 160 ?"BEFORE WE START,WHAT TIME IS IT?" 170 INPUT N 180 FOR I=1 TO (N/2) 190 X=INT(10*RND(X)) 200 NEXT I 210 DIM D(52) 220 FOR A = 1 TO 52 230 D(A)=0 240 NEXT A 250 DIM Q(52) 260 FOR A=0 TO 39 STEP 13 270 FOR C=1 TO 13 280 Q(A+C)=C 290 NEXT C 300 NEXT A 310 ? 320 K=K+1 330 FOR P=1 TO 5 340 E(P)=0 350 V(P)=0 360 T(P)=0 370 NEXT P 380 V(3)=0 390 ? 400 ? 410 ? 420 ?"WAGER "; 430 P=1 440 INPUT W 450 W(2)=W 460 IF W<=0 GOTO 2460 470 IF W<=500 GOTO 500 480 ?"YOU CAN'T BET OVER $500!" 490 GOTO 420 500 ? 510 ?"I SHOW "; 520 GOSUB 1410 530 IF E(1)=0 GOTO 550 540 V(4)=1 550 V(5)=1 560 GOSUB 1410 570 M=X 580 P=2 590 ?"FIRST CARD IS "; 600 GOSUB 1410 610 G=X 620 ?"NEXT CARD IS "; 630 GOSUB 1410 640 IF V(2)>0 GOTO 900 650 S=X 660 IF V(3)<>1 GOTO 900 670 IF T(P)<>21 GOTO 740 680 ? "***BLACKJACK***" 690 ?"MY HOLE CARD WAS "; 700 X=M 710 GOSUB 1740 720 W1=W1+1.5*W 730 GOTO 2240 740 IF V(4)=0 GOTO 840 750 ?"DO YOU WANT INSURANCE(1=YES 0=NO)" 760 INPUT I 770 IF I=0 GOTO 840 780 IF T(1)<>21 GOTO 820 790 W1=W1+W 800 ?"YOU WON $";W;" ON YOUR INSURANCE BET" 810 GOTO 840 820 W1=W1-W/2 830 ?"YOU LOST ";W/2;" ON YOU INSURANCE BET-I DON'T HAVE BLACKJACK" 840 IF T(1)<>21 GOTO 900 850 ? "***I HAVE A BLACK JACK***" 860 ?"MY HOLE CARD IS "; 870 LET X=M 880 GOSUB 1740 890 GOTO 2220 900 IF T(P)<=21 GOTO 980 910 IF E(P)>0 GOTO 960 920 ?"YOU BUSTED, " 930 ?"YOUR TOTAL IS ";T(P) 940 IF V(2)=1 GOTO 1230 950 GOTO 2020 960 LET E(P)=E(P)-1 970 LET T(P)=T(P)-10 980 IF V(1)=2 GOTO 930 990 LET V(3)=V(3)+1 1000 ?"HIT" 1010 INPUT V(1) 1020 IF V(1)<>3 GOTO 1340 1030 IF V(2)>0 GOTO 1320 1040 IF V(3)<>2 GOTO 1320 1050 IF Q(G)=Q(S) GOTO 1080 1060 ?"NOW IS THAT A PAIR" 1070 GOTO 1000 1080 LET V(2)=1 1090 IF Q(G)<>1 GOTO 1110 1100 LET V(1)=2 1110 P=3 1120 ?" PLAY HAND #1 NOW" 1130 ?"THE FIRST CARD IS"; 1140 W(3)=W 1150 X=G 1160 GOSUB 1180 1170 GOTO 620 1180 GOSUB 1650 1190 GOSUB 1740 1200 V(3)=1 1210 T(P)=C 1220 RETURN 1230 P=2 1240 V(2)=2 1250 ?" PLAY HAND #2 NOW" 1260 ?"THE FIRST CARD IS "; 1270 X=S 1280 GOSUB 1180 1290 IF Q(G)=1 GOTO 1310 1300 V(1)=1 1310 GOTO 620 1320 ?"NO SPLITS NOW-- TRY AGAIN" 1330 GOTO 1000 1340 IF V(1)<>2 GOTO 1390 1350 IF V(3)=2 GOTO 1380 1360 ?"TOO LATE TO DOUBLE , CHARLIE." 1370 GOTO 1000 1380 W(P)=2*W(P) 1390 IF V(1)>0 GOTO 620 1400 GOTO 930 1410 GOSUB 1480 1420 T(P)=T(P)+C 1430 IF V(5)=0 GOTO 1460 1440 V(5)=0 1450 RETURN 1460 GOSUB 1740 1470 RETURN 1480 N=10*(1+ABS(COS(N+W1))) 1490 FOR A =1 TO N 1500 X=INT(52.9999999*RND(Y)) 1510 IF X=0 THEN 1500 1520 NEXT A 1530 IF D(X)=0 GOTO 1630 1540 R=R+1 1550 IF R<50 GOTO 1480 1560 FOR A =1 TO 52 1570 IF D(A)=K GOTO 1590 1580 D(A)=0 1590 NEXT A 1600 R=0 1610 ?"I RESHUFFLED" 1620 GOTO 1480 1630 R=0 1640 D(X)=K 1650 IF Q(X)<>1 GOTO 1690 1660 C=11 1670 E(P)=E(P)+1 1680 RETURN 1690 IF Q(X)>10 GOTO 1720 1700 C=Q(X) 1710 RETURN 1720 C=10 1730 RETURN 1740 GOSUB 1770 1750 GOSUB 1910 1760 RETURN 1770 IF Q(X)<>1 GOTO 1800 1780 ?" ACE "; 1790 RETURN 1800 IF Q(X)>10 GOTO 1830 1810 ? Q(X); 1820 RETURN 1830 IF Q(X)>11 GOTO 1860 1840 ?" JACK "; 1850 RETURN 1860 IF Q(X)>12 GOTO 1890 1870 ?" QUEEN "; 1880 RETURN 1890 ?" KING "; 1900 RETURN 1910 IF X>39 GOTO 1960 1920 IF X>26 GOTO 1980 1930 IF X>13 GOTO 2000 1940 ?"OF SPADES" 1950 RETURN 1960 ?"OF CLUBS" 1970 RETURN 1980 ?" OF HEARTS" 1990 RETURN 2000 ?"OF DIAMONDS" 2010 RETURN 2020 P=2 2030 ?"MY HOLECARD IS "; 2040 X=M 2050 GOSUB 1740 2060 IF T(2)<22 GOTO 2090 2070 IF V(2)=0 GOTO 2220 2080 IF T(3)>21 GOTO 2220 2090 P=1 2100 IF T(1)<17 GOTO 2290 2110 IF T(1)>17 GOTO 2130 2120 IF E(1)>0 GOTO 2290 2130 IF T(1)>21 GOTO 2320 2140 P=2 2150 ?" MY TOTAL IS ";T(1) 2160 IF T(P)>21 GOTO 2220 2170 IF T(1)>21 GOTO 2200 2180 IF T(1)>T(P) GOTO 2220 2190 IF T(1)=T(P) GOTO 2230 2200 W1=W1+W(P) 2210 GOTO 2230 2220 W1=W1-W(P) 2230 IF V(2)>0 GOTO 2260 2240 GOSUB 2380 2250 GOTO 320 2260 P=3 2270 V(2)=0 2280 GOTO 2160 2290 ?"I DRAW "; 2300 GOSUB 1410 2310 GOTO 2090 2320 IF E(1)=0 GOTO 2360 2330 E(1)=E(1)-1 2340 T(1)=T(1)-10 2350 GOTO 2090 2360 ?"I BUSTED!"; 2370 GOTO 2140 2380 IF W(1)<0 GOTO 2420 2390 IF W1=0 GOTO 2440 2400 ?"YOUR AHEAD $";W1 2410 RETURN 2420 ?"YOUR BEHIND $";-W1 2421 IF W1>-2000 GOTO 2430 2422 ?"SORRY,YOU'RE TOO FAR BEHIND. SETTLE YOUR ACCOUNT BEFORE" 2423 ?"YOU PLAY ANY MORE" 2425 STOP 2430 ?"YOUR EVEN" 2440 ?"YOU'RE EVEN" 2450 RETURN 2460 IF W=0 GOTO 2500 2470 W=-W 2480 ?"I'LL ASUME YOU MEANT +";W;" DOLLARS!" 2490 GOTO 250 2500 ?"THANKS FOR THE GAME"; 2510 IF W1<=0 THEN 2560 2520 ?" AND CONGRATULATIONS FOR QUITTING AHEAD!" 2530 ? 2540 ?"CARE TO TIP THE DEALER???" 2550 GOTO 2580 2560 IF W1=0 GOTO 2580 2570 ?"--BETTER LUCK NEXT TIME--" 2575 ?"HE-HE" 2580 INPUT Z 2581 IF Z="NO" GOTO 2585 2582 ?"THANKS,I'LL ONLY TAKE A COUPLE HUNDRED" 2585 STOP 2590 GOSUB 2660 2600 ? 2610 ?"BLACKJACK 1.2 4/21/79" 2620 ? 2630 ?"WELCOME--AT THIS TERMINAL WE PLAY BLACKJACK!" 2640 ? 2650 RETURN 2660 ? 2670 ? 2680 ? 2690 ? 2700 RETURN 2710 END