10 REM**** 20 REM*BLACKJACK 30 REM* WM V R SMITH 40 REM* ARTSCI INC 50 REM**** 60 CLS 70 PO=100:CU=52 80 DIM C$(15),C(51) 90 U$=CHR$(30) 100 GT$=U$+U$+U$ 110 D$=CHR$(31) 120 GB$=D$+D$+D$ 130 L$=CHR$(29) 140 TC$="‡……ˆ" 150 BC$="‰……Š" 160 EC$="†ŒŒ†" 170 C$(13)=EC$ 180 S$(5)=EC$ 190 DATA “,”,’,‘ 200 DATA A,2,3,4 210 DATA 5,6,7,8,9 220 DATA 10,J,Q,K 230 FOR X=0 TO 3 240 READ C$ 250 S$(X)="† "+C$+"†" 260 NEXT X 270 FOR X=0 TO 12 280 READ C$ 290 IF LEN(C$)=1 THEN C$=C$+" " 300 C$(X)="†"+C$+"†" 310 NEXT 320 CLS 330 PRINT:PRINT" ***BLACKJACK***" 340 PRINT" ---------" 350 PRINT"**PRESS ANY KEY**"; 360 LOCATE 0,0 370 C=52 380 FOR X=1 TO 12 390 CX=X 400 IF INKEY$<>"" THEN 500 410 GOSUB 1900 420 NEXT 430 FOR X=12 TO 1 STEP-1 440 GOSUB1730:C(C)=0 450 CX=X 460 IF INKEY$<>"" THEN 500 470 GOSUB1900 480 NEXTX 490 GOTO 320 500 X=VAL(RIGHT$(TIME$,2)) 510 FOR Y=1TO X:A=RND(1):NEXT Y 520 REM****** 530 REM* START HERE 540 REM****** 550 CLS:GOSUB2340 560 FOR X=1 TO 5 570 DC(X)=-1 580 PC(X)=53 590 NEXT 600 PC(1)=52:PC(2)=52 610 GOSUB 1620 620 FOR X=1 TO 2 630 GOSUB 1730 640 PC(X)=C 650 GOSUB 1730 660 IF C=0 THEN 650 670 DC(X)=C 680 NEXT 690 CT=2 700 PC=0:GOSUB1620 710 GOSUB 1810 720 GOSUB 2190 730 PRINT"YOU HAVE";PC 740 PRINT"DEALER SHOWS"; 750 DS=INT(DC(1)/13) 760 DF=DC(1)-(DS*13) 770 PRINT" ";U$;TC$; 780 PRINTD$;L$;L$;L$;L$; 790 PRINT C$(DF);D$;L$;L$;L$;L$; 800 PRINT S$(DS);D$;L$;L$;L$;L$; 810 PRINT BC$;U$ 820 IF PC>21 THEN 1320 830 IF PC=21 AND CT=2 THEN 1180 840 PRINT"1-HIT 2-STAND"; 850 GOSUB 1810 860 ON VAL(I$) GOTO 890,970 870 GOSUB 2280 880 GOTO 710 890 CT=CT+1 900 IF CT=6 THEN 1180 910 GOSUB 1730 920 GOSUB 2280 930 PC(CT)=C:C=52 940 CX=(CT*4)-4 950 GOSUB 1900 960 GOTO 700 970 GOSUB 1540 980 REM** STAY 990 CX=9 1000 DP=0:ND=1 1010 T=PC:PC=0 1020 FORX=1 TO 5 1030 CY=4 1040 CX=CX+4 :C=DC(X) 1050 IF C>-1 THENGOSUB 1940:ND=ND+1 1060 REM 1070 NEXT X 1080 DP=PC:PC=T 1090 IF DP>16 THEN 1130 1100 GOSUB1730 1110 DC(ND)=C 1120 GOTO 990 1130 IF DP>21 THEN 1440 1140 IF DP=PC THEN 1350 1150 IF DP>PC THEN 1240 1160 REM* YOU WIN 1170 M$="DEALER HAS"+STR$(DP) 1180 M1$="YOU WIN" 1190 GOSUB 1550 1200 GOSUB 1810 1210 PO=PO+BT 1220 GOSUB 2280:COPY:GOSUB 2190:COPY 1230 GOTO 1510 1240 REMDEAL WIN 1250 M$="DEALER HAS"+STR$(DP) 1260 M1$="YOU LOSE" 1270 GOSUB 1550 1280 GOSUB 1810 1290 PO=PO-BT 1300 GOSUB 2280:COPY:GOSUB 2190:COPY 1310 GOTO 1510 1320 M$="YOU BUST" 1330 GOTO1260 1340 STOP 1350 REM**** 1360 REM* PUSH 1370 REM**** 1380 M$="DEALER HAS"+STR$(DP) 1390 M1$="PUSH" 1400 GOSUB 1550 1410 GOSUB 1810 1420 GOSUB 2280:COPY:GOSUB 2190:COPY 1430 GOTO 1510 1440 REM*DEAL>21 1450 M$="DEALER BUSTS" 1460 M1$="YOU WIN" 1470 GOSUB 1550 1480 GOSUB1810 1490 PO=PO+BT 1500 GOSUB 2280:COPY:GOSUB 2190:COPY 1510 LPRINT "$";BT 1520 LPRINT"YOU HAVE $";PO 1530 GOTO520 1540 M$="":M1$="" 1550 REM*MESSAGE 1560 PRINTU$;U$ 1570 PRINTM$ 1580 PRINT" ";U$ 1590 PRINTM1$; 1600 RETURN 1610 STOP 1620 REM**** 1630 REM* SHOW HAND 1640 REM**** 1650 CX=0:AF=0 1660 FOR X=1 TO 5 1670 C=PC(X) 1680 GOSUB 1900 1690 CX=CX+4 1700 NEXT 1710 LOCATE0,0 1720 RETURN 1730 REM**** 1740 REM* PICK A CARD 1750 REM**** 1760 C=INT(RND(1)*52) 1770 IF C(C)>0 THEN 1730 1780 C(C)=1 1790 UC=UC+1 1800 RETURN 1810 REM*** 1820 REM* WAIT 1830 REM**** 1840 T=0 1850 I$=INKEY$ 1860 T=T+1:IF T>100 THEN I$=" " 1870 IF I$="" THEN 1850 1880 IF INKEY$<>"" THEN 1880 1890 RETURN 1900 REM***** 1910 REM* DRAW A CARD 1920 REM***** 1930 CY=0 1940 IF C=52 THEN F=13:S=5:GOTO 2070 1950 IF C=53 THEN RETURN 1960 S=INT(C/13) 1970 F=C-(S*13) 1980 WP=F+1 1990 IFWP=1 THEN 2030 2000 IF WP>10 THEN WP=10 2010 PC=PC+WP 2020 GOTO 2050 2030 AF=AF+1 2040 PC=PC+11 2050 IF PC<22 THEN 2070 2060 IFAF>0 THEN PC=PC-10:AF=AF-1:GOTO2050 2070 GOSUB 2160 2080 PRINTTC$; 2090 GOSUB 2160 2100 PRINT C$(F); 2110 GOSUB 2160 2120 PRINT S$(S); 2130 GOSUB 2160 2140 PRINT BC$; 2150 RETURN 2160 LOCATE CX,CY 2170 CY=CY+1 2180 RETURN 2190 REM**** 2200 REM* SCREEN 2 2210 REM**** 2220 LOCATE0,0 2230 PRINTGB$ 2240 PRINTGB$; 2250 PRINTGT$ 2260 PRINTU$; 2270 RETURN 2280 REM**** 2290 REM* SCREEN 1 2300 REM**** 2310 PRINTGT$:PRINTGT$ 2320 PRINTGT$:PRINTGT$ 2330 RETURN 2340 REM**** 2350 REM* BET 2360 REM**** 2370 IF PO=0 THEN 2480 2380 IF UC>40 THEN GOSUB 2530 2390 CLS 2400 PRINT"YOU HAVE $";PO 2410 PRINT 2420 INPUT"YOUR BET ";I$ 2430 BT=INT(VAL(I$)) 2440 IF BT<1 THEN BT=1 2450 IF BT>PO THEN SOUND 3,1:GOTO2340 2460 CLS 2470 RETURN 2480 CLS 2490 PRINT"YOU'RE ALL OUT" 2500 PRINT"OF MONEY!!" 2510 PRINT"GOOD BYE" 2520 END 2530 CLS 2540 PRINT:PRINT"SHUFFLING" 2550 FOR X=0 TO 51:C(X)=0:NEXT 2560 UC=0 2570 RETURN