0 ' CASINO BLACKJACK by Tim Lockwood 8/10/85 [74716,1236] 2 GOTO6 4 Z$=INPUT$(1):RETURN 6 DIMDK(52,3):CL$=SPACE$(13) 8 TD=52:GOSUB52::GOSUB56::PRINT:INPUT"Start with how many quarters";QS:QU=QS:CLS 10 IP=1:ID=1:DP=1:ST=0:IFQS=0THENMENU 12 IFQU=0THENFORX=1TO500:NEXT:GOSUB52:GOSUB82:PRINT"Play Again";:GOSUB4:IFZ$="y"ORZ$="Y"THEN8ELSEMENU 14 PRINT@265,QU;"quarters";:LINE(150,0)-(150,63):IFTD>=40THENGOSUB76: 16 PRINT@190,"0=quit":PRINT@150,"Bet";:INPUTBE:PRINT@190," ";:PRINT@150," ";:PRINT@228,CL$;:IFBE>QUTHENBE=QU 18 IFBE=0THENGOSUB52:GOSUB82:PRINT"Play Again";:GOSUB4:IFZ$="y"ORZ$="Y"THEN8ELSEMENU 20 C$=SPACE$(25):PRINT@0,C$;:PRINT@40,C$;:PRINT@80,C$;:PRINT@120,C$;:PRINT@160,C$;:PRINT@200,C$;:PRINT@240,C$;:PRINT@280,C$;:PRINT@59,"dealer";:PRINT@219,"player";:GOSUB88:DP=0:UP=0:GOSUB88:DP=1:UP=1:GOSUB88:DP=0:GOSUB88 22 SP=0:GOSUB96:SP=1:GOSUB96:IF(DS=21)AND(PS=21)THEN124 24 IF(DS<21)AND(PS=21)THENBE=INT(BE*1.5+.5):GOTO120 26 IFDH(2,1)=1THENGOSUB146 28 IF(DS=21)AND(PS<21)THEN116 30 IF(PS>21)THEN116 32 IFST=0THENGOSUB128:SP=1:GOSUB96:GOTO30 34 DP=0:CC=1:CR=1:CD(1)=DH(1,1):CD(2)=DH(1,2):GOSUB64:SP=0:GOSUB96 36 FORX=1TO100:NEXT:IFDS<17THENGOSUB88:GOSUB96:GOTO36 38 IF(DS=17)AND(AC>0)AND((S2=0)OR(DS=S1))THENGOSUB88:GOSUB96:GOTO36 40 IF(AC>0)AND((S2=0)OR(DS=S1))AND(DS<=PS)AND(DS<21)THENGOSUB88:GOSUB96:GOTO36 42 IFDS>21THEN120 44 IFPS>DSTHEN120 46 IFDS>PSTHEN116 48 IFDS=PSTHEN124 50 END 52 REM 54 CLS:UP=0:CC=1:CR=1:CD(1)=13:CD(2)=156:GOSUB64:UP=1:CC=3:CR=3:CD(1)=1:CD(2)=157:GOSUB64:CC=37:CR=1:CD(1)=11:CD(2)=158:GOSUB64:CC=35:CR=3:CD(1)=1:CD(2)=159:GOSUB64:PRINT@132,"CASINO BLACKJACK";:PRINT@179,"by":PRINT@214,"Tim Lockwood":RETURN 56 REM 58 FORSU=1TO4:FORCA=1TO13:R=(SU-1)*13+CA:DK(R,1)=CA:DK(R,2)=SU+155:IFCA>9THENDK(R,3)=10ELSEDK(R,3)=CA 60 IFCA=1THENDK(R,3)=11 62 NEXTCA:NEXTSU:RETURN 64 REM 66 P=(CC-1)+40*(CR-1):PRINT@P,CHR$(240)+CHR$(241)+CHR$(241)+CHR$(242):P=P+40:PRINT@P,CHR$(245);:IFUP=0THENPRINTCHR$(255)+CHR$(255);:GOTO70 68 IFCD(1)=10THENPRINT"10";ELSEPRINTMID$("A234567890JQK",CD(1),1)+CHR$(CD(2)); 70 PRINTCHR$(245);:P=P+40:PRINT@P,CHR$(245);:IFUP=0THENPRINTCHR$(255)+CHR$(255);:GOTO74 72 IFCD(1)=10THENPRINTCHR$(CD(2))+" ";ELSEPRINT" "; 74 PRINTCHR$(245);:P=P+40:PRINT@P,CHR$(246)+CHR$(241)+CHR$(241)+CHR$(247);:RETURN 76 REM 78 SEC=VAL(RIGHT$(TIME$,2)):PRINT@309,"shuffling";:FORI=1TOSEC:DU=RND(1):NEXT:FORI=1TO52:R=INT(RND(1)*52)+1:T(1)=DK(R,1):T(2)=DK(R,2):T(3)=DK(R,3):DK(R,1)=DK(I,1):DK(R,2)=DK(I,2):DK(R,3)=DK(I,3):DK(I,1)=T(1):DK(I,2)=T(2):DK(I,3)=T(3):NEXT:TD=1 80 PRINT@309," ";:RETURN 82 REM 84 PRINT" Game Over.":IFQS>QUTHENPRINT" You lost ";QS-QU;ELSEPRINT"You won ";QU-QS; 86 PRINT" quarters.";:RETURN 88 REM 90 CD(1)=DK(TD,1):CD(2)=DK(TD,2):CD(3)=DK(TD,3):TD=TD+1:IFDP=0THENCR=1:CC=(ID-1)*4+1:DH(ID,1)=CD(1):DH(ID,2)=CD(2):DH(ID,3)=CD(3):ID=ID+1 92 IFDP=1THENCR=5:CC=(IP-1)*4+1:PH(IP,1)=CD(1):PH(IP,2)=CD(2):PH(IP,3)=CD(3):IP=IP+1 94 GOSUB64:RETURN 96 REM 98 SC=0:AC=0:S1=0:S2=0:IFSP=1THENPS=0ELSEDS=0 100 IFSP=1THENI=IP-1ELSEI=ID-1 102 FORJ=1TOI:IFSP=1THENSC=SC+PH(J,3):CT=PH(J,1)ELSESC=SC+DH(J,3):CT=DH(J,1) 104 IFCT=1THENAC=AC+1 106 NEXTJ:IFSC<=21THEN112 108 IFAC=0THEN112 110 SC=SC-(AC*11):S1=SC+11+(AC-1):S2=SC+AC:IFS1<=21THENSC=S1ELSESC=S2 112 IFSP=1THENPS=SCELSEDS=SC 114 RETURN 116 REM 118 GOSUB142:BEEP:PRINT@228,"DEALER WINS";:QU=QU-BE:GOTO10 120 REM 122 GOSUB142:BEEP:PRINT@228,"PLAYER WINS";:QU=QU+BE:GOTO10 124 REM 126 GOSUB142:BEEP:PRINT@228,"TIE SCORE";:GOTO10 128 REM 130 PRINT@66,"h=hit";:PRINT@106,"s=stand";:IF(PS=10)OR(PS=11)THENPRINT@146,"d=double down"; 132 PRINT@186,"Your Move";:GOSUB4:IFZ$="h"ORZ$="H"THENDP=1:GOSUB88:GOTO140 134 IFZ$="s"ORZ$="S"THENST=1:GOTO140 136 IFZ$="d"ORZ$="D"THENST=1:DP=1:GOSUB88:BE=BE*2:GOTO140 138 BEEP:GOTO132 140 PRINT@66,CL$;:PRINT@106,CL$;:PRINT@146,CL$;:PRINT@186,CL$;:RETURN 142 REM 144 CR=1:CC=1:UP=1:CD(1)=DH(1,1):CD(2)=DH(1,2):GOSUB64:RETURN 146 REM 148 IN=INT(.5*BE):IFIN>QU-BETHEN156 150 PRINT@186,"Insurance";:GOSUB4:IFZ$<>"y"ANDZ$<>"Y"THEN154 152 IFDH(1,3)=10THENBE=0ELSEQU=QU-IN:PRINT@265,QU;"quarters";:LINE(150,0)-(150,63) 154 PRINT@186,CL$; 156 RETURN