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 G 0 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