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