Back to Main page. Back to Main tapes page. 1000 DIM D[208],H[16],O[20],P[16,11],Q[11],S[16],X[16] 1010 DIM A$[255] 1020 V=0 1030 PRINT 1040 PRINT "WELCOME TO THE BENSON CASINO" 1050 PRINT "WE PLAY VEGAS STYLE BLACKJACK" 1060 PRINT 1070 PRINT "INSTRUCTIONS: "; 1080 LINPUT A$ 1090 IF A$[1,1]#"Y" THEN 1110 1100 GOSUB 4780 1110 R=16 1120 PRINT "HOW MANY DECKS (1-4)"; 1130 INPUT N 1140 IF N>0 THEN 1170 1150 PRINT "1 TO 4 DECKS ONLY. TRY AGAIN......." 1160 GOTO 1130 1170 IF N>4 THEN 1150 1180 E=N*52 1190 GOSUB 2760 1200 B=1 1210 GOSUB 2840 1220 A=1 1230 PRINT 1240 G=1 1250 GOSUB 100 1255 PRINT "BET PLEASE"; 1260 INPUT U 1270 IF U>0 THEN 1320 1280 IF U=0 THEN 4720 1290 B=1 1300 GOSUB 2840 1310 GOTO 1250 1320 IF U <= 500 THEN 1350 1330 PRINT "SORRY, THE HOUSE LIMIT IS $500! TRY AGAIN......" 1340 GOTO 1250 1350 GOSUB 2950 1360 H[1]=U 1370 N=Q[2] 1380 PRINT "MY CARD UP"; 1390 GOSUB 3390 1400 N=P[R,1] 1410 PRINT "YOUR 1ST CARD"; 1420 GOSUB 3390 1430 N=P[R,2] 1440 PRINT "YOUR 2ND CARD"; 1450 GOSUB 3390 1460 GOSUB 3730 1470 IF M <> 11 THEN 1490 1480 GOSUB 4590 1490 IF W <> 21 THEN 1580 1500 PRINT "I HAVE BLACKJACK, "; 1510 IF X[1] <> 21 THEN 1550 1520 PRINT "SO DO YOU, WE PUSH" 1530 GOSUB 4490 1540 GOTO 1230 1550 PRINT "YOU LOSE" 1560 V=V-U 1570 GOTO 1530 1580 IF X[1] <> 21 THEN 1620 1590 PRINT "YOU HAVE BLACKJACK, YOU WIN !" 1600 V=V+3*U/2 1610 GOTO 1530 1620 PRINT "PLAY "; 1630 IF R=1 THEN 1650 1640 PRINT "FOR HAND";G; 1650 INPUT F 1660 IF F>-1 THEN 1690 1670 PRINT "ONLY 0-3 ARE VALID, TRY AGAIN......." 1680 GOTO 1650 1690 IF F>3 THEN 1670 1700 IF F <> 1 THEN 2030 1710 REM **** PLAYER HIT ROUTINE 1720 IF A <= E THEN 1740 1730 GOSUB 3840 1740 M=S[G] 1750 M=M+1 1760 S[G]=M 1770 N=D[A] 1780 P[G,M]=N 1790 PRINT "YOUR CARD IS"; 1800 GOSUB 3390 1810 GOSUB 3290 1820 A=A+1 1830 IF N <> 11 THEN 1850 1840 O[G]=O[G]+1 1850 X[G]=X[G]+N 1860 IF X[G]<22 THEN 1620 1870 IF O[G]=0 THEN 1910 1880 O[G]=O[G]-1 1890 X[G]=X[G]-10 1900 GOTO 1860 1910 PRINT "YOU BUSTED WITH";X[G] 1920 X[G]=0 1930 Y=Y-1 1940 REM **** CHECK FOR END OF PLAY 1950 IF G0 THEN 2100 2040 REM **** PLAYER STAND ROUTINE 2050 IF X[G]<22 THEN 1950 2060 IF O[G]=0 THEN 1910 2070 X[G]=X[G]-10 2080 O[G]=O[G]-1 2090 G=G+1 2100 IF F#2 THEN 2320 2110 IF S[G]=2 THEN 2150 2120 PRINT "DOUBLE ON FIRST TWO CARDS ONLY" 2130 GOTO 1620 2140 REM **** DOUBLE DOWN ROUTINE 2150 IF A <= E THEN 2170 2160 GOSUB 3840 2170 H[G]=2*U 2180 N=D[A] 2190 P[G,3]=N 2200 A=A+1 2210 PRINT "YOU DRAW THE "; 2220 GOSUB 3390 2230 GOSUB 3290 2240 IF N <> 11 THEN 2260 2250 O[G]=O[G]+1 2260 X[G]=X[G]+N 2270 IF X[G]<22 THEN 1950 2280 IF O[G]=0 THEN 1910 2290 O[G]=O[G]-1 2300 X[G]=X[G]-10 2310 GOTO 2270 2320 N=P[G,1] 2330 Y=Y+1 2340 GOSUB 3290 2350 M=N 2360 N=P[G,2] 2370 GOSUB 3290 2380 IF M=N THEN 2420 2390 PRINT "YOU MAY ONLY SPLIT PAIRS" 2400 GOTO 1620 2410 REM **** PAIR SPLIT ROUTINE 2420 R=R+1 2430 Y=Y+1 2440 P[R,1]=P[G,2] 2450 S[G]=1 2460 S[R]=1 2470 X[G]=X[G]/2 2480 X[R]=X[G] 2490 H[R]=U 2500 IF N <> 11 THEN 1620 2510 REM **** ACES WERE SPLIT ONE CARD ON EACH 2520 IF A <= E THEN 2540 2530 GOSUB 3840 2540 N=D[A] 2550 P[G,2]=N 2560 PRINT "1ST ACE GETS A "; 2570 GOSUB 3390 2580 GOSUB 3290 2590 IF N <> 11 THEN 2720 2600 N=1 2610 X[G]=X[G]+N 2620 A=A+1 2630 IF A <= E THEN 2650 2640 GOSUB 3840 2650 N=D[A] 2660 P[R,2]=N 2670 PRINT "2ND ACE GETS A "; 2680 GOSUB 3390 2690 GOSUB 3290 2700 IF N <> 11 THEN 2720 2710 N=1 2720 X[R]=X[R]+N 2730 A=A+1 2740 GOTO 1960 2750 REM **** BUILD 1 TO 4 DECKS OF CARDS 2760 FOR I=1 TO N 2770 J=(I-1)*52 2780 FOR K=1 TO 52 2790 D[K+J]=K 2800 NEXT K 2810 NEXT I 2820 RETURN 2830 REM **** SHUFFLE THE CARDS 2840 PRINT "SHUFFLING..... DRINKS ANYONE?" 2850 FOR I=B TO E 2860 C=RND(1)*E 2870 IF C 11 THEN 3250 3240 Z=Z+1 3250 W=W+N 3260 NEXT I 3270 RETURN 3280 REM **** COMPUTE THE VALUE OF A CARD 3290 IF N<14 THEN 3320 3300 N=N-13 3310 GOTO 3290 3320 IF N <> 1 THEN 3350 3330 N=11 3340 RETURN 3350 IF N<11 THEN 3370 3360 N=10 3370 RETURN 3380 REM **** PRINT A CARD 3390 I=0 3400 IF N<14 THEN 3440 3410 N=N-13 3420 I=I+1 3430 GOTO 3400 3440 IF N <> 1 THEN 3470 3450 PRINT TAB(17);"ACE"; 3460 GOTO 3600 3470 IF N>9 THEN 3500 3480 PRINT TAB(18);N; 3490 GOTO 3600 3500 IF N>10 THEN 3530 3510 PRINT TAB(17);N; 3520 GOTO 3600 3530 IF N>11 THEN 3560 3540 PRINT TAB(16);"JACK"; 3550 GOTO 3600 3560 IF N>12 THEN 3590 3570 PRINT TAB(15);"QUEEN"; 3580 GOTO 3600 3590 PRINT TAB(16);"KING"; 3600 PRINT " OF "; 3610 IF I <> 1 THEN 3640 3620 PRINT "SPADES" 3630 RETURN 3640 IF I <> 1 THEN 3670 3650 PRINT "HEARTS" 3660 RETURN 3670 IF I <> 2 THEN 3700 3680 PRINT "DIAMONDS" 3690 RETURN 3700 PRINT "CLUBS" 3710 RETURN 3720 REM **** COMPUTE VALUE OF PLAYERS HAND 3730 O[G]=0 3740 X[G]=0 3750 FOR I=1 TO 2 3760 N=P[G,I] 3770 GOSUB 3290 3780 X[G]=X[G]+N 3790 IF N <> 11 THEN 3810 3800 O[G]=O[G]+1 3810 NEXT I 3820 RETURN 3830 REM **** SAVE THE CARDS THAT ARE ALREADY DEALT AND SHUFFLE. 3840 K=T 3850 FOR I=1 TO R 3860 K=K+S[I] 3870 NEXT I 3880 FOR I=1 TO K 3890 A=A-1 3900 J=D[I] 3910 D[I]=D[A] 3920 D[A]=J 3930 NEXT I 3940 B=K+1 3950 GOSUB 2840 3960 RETURN 3970 REM **** DEALERS LOGIC 3980 N=Q[1] 3990 PRINT "MY HOLE CARD"; 4000 GOSUB 3390 4010 IF Y=0 THEN 4270 4020 IF W<17 THEN 4070 4030 IF W>17 THEN 4200 4040 IF Z=0 THEN 4260 4050 W=W-10 4060 Z=Z-1 4070 IF A <= E THEN 4090 4080 GOSUB 3840 4090 N=D[A] 4100 T=T+1 4110 A=A+1 4120 Q[T]=N 4130 PRINT "I DRAW THE"; 4140 GOSUB 3390 4150 GOSUB 3290 4160 IF N <> 11 THEN 4180 4170 Z=Z+1 4180 W=W+N 4190 GOTO 4020 4200 IF W<22 THEN 4260 4210 IF Z=0 THEN 4250 4220 Z=Z-1 4230 W=W-10 4240 GOTO 4020 4250 PRINT "I BUSTED "; 4260 PRINT "MY TOTAL IS";W 4270 FOR I=1 TO R 4280 PRINT "YOU "; 4290 IF X[I] <> 0 THEN 4330 4300 PRINT "LOST "; 4310 V=V-H[I] 4320 GOTO 4420 4330 IF W<22 THEN 4370 4340 PRINT "WON "; 4350 V=V+H[I] 4360 GOTO 4420 4370 IF W <> X[I] THEN 4400 4380 PRINT "PUSHED ON "; 4390 GOTO 4420 4400 IF W 1 THEN 4450 4430 PRINT "THE HAND" 4440 GOTO 4460 4450 PRINT "HAND";I 4460 NEXT I 4470 REM **** PRINT THE PLAYERS WON/LOST STANDING 4480 PRINT 4490 PRINT "YOU'RE "; 4500 IF V <> 0 THEN 4530 4510 PRINT "EVEN" 4520 RETURN 4530 IF V>0 THEN 4560 4540 PRINT "BEHIND $";V*-1 4550 RETURN 4560 PRINT "AHEAD $";V 4570 RETURN 4580 REM **** INSURANCE ROUTINE 4590 PRINT "INSURANCE: "; 4600 LINPUT A$ 4610 IF A$[1,1]="Y" THEN 4630 4620 RETURN 4630 PRINT "YOUR INSURANCE BET"; 4640 IF W <> 21 THEN 4680 4650 PRINT "WINS" 4660 V=V+U 4670 RETURN 4680 PRINT "LOSES" 4690 V=V-U/2 4700 RETURN 4710 REM **** END OF GAME WRAP UP 4720 PRINT "THANKS FOR PLAYING" 4730 PRINT "HOPE YOU ENJOYED YOURSELF" 4740 PRINT "HERE'S YOUR FINAL STANDING!" 4750 GOSUB 4490 4760 GOTO 130 4770 REM **** INSTRUCTIONS 4780 PRINT 4790 PRINT "THE DEALER STANDS ON 17 OR MORE" 4800 PRINT " BUT WILL HIT SOFT OF 17" 4810 PRINT "YOU MAY SPLIT ANY PAIR." 4820 PRINT "YOU MAY DOUBLE ON THE FIRST TO CARDS" 4830 PRINT " AND GET ONE MORE CARD." 4840 PRINT LIN(1);"USE THESE CODES TO PLAY:" 4850 PRINT " 0 - STAND" 4860 PRINT " 1 - HIT" 4870 PRINT " 2 - DOUBLE DOWN" 4880 PRINT " 3 - SPLIT A PAIR" 4890 PRINT LIN(1);"A ZERO BET ENDS THE GAME" 4900 PRINT "A NEGATIVE BET FORCES A SHUFFLE" 4910 PRINT LIN(1)"GOOD LUCK - LET'S GET STARTED" 4920 RETURN 4930 END