Listing of file='BJACK.BAS;01' on disk='vmedia/blackjack-sector.ccvf'
100 REM ** BLACKJACK - JAN 3,78 - JESSEN ** 105 FOR I= 1TO PEEK (33209):X= RND (1):NEXT I 110 CLEAR 300 120 PLOT 12:GOSUB 2240:Z7= RND (1):GOSUB 2400:Y= 1:PLOT 6,3,14 130 PLOT 3,7,7:PRINT "WELCOME TO...";:PLOT 6,1:PRINT "BLACKJACK!":PLOT 15 140 K= 0:W1= 0:R= RND (1):N= INT (1945* RND (1)+ 1):X= INT (10* RND (1)) 150 DIM D(52),E(5),V(5),T(5),W(5),T$(34),Q(52) 160 FOR A= 1TO 52:D(A)= 0:NEXT 170 FOR A= 0TO 39STEP 13:FOR C= 1TO 13:Q(A+ C)= C:NEXT C,A 180 K= K+ 1:FOR P= 1TO 5:E(P)= 0:V(P)= 0:T(P)= 0:NEXT :V(3)= 1 190 PLOT 3,1,13:GOSUB 2490 200 PLOT 3,15,13,6,6:IF W1= 0THEN GOSUB 2110 210 IF W1> 0THEN GOSUB 2090 220 IF W1< 0THEN GOSUB 2100 230 PLOT 3,1,13:INPUT "WAGER ?";W$:P= 1 240 IF W$= "END"THEN LOAD "MENU":RUN 250 W= VAL (W$) 260 PLOT 3,1,13:PRINT "WAGER=$";W;:IF W< = 500THEN 280 270 PLOT 3,4,11:PRINT "HOUSE LIMIT IS $500":GOSUB 2510:GOTO 190 280 IF W> 0THEN 300 290 PLOT 3,4,11,6,4:PRINT "BE SERIOUS":GOSUB 2220:GOTO 190 300 IF W< 1THEN 320 310 GOTO 350 320 PLOT 3,7,19 330 PRINT "CHEAPSKATE !"; 340 GOSUB 2510:GOTO 190 350 Q3= W 360 IF Q3< 250THEN 380 370 Q3= INT (Q3/ 10) 380 FOR A4= 1TO Q3:X= RND (1):NEXT :W(2)= W:W(3)= W:GOTO 410 390 PLOT 3,14,7:PRINT "*I AM RESHUFFLING*":GOSUB 2220:GOTO 190 400 PLOT 3,4,11:PRINT "HOUSE LIMIT IS $500":GOSUB 2510:GOTO 190 410 E(5)= 1:GOSUB 2420:GOSUB 1100:IF E(1)= 0THEN 430 420 V(4)= 1 430 V(5)= 1:E(5)= 2:GOSUB 2420:GOSUB 1100:M= X:P= 3:V(3)= 1 440 GOSUB 2420:GOSUB 1100:G= X 450 V(3)= V(3)+ 1 460 GOSUB 2420:GOSUB 1100:IF V(2)> 0THEN 680 470 S= X 480 IF V(3)> 2THEN 680 490 IF T(P)< 21THEN 590 500 IF E(P)< 2THEN 520 510 E(P)= E(P)- 1:T(P)= T(P)- 10:GOTO 590 520 PLOT 3,(X9+ 8),(Y9+ 2):PRINT "*BLACKJACK*" 530 PLOT 3,10,11:PRINT "I DEALT WRONG AGAIN!" 540 E(5)= 2:P= 1:X9= 8:Y9= 3:X= M:GOSUB 1290 550 IF V(3)< 5THEN 570 560 W1= W1+ 2* W:GOTO 580 570 W1= W1+ 1.5* W 580 GOTO 2000 590 IF V(4)= 0THEN 680 600 PLOT 3,15,13:PRINT SPC( 22);"" 610 PLOT 3,15,13:INPUT "INSURANCE ?";I$:PRINT 620 IF LEFT$ (I$,1)< > "Y"THEN 680 630 IF T(1)< 21THEN 660 640 W1= W1+ W:PRINT 650 PLOT 3,8,11:PRINT "YOU WIN $";W/ 2;" ON INSURANCE":GOTO 680 660 W1= W1- W/ 2:PRINT 670 PLOT 3,8,11:PRINT "YOU LOST $";W/ 2;" ON INSURANCE" 680 IF T(1)< 21THEN 730 690 IF E(1)< 2THEN 710 700 E(1)= E(1)- 1:T(1)= T(1)- 10:GOTO 730 710 PLOT 3,22,8:PRINT "**I HAVE BLACKJACK**" 720 X9= 8:Y9= 3:E(5)= 2:P= 1:X= M:GOSUB 1290:P= 3:GOTO 1910 730 IF T(P)< = 21THEN 790 740 IF E(P)> 0THEN 780 750 PLOT 3,16,8,6,6:PRINT "**YOU BUST**" 760 GOSUB 2470:C1= T(P)- 5* (INT (T(P)/ 5)):IF V(2)= 1THEN 1000 770 GOTO 1690 780 E(P)= E(P)- 1:T(P)= T(P)- 10 790 IF V(1)= 2THEN 760 800 IF V(3)> 4THEN 820 810 GOTO 830 820 IF T(P)< 21THEN 2230 830 PLOT 3,(X9+ 8),(Y9+ 2):INPUT "PLAY ";I$ 840 V(1)= 0 850 IF LEFT$ (I$,1)= "H"THEN V(1)= 1 860 IF LEFT$ (I$,1)= "D"THEN V(1)= 2 870 IF LEFT$ (I$,1)= "S"THEN V(1)= 3 880 PLOT 3,(X9+ 8),(Y9+ 2):PRINT " " 890 IF V(1)< 3THEN 1040 900 IF V(2)> 0THEN 1030 910 IF V(3)> 2THEN 1030 920 IF Q(G)= Q(S)THEN 950 930 PLOT 3,22,6,6,1:PRINT "THAT'S NO PAIR":GOSUB 2510 940 PLOT 3,22,6:PRINT " ":GOTO 830 950 V(2)= 1:IF Q(G)< 1THEN 970 960 V(1)= 0 970 T(3)= 0:T(2)= 0:P= 2:X9= 2:Y9= 24:GOSUB 2460 980 X= S:GOSUB 1290:GOSUB 990:P= 3:W(3)= W:X= G:GOSUB 990:GOTO 460 990 GOSUB 1240:V(3)= 2:T(P)= C:RETURN 1000 P= 2:V(2)= 2:V(3)= 2:IF Q(G)< 1THEN 1020 1010 V(1)= 0 1020 GOTO 460 1030 PLOT 3,35,11,6,3:PRINT "NO SPLITS NOW ":GOTO 830 1040 IF V(1)< 2THEN 1080 1050 IF V(3)= 2THEN 1070 1060 PLOT 3,35,11:PRINT "TOO LATE TO DOUBLE":GOTO 830 1070 W(P)= 2* W(P) 1080 IF V(1)> 0THEN 450 1090 GOTO 760 1100 GOSUB 1130:T(P)= T(P)+ C:IF V(5)= 0THEN 1120 1110 V(5)= 0:RETURN 1120 GOSUB 1290:RETURN 1130 IF R> = 50THEN 1180 1140 X= INT (53* RND (Y)) 1150 IF X= 0THEN 1140 1160 IF D(X)= 0THEN 1220 1170 R= R+ 1:IF R< 50THEN 1130 1180 FOR A= 1TO 52:IF D(A)= KTHEN 1200 1190 D(A)= 0 1200 NEXT 1210 R= 0:PLOT 3,18,2:PRINT "*I RESHUFFLED*":GOTO 1130 1220 R= 0 1230 D(X)= K 1240 IF Q(X)> 1THEN 1260 1250 C= 11:E(P)= E(P)+ 1:RETURN 1260 IF Q(X)> 10THEN 1280 1270 C= Q(X):RETURN 1280 C= 10:RETURN 1290 GOSUB 1300:RETURN 1300 FOR I= 0TO 34:T$(I)= CHR$ (6)+ CHR$ (56)+ " ":NEXT 1310 IF X> 39THEN U$= CHR$ (6)+ CHR$ (56)+ CHR$ (99):GOTO 1350 1320 IF X> 26THEN U$= CHR$ (6)+ CHR$ (57)+ CHR$ (104):GOTO 1350 1330 IF X> 13THEN U$= CHR$ (6)+ CHR$ (57)+ CHR$ (100):GOTO 1350 1340 U$= CHR$ (6)+ CHR$ (56)+ CHR$ (115) 1350 PLOT 6,56 1360 ON Q(X)GOTO 1550,1540,1530,1520,1500,1480,1470,1460,1450,1430,1390,1380 1370 T$(17)= LEFT$ (U$,2)+ "K":GOTO 1400 1380 T$(17)= LEFT$ (U$,2)+ "Q":GOTO 1400 1390 T$(17)= LEFT$ (U$,2)+ "J" 1400 T$(8)= U$:T$(7)= U$:T$(6)= U$:T$(11)= U$:T$(16)= U$ 1410 T$(21)= U$:T$(26)= U$:T$(27)= U$:T$(28)= U$:T$(23)= U$ 1420 T$(18)= U$:T$(13)= U$:GOTO 1560 1430 T$(6)= U$:T$(8)= U$:T$(16)= U$:T$(18)= U$:T$(26)= U$ 1440 T$(28)= U$:GOTO 1520 1450 T$(7)= U$:T$(27)= U$:GOTO 1470 1460 T$(12)= U$:T$(22)= U$:GOTO 1480 1470 T$(17)= U$ 1480 T$(6)= U$:T$(8)= U$:T$(16)= U$:T$(18)= U$:T$(26)= U$ 1490 T$(28)= U$:GOTO 1560 1500 T$(6)= U$:T$(8)= U$:T$(17)= U$:T$(26)= U$:T$(28)= U$ 1510 GOTO 1560 1520 T$(11)= U$:T$(13)= U$:T$(21)= U$:T$(23)= U$:GOTO 1560 1530 T$(7)= U$:T$(17)= U$:T$(27)= U$:GOTO 1560 1540 T$(12)= U$:T$(22)= U$:GOTO 1560 1550 T$(17)= U$ 1560 IF Q(X)> 1AND Q(X)< 11THEN T$= RIGHT$ (STR$ (Q(X)),1) 1570 IF Q(X)= 11THEN T$= "J" 1580 IF Q(X)= 12THEN T$= "Q" 1590 IF Q(X)= 13THEN T$= "K" 1600 IF Q(X)= 1THEN T$= "A" 1610 IF X> 13AND X< 40THEN T$= CHR$ (6)+ CHR$ (57)+ T$ 1620 IF Q(X)< > 10GOTO 1650 1630 T$= LEFT$ (U$,2):M$= RIGHT$ (STR$ (0),1):N$= RIGHT$ (STR$ (1),1) 1640 T$(0)= T$+ N$:T$(1)= T$+ M$:T$(33)= T$(0):T$(34)= T$(1):GOTO 1660 1650 T$(0)= T$:T$(34)= T$ 1660 Z9= Y9 1670 FOR I= 0TO 30STEP 5:PLOT 3,X9,Z9:FOR J= 0TO 4:PRINT T$(I+ J);:NEXT J 1680 Z9= Z9+ 1:PRINT :NEXT I:PLOT 6,2:RETURN 1690 P= 3:X= M:X9= 8:Y9= 3:GOSUB 1300 1700 IF T(3)< 22THEN 1730 1710 IF V(2)= 0THEN 1910 1720 GOTO 1910 1730 P= 1 1740 IF T(1)< 17THEN 2020 1750 IF T(1)> 17THEN 1770 1760 IF E(1)> 0THEN 2020 1770 IF T(1)> 21THEN 2030 1780 P= 3 1790 PLOT 3,(X9+ 6),5:PRINT "TOTAL:":PLOT 3,(X9+ 5),7:PRINT " ";T(1);" " 1800 IF T(P)> 21THEN 1840 1810 IF T(1)> 21THEN 1840 1820 IF T(1)> T(P)THEN 1910 1830 IF T(1)= T(P)THEN 1980 1840 W1= W1+ W(P):PRINT :PLOT 3,1,11 1850 FOR J= 1TO 61:PRINT " ";:NEXT :PRINT :PLOT 3,12,11,6,3 1860 IF C1> 3THEN 2120 1870 IF C1> 2THEN 2130 1880 IF C1> 1THEN 2140 1890 IF C1> 0THEN 2150 1900 GOTO 2160 1910 W1= W1- W(P):PRINT :PLOT 3,1,11 1920 FOR J= 1TO 61:PRINT " ";:NEXT :PRINT :PLOT 3,12,11,6,3 1930 IF C1> 3THEN 2170 1940 IF C1> 2THEN 2180 1950 IF C1> 1THEN 2190 1960 IF C1> 0THEN 2200 1970 GOTO 2210 1980 PLOT 3,24,10:PRINT "WE PUSH" 1990 IF V(2)> 0THEN 2010 2000 GOSUB 2060:GOSUB 2510:GOTO 180 2010 P= 3:V(2)= 0:GOTO 1800 2020 E(5)= E(5)+ 1:P= 1:GOSUB 2420:GOSUB 1100:GOTO 1730 2030 IF E(1)= 0THEN 2050 2040 E(1)= E(1)- 1:T(1)= T(1)- 10:GOTO 1730 2050 PLOT 3,(X9+ 13),6,6,5:PRINT "*I BUST*":GOTO 1780 2060 PLOT 3,15,13,6,6 2070 IF W1< 0THEN 2100 2080 IF W1= 0THEN 2110 2090 PRINT "YOU'RE AHEAD $";W1;" ";:RETURN 2100 PRINT "YOU'RE BEHIND $";- W1;" ";:RETURN 2110 PRINT "YOU'RE EVEN ";:RETURN 2120 PRINT "I MUST HAVE DEALT WRONG":GOTO 1990 2130 PRINT "YOU'RE LUCKY AGAIN":GOTO 1990 2140 PRINT "YOU MUST HAVE BEEN PEEKING":GOTO 1990 2150 PRINT "I COULD LOSE MY JOB THIS WAY":GOTO 1990 2160 PRINT "THE CARDS HAVE TURNED AGAINST ME":GOTO 1990 2170 PRINT "*THE BOTTOM OF THE DECK STRIKES AGAIN*":GOTO 1990 2180 PRINT "A VICTORY FOR US GOOD GUYS":GOTO 1990 2190 PRINT "YOU CAN'T BEAT SKILL":GOTO 1990 2200 PRINT "YOU CAN'T WIN THEM ALL":GOTO 1990 2210 PRINT "THANKS!":GOTO 1990 2220 FOR M9= 1TO 52:D(M9)= 0:NEXT :R= 0:RETURN 2230 PLOT 3,12,11:PRINT "*YOU WIN WITH 5 CARDS*":PRINT :GOTO 540 2240 PLOT 6,2,12,15,3,39,13:PRINT "OPERATING INSTRUCTIONS:" 2250 PLOT 6,1:PRINT TAB( 40)"FOLLOW ALL INPUTS WITH" 2260 PLOT 6,6:PRINT TAB( 45)"RETURN KEY" 2270 PLOT 6,1:PRINT 2280 PRINT TAB( 40)"RESPONSE TO HIT:":PLOT 6,3 2290 PRINT TAB( 42);"<CR> = STAND":PRINT TAB( 45);"H = HIT" 2300 PRINT TAB( 45);"D = DOUBLE DOWN":PRINT TAB( 45);"S = SPLIT PAIR" 2310 PLOT 6,5:PRINT TAB( 43)"INSURANCE:" 2320 PLOT 6,3:PRINT TAB( 45);"N = NO":PRINT TAB( 45);"Y = YES" 2330 PLOT 6,1:PRINT TAB( 47)"RULES:" 2340 PLOT 6,4:PRINT TAB( 40)"DEALER MUST : HIT 16":PRINT TAB( 53)"STAY 17" 2350 PLOT 6,2 2360 PRINT TAB( 39)"HOUSE LIMIT IS $500.00" 2370 PRINT TAB( 39)"BLACKJACK PAYS 1.5 TO 1" 2380 PRINT TAB( 39);"BET END FOR NEXT GAME" 2390 PLOT 3,11,1:PRINT "DEALER":PLOT 3,11,15:PRINT "PLAYER":RETURN 2400 PLOT 6,2,2,250,0,0,127,71,75,79,127,127,127 2410 PLOT 246,0,0,127,75,79,127,127,255:RETURN 2420 ON PGOTO 2430,2440,2450 2430 X9= INT (2+ E(5)* 6- 6):Y9= 3:GOTO 2460 2440 X9= INT (2+ V(3)* 6- 6):Y9= 24:GOTO 2460 2450 X9= INT (2+ V(3)* 6- 6):Y9= 16 2460 RETURN 2470 PLOT 3,(X9+ 6),(Y9+ 2):PRINT "TOTAL"; 2480 PLOT 3,(X9+ 5),(Y9+ 5):PRINT " ";T(P);" ":RETURN 2490 PLOT 6,0,2,250,4:FOR P1= 4TO 60STEP 4:PLOT P1,72:NEXT 2500 PLOT 75,72:FOR P1= 80TO 116STEP 4:PLOT P1,124:NEXT :PLOT 255:RETURN 2510 FOR P1= 1TO 1000:NEXT P1:RETURN