From 61ec9653753492111417f2311eb91622cfd7ccfa Mon Sep 17 00:00:00 2001 From: Renaud Fivet Date: Sun, 2 Jun 2024 10:49:02 +0800 Subject: [PATCH] ADD BLKJAC and BLKJAK. --- dec/BLKJAC.BAS | 333 ++++++++++++++++++++++++++++++++++++++++++++++ dec/BLKJAK.BAS | 102 ++++++++++++++ port/BLKJAC.BAS | 333 ++++++++++++++++++++++++++++++++++++++++++++++ port/BLKJAK.BAS.1 | 102 ++++++++++++++ 4 files changed, 870 insertions(+) create mode 100644 dec/BLKJAC.BAS create mode 100644 dec/BLKJAK.BAS create mode 100644 port/BLKJAC.BAS create mode 100644 port/BLKJAK.BAS.1 diff --git a/dec/BLKJAC.BAS b/dec/BLKJAC.BAS new file mode 100644 index 0000000..e479ba0 --- /dev/null +++ b/dec/BLKJAC.BAS @@ -0,0 +1,333 @@ +10 PRINT "DO YOU WANT INSTRUCTIONS (IF SO TYPE A 1)"; +15 INPUT K +25 IF K<>1 THEN 85 +30 PRINT +35 PRINT +40 PRINT +45 PRINT +50 PRINT"THIS IS A GAME OF BLACKJACK, LAS VEGAS STYLE." +55 PRINT"HERE ARE THE RULES OF THE HOUSE. THE DEALER" +60 PRINT"MUST HIT ON 16 OR LESS AND WILL STAY ON 17 OR" +65 PRINT"MORE. YOU MAY SPLIT TWO CARDS IF THEY ARE THE" +70 PRINT"SAME AND PLAY ONE HAND WITH EACH OF THEM. ALSO," +75 PRINT"YOU MAY DOUBLE YOUR BET AND RECEIVE EXACTLY ONE " +80 PRINT"MORE CARD ANY TIME ON YOUR FIRST HIT. THE TYPING" +85 PRINT"INSTRUCTIONS ARE: 0-NO HIT; 1-HIT; 2-DOUBLE; AND" +90 PRINT "3-SPLIT A PAIR." +95 IF K<>1 THEN 155 +100 PRINT"WHEN THE DEALER HAS AN EXPOSED ACE HE WILL ASK" +105 PRINT"YOU FOR AN INSURANCE BET. AN INSURANCE BET WILL" +110 PRINT"RISK HALF YOUR BET FOR AN AMOUNT EQUAL TO YOUR BET" +115 PRINT"IF YOU WIN. YOU WIN IF THE DEALER HAS A BLACKJACK" +120 PRINT"AND LOSE IF HE DOESN'T. THE HOUSE LIMIT IS $500.00" +125 PRINT"GOOD LUCK. OH, BY THE WAY, THE DEALER IS NOTED FOR" +130 PRINT"DEALING OFF THE BOTTOM OF THE DECK. WATCH HIM VERY" +135 PRINT"CLOSELY. HERE HE IS NOW." +140 PRINT +145 PRINT +150 PRINT +155 LET K=0 +160 LET W1=0 +165 RANDOMIZE +170 LET N=INT(1945*RND(0)+1) +175 PRINT +180 PRINT"ANY TIME YOU WANT ME TO RESHUFFLE THE CARDS SIMPLY" +185 PRINT"TYPE 7777 WHEN I ASK FOR YOUR WAGER AND I'LL BE VERY" +190 PRINT"HAPPY TO OBLIGE. O.K., HERE IS THE FIRST HAND." +200 LET X=INT(10*RND(0)) +210 DIM D(52),E(5),V(5),T(5),W(5) +215 FOR A=1 TO 52 +220 LET D(A)=0 +225 NEXT A +230 DIM Q(52) +235 FOR A=0 TO 39 STEP 13 +240 FOR C=1 TO 13 +245 LET Q(A+C)=C +250 NEXT C +255 NEXT A +260 PRINT +265 LET K=K+1 +270 FOR P=1 TO 5 +275 LET E(P)=0 +280 LET V(P)=0 +285 LET T(P)=0 +290 NEXT P +295 LET V(3)=1 +300 PRINT +305 PRINT +310 PRINT +315 PRINT"WAGER"; +320 LET P=1 +325 INPUT W +330 LET W(2)=W +335 IF W<=0 THEN 1685 +340 IF W<=500 THEN 370 +345 IF W<>7777 THEN 360 +350 GOSUB 1645 +355 GOTO 315 +360 PRINT"THAT'S TOO MUCH - HOUSE LIMIT IS $500" +365 GOTO 315 +370 PRINT +375 PRINT "I SHOW", +380 GOSUB 865 +385 IF E(1)=0 THEN 395 +390 LET V(4)=1 +395 LET V(5)=1 +400 GOSUB 865 +405 LET M=X +410 LET P=2 +415 PRINT"FIRST CARD IS", +420 GOSUB 865 +425 LET G=X +430 PRINT"NEXT CARD IS", +435 GOSUB 865 +440 IF V(2)>0 THEN 605 +445 LET S=X +450 IF V(3)<> 1 THEN 605 +455 IF T(P)<>21 THEN 505 +460 PRINT " ***BLACKJACK*** " +465 PRINT +470 PRINT" THAT'S GETTING A BIT RIDICULOUS::::" +475 PRINT +480 PRINT "MY HOLE CARD WAS ", +485 LET X=M +490 GOSUB 1035 +495 LET W1=W1+1.5*W +500 GOSUB 1335 +505 IF V(4)=0 THEN 570 +510 PRINT"INSURANCE ANYONE (TYPE 1 OR 0, 1 MEANS YES)"; +515 INPUT I +520 PRINT +525 IF I=0 THEN 570 +530 IF T(1)<>21 THEN 555 +535 LET W1=W1+W +540 PRINT +545 PRINT "YOU WIN $"W;" ON YOUR INSURANCE BET" +550 GOTO 570 +555 LET W1=W1-W/2 +560 PRINT +565 PRINT"YOU LOST $"W/2" ON YOUR INSURANCE BET - I DON'T HAVE BLACKJACK" +570 IF T(1)<>21 THEN 605 +575 PRINT +580 PRINT"**I HAVE BLACKJACK**" +585 PRINT "MY HOLE CARD WAS ", +590 LET X=M +595 GOSUB 1035 +600 GOTO 1300 +605 IF T(P)<=21 THEN 650 +610 IF E(P)>0 THEN 640 +615 PRINT"YOU BUSTED, "; +620 PRINT"YOUR TOTAL IS "T(P) +625 LET C1=T(P)-5*(INT(T(P)/5)) +630 IF V(2)=1 THEN 775 +635 GOTO 1175 +640 LET E(P)=E(P)-1 +645 LET T(P)=T(P)-10 +650 IF V(1)=2 THEN 620 +655 LET V(3)=V(3)+1 +660 PRINT"HIT "; +665 INPUT V(1) +670 IF V(1)<>3 THEN 830 +675 IF V(2)>0 THEN 820 +680 IF V(3)<>2 THEN 820 +685 IF Q(G)=Q(S) THEN 700 +690 PRINT"NOW IS THAT A PAIR?" +695 GOTO 660 +700 LET V(2)=1 +705 IF Q(G)<>1 THEN 715 +710 LET V(1)=2 +715 LET P=3 +720 PRINT" PLAY HAND ONE NOW" +725 PRINT"FIRST CARD IS ", +730 LET W(3)=W +735 LET X=G +740 GOSUB 750 +745 GOTO 430 +750 GOSUB 990 +755 GOSUB 1035 +760 LET V(3)=1 +765 LET T(P)=C +770 RETURN +775 LET P=2 +780 LET V(2)=2 +785 PRINT" PLAY HAND TWO NOW" +790 PRINT"FIRST CARD IS", +795 LET X=S +800 GOSUB 750 +805 IF Q(G)=1 THEN 815 +810 LET V(1)=0 +815 GOTO 430 +820 PRINT"NO SPLITS NOW -- TRY AGAIN" +825 GOTO 660 +830 IF V(1)<>2 THEN 855 +835 IF V(3)=2 THEN 850 +840 PRINT"TOO LATE TO DOUBLE, VHARLIE." +845 GOTO 660 +850 LET W(P)=2*W(P) +855 IF V(1)>0 THEN 430 +860 GOTO 620 +865 GOSUB 900 +870 LET T(P)=T(P)+C +875 IF V(5)=0 THEN 890 +880 LET V(5)=0 +885 RETURN +890 GOSUB 1035 +895 RETURN +900 IF R>=50 THEN 945 +905 LET N=10*(1+ABS(COS(N+W1))) +910 FOR A=1 TO N +915 LET X=INT(52.999999*RND(Y)) +920 IF X=0 THEN 915 +925 NEXT A +930 IF D(X)=0 THEN 980 +935 LET R=R+1 +940 IF R<50 THEN 900 +945 FOR A=1 TO 52 +950 IF D(A)=K THEN 960 +955 LET D(A)=0 +960 NEXT A +965 LET R=0 +970 PRINT" I RESHUFFLED "; +975 GOTO 900 +980 LET R=0 +985 LET D(X)=K +990 IF Q(X)<>1 THEN 1010 +995 LET C=11 +1000 LET E(P)=E(P)+1 +1005 RETURN +1010 IF Q(X)>10 THEN 1025 +1015 LET C=Q(X) +1020 RETURN +1025 LET C=10 +1030 RETURN +1035 GOSUB 1050 +1040 GOSUB 1120 +1045 RETURN +1050 IF Q(X)<>1 THEN 1065 +1055 PRINT" ACE "; +1060 RETURN +1065 IF Q(X)>10 THEN 1080 +1070 PRINT Q(X);" "; +1075 RETURN +1080 IF Q(X)>11 THEN 1095 +1085 PRINT" JACK "; +1090 RETURN +1095 IF Q(X)>12 THEN 1110 +1100 PRINT" QUEEN "; +1105 RETURN +1110 PRINT" KING "; +1115 RETURN +1120 IF X>39 THEN 1145 +1125 IF X>26 THEN 1155 +1130 IF X>13 THEN 1165 +1135 PRINT"OF SPADES" +1140 RETURN +1145 PRINT"OF CLUBS" +1150 RETURN +1155 PRINT"OF HEARTS" +1160 RETURN +1165 PRINT"OF DIAMONDS" +1170 RETURN +1175 LET P=2 +1180 PRINT "MY HOLE CARD WAS ", +1185 LET X=M +1190 GOSUB 1035 +1195 IF T(2)<22 THEN 1210 +1200 IF V(2)=0 THEN 1300 +1205 IF T(3)>21 THEN 1300 +1210 LET P=1 +1215 IF T(1)<17 THEN 1360 +1220 IF T(1)>17 THEN 1230 +1225 IF E(1)>0 THEN 1360 +1230 IF T(1)>21 THEN 1375 +1235 LET P=2 +1240 PRINT"MY TOTAL IS "T(1) +1245 IF T(P)>21 THEN 1300 +1250 IF T(1)>21 THEN 1265 +1255 IF T(1)>T(P) THEN 1300 +1260 IF T(1)=T(P) THEN 1330 +1265 LET W1=W1+W(P) +1270 IF C1>3 THEN 1445 +1275 IF C1>2 THEN 1465 +1280 IF C1>1 THEN 1485 +1285 IF C1>0 THEN 1505 +1290 GOTO 1525 +1295 GOTO 1330 +1300 LET W1=W1-W(P) +1305 IF C1>3 THEN 1545 +1310 IF C1>2 THEN 1565 +1315 IF C1>1 THEN 1585 +1320 IF C1>0 THEN 1605 +1325 GOTO 1625 +1330 IF V(2)>0 THEN 1345 +1335 GOSUB 1405 +1340 GOTO 265 +1345 LET P=3 +1350 LET V(2)=0 +1355 GOTO 1245 +1360 PRINT "I DRAW", +1365 GOSUB 865 +1370 GOTO 1210 +1375 IF E(1)=0 THEN 1395 +1380 LET E(1)=E(1)-1 +1385 LET T(1)=T(1)-10 +1390 GOTO 1210 +1395 PRINT"I BUSTED*****" +1400 GOTO 1235 +1405 IF W1<0 THEN 1425 +1410 IF W1=0 THEN 1435 +1415 PRINT"YOU'RE AHEAD $"W1 +1420 RETURN +1425 PRINT USING "YOU'RE BEHIND $**##,.##", -W1 +1430 RETURN +1435 PRINT"YOU'RE EVEN" +1440 RETURN +1445 PRINT +1450 PRINT"I MUST HAVE DEALT WRONG." +1455 PRINT +1460 GOTO 1330 +1465 PRINT +1470 PRINT"YOU LUCKED OUT AGAIN:" +1475 PRINT +1480 GOTO 1330 +1485 PRINT +1490 PRINT"YOU MUST HAVE BEEN PEEKING." +1495 PRINT +1500 GOTO 1330 +1505 PRINT +1510 PRINT"I COULD LOSE MY JOB THIS WAY." +1515 PRINT +1520 GOTO 1330 +1525 PRINT +1530 PRINT"THE CARDS HAVE TURNED AGAINST ME:" +1535 PRINT +1540 GOTO 1330 +1545 PRINT +1550 PRINT"THE BOTTOM OF THE DECK STRIKES AGAIN:" +1555 PRINT +1560 GOTO 1330 +1565 PRINT +1570 PRINT"A VICTORY FOR US GOOD GUYS." +1575 PRINT +1580 GOTO 1330 +1585 PRINT +1590 PRINT"YOU CAN'T BEAT SKILL." +1595 PRINT +1600 GOTO 1330 +1605 PRINT +1610 PRINT"YOU CAN'T WIN 'EM ALL." +1615 PRINT +1620 GOTO 1330 +1625 PRINT +1630 PRINT"BABY GETS A NEW PAIR OF SHOES:" +1635 PRINT +1640 GOTO 1330 +1645 FOR M9 = 1 TO 52 +1650 LET D(M9)=0 +1655 NEXT M9 +1660 LET R=0 +1665 PRINT +1670 PRINT" I RESHUFFLED" +1675 PRINT"" +1680 RETURN +1685 END diff --git a/dec/BLKJAK.BAS b/dec/BLKJAK.BAS new file mode 100644 index 0000000..db1388b --- /dev/null +++ b/dec/BLKJAK.BAS @@ -0,0 +1,102 @@ +5 PRINT "WELCOME TO DIGITAL EDUSYSTEM COMPUTER BLACKJACK!!" +6 PRINT\PRINT "YOUR DEALER TONIGHT IS PETEY P. EIGHT." +7 PRINT "WATCH HIM CLOSELY.... HE HAS A REPUTATION FOR" +8 PRINT "DEALING OFF THE BOTTOM OF THE DECK."\PRINT +9 RANDOMIZE +10 DIM A(13) +20 PRINT "QUESTIONS REQUIRING A YES OR NO ANSWER" +25 PRINT "SHOULD BE ANSWERED WITH A 'Y' FOR YES, 'N' FOR NO."\PRINT +30 PRINT "DON'T START PLAYING WITH LESS THAN $100.. HAVE FUN!"\PRINT +40 PRINT "HOW MANY DOLLARS ARE YOU STARTING WITH"; +41 INPUT F +42 PRINT +43 F1=F +50 PRINT "WHAT IS YOUR WAGER THIS TIME"; +51 INPUT W +52 PRINT +53 IF W>F GOTO 56 +54 IF W<10 GOTO 58 +55 GOTO 100 +56 PRINT "YOUR BET EXCEEDS YOUR REMAINING DOLLARS." +57 GOTO 50 +58 PRINT "MINIMUM WAGER IS $10." +59 GOTO 50 +100 GOSUB 780 +102 P1=I +104 PRINT "YOUR FIRST CARD IS "CHR$(L) +106 GOSUB 780 +110 P2=I +112 PRINT "YOUR SECOND CARD IS "CHR$(L) +115 GOSUB 200 +117 PRINT "YOU HAVE "P3" SHOWING." +119 GOSUB 760 +120 P3=P3+I +122 PRINT "YOU GOT A "CHR$(L) +123 IF P3>21 GOTO 820 +124 GOTO 117 +200 GOSUB 780 +201 P3=P1+P2 +202 D1=I +204 GOSUB 780 +206 D2=I +208 PRINT "DEALER SHOWS A "CHR$(L) +210 GOTO 117 +212 D3=D1+D2 +214 PRINT "DEALER HAS "D3 +216 IF D3>16 GOTO 222 +217 GOSUB 780 +218 PRINT "DEALER GETS A "CHR$(L) +219 D3=D3+I +220 GOTO 214 +222 IF D3<22 GOTO 800 +224 PRINT "DEALER BUSTED." +226 GOTO 802 +760 PRINT "DO YOU WANT A HIT?"; +762 INPUT $K +764 PRINT +766 IF K=#N GOTO 212 +768 GOSUB 780 +770 RETURN +780 I=INT(13*RND(0)+1) +782 A(I)=A(I)+1 +784 IF A(I)>4 GOTO 780 +786 GOSUB 900 +788 RETURN +800 IF D3>=P3 GOTO 820 +802 F=F+W +806 PRINT "YOU WIN. YOU NOW HAVE $"F +808 GOTO 980 +820 F=F-W +822 PRINT "YOU LOSE. YOU NOW HAVE $"F +824 GOTO 980 +900 IF I<>1 GOTO 910 +904 I=11 +906 L=#A +908 GOTO 942 +910 IF I<>13 GOTO 920 +912 I=10 +914 L=#K +916 GOTO 942 +920 IF I<>12 GOTO 930 +922 I=10 +924 L=#Q +926 GOTO 942 +930 IF I<>11 GOTO 937 +932 I=10 +934 L=#J +936 GOTO 942 +937 IF I<>10 GOTO 940 +938 L=#T +939 GOTO 942 +940 L=I+48 +942 RETURN +980 PRINT "DO YOU WISH TO PLAY AGAIN?"; +982 INPUT $K +984 PRINT\PRINT +986 IF K=#Y GOTO 50 +987 PRINT\PRINT\PRINT \IF F>F1 THEN 995 +988 PRINT "TOO BAD! YOU LOST"F1-F"DOLLARS AT THE EDUSYSTEM CASINO." +990 GOTO 998 +995 PRINT "NOT BAD! YOU WON"F-F1"DOLLARS AT THE EDUSYSTEM CASINO." +998 PRINT\PRINT "HOPE YOU ENJOYED YOURSELF. THANKS FOR PLAYING." +999 END diff --git a/port/BLKJAC.BAS b/port/BLKJAC.BAS new file mode 100644 index 0000000..5ac2760 --- /dev/null +++ b/port/BLKJAC.BAS @@ -0,0 +1,333 @@ + 10 PRINT "DO YOU WANT INSTRUCTIONS (IF SO TYPE A 1)"; + 15 INPUT K + 25 IF K<>1 THEN 85 + 30 PRINT + 35 PRINT + 40 PRINT + 45 PRINT + 50 PRINT"THIS IS A GAME OF BLACKJACK, LAS VEGAS STYLE." + 55 PRINT"HERE ARE THE RULES OF THE HOUSE. THE DEALER" + 60 PRINT"MUST HIT ON 16 OR LESS AND WILL STAY ON 17 OR" + 65 PRINT"MORE. YOU MAY SPLIT TWO CARDS IF THEY ARE THE" + 70 PRINT"SAME AND PLAY ONE HAND WITH EACH OF THEM. ALSO," + 75 PRINT"YOU MAY DOUBLE YOUR BET AND RECEIVE EXACTLY ONE " + 80 PRINT"MORE CARD ANY TIME ON YOUR FIRST HIT. THE TYPING" + 85 PRINT"INSTRUCTIONS ARE: 0-NO HIT; 1-HIT; 2-DOUBLE; AND" + 90 PRINT "3-SPLIT A PAIR." + 95 IF K<>1 THEN 155 + 100 PRINT"WHEN THE DEALER HAS AN EXPOSED ACE HE WILL ASK" + 105 PRINT"YOU FOR AN INSURANCE BET. AN INSURANCE BET WILL" + 110 PRINT"RISK HALF YOUR BET FOR AN AMOUNT EQUAL TO YOUR BET" + 115 PRINT"IF YOU WIN. YOU WIN IF THE DEALER HAS A BLACKJACK" + 120 PRINT"AND LOSE IF HE DOESN'T. THE HOUSE LIMIT IS $500.00" + 125 PRINT"GOOD LUCK. OH, BY THE WAY, THE DEALER IS NOTED FOR" + 130 PRINT"DEALING OFF THE BOTTOM OF THE DECK. WATCH HIM VERY" + 135 PRINT"CLOSELY. HERE HE IS NOW." + 140 PRINT + 145 PRINT + 150 PRINT + 155 LET K=0 + 160 LET W1=0 + 165 RANDOMIZE + 170 LET N=INT(1945*RND(0)+1) + 175 PRINT + 180 PRINT"ANY TIME YOU WANT ME TO RESHUFFLE THE CARDS SIMPLY" + 185 PRINT"TYPE 7777 WHEN I ASK FOR YOUR WAGER AND I'LL BE VERY" + 190 PRINT"HAPPY TO OBLIGE. O.K., HERE IS THE FIRST HAND." + 200 LET X=INT(10*RND(0)) + 210 DIM D(52),E(5),V(5),T(5),W(5) + 215 FOR A=1 TO 52 + 220 LET D(A)=0 + 225 NEXT A + 230 DIM Q(52) + 235 FOR A=0 TO 39 STEP 13 + 240 FOR C=1 TO 13 + 245 LET Q(A+C)=C + 250 NEXT C + 255 NEXT A + 260 PRINT + 265 LET K=K+1 + 270 FOR P=1 TO 5 + 275 LET E(P)=0 + 280 LET V(P)=0 + 285 LET T(P)=0 + 290 NEXT P + 295 LET V(3)=1 + 300 PRINT + 305 PRINT + 310 PRINT + 315 PRINT"WAGER"; + 320 LET P=1 + 325 INPUT W + 330 LET W(2)=W + 335 IF W<=0 THEN 1685 + 340 IF W<=500 THEN 370 + 345 IF W<>7777 THEN 360 + 350 GOSUB 1645 + 355 GOTO 315 + 360 PRINT"THAT'S TOO MUCH - HOUSE LIMIT IS $500" + 365 GOTO 315 + 370 PRINT + 375 PRINT "I SHOW", + 380 GOSUB 865 + 385 IF E(1)=0 THEN 395 + 390 LET V(4)=1 + 395 LET V(5)=1 + 400 GOSUB 865 + 405 LET M=X + 410 LET P=2 + 415 PRINT"FIRST CARD IS", + 420 GOSUB 865 + 425 LET G=X + 430 PRINT"NEXT CARD IS", + 435 GOSUB 865 + 440 IF V(2)>0 THEN 605 + 445 LET S=X + 450 IF V(3)<> 1 THEN 605 + 455 IF T(P)<>21 THEN 505 + 460 PRINT " ***BLACKJACK*** " + 465 PRINT + 470 PRINT" THAT'S GETTING A BIT RIDICULOUS::::" + 475 PRINT + 480 PRINT "MY HOLE CARD WAS ", + 485 LET X=M + 490 GOSUB 1035 + 495 LET W1=W1+1.5*W + 500 GOSUB 1335 + 505 IF V(4)=0 THEN 570 + 510 PRINT"INSURANCE ANYONE (TYPE 1 OR 0, 1 MEANS YES)"; + 515 INPUT I + 520 PRINT + 525 IF I=0 THEN 570 + 530 IF T(1)<>21 THEN 555 + 535 LET W1=W1+W + 540 PRINT + 545 PRINT "YOU WIN $"W;" ON YOUR INSURANCE BET" + 550 GOTO 570 + 555 LET W1=W1-W/2 + 560 PRINT + 565 PRINT"YOU LOST $"W/2" ON YOUR INSURANCE BET - I DON'T HAVE BLACKJACK" + 570 IF T(1)<>21 THEN 605 + 575 PRINT + 580 PRINT"**I HAVE BLACKJACK**" + 585 PRINT "MY HOLE CARD WAS ", + 590 LET X=M + 595 GOSUB 1035 + 600 GOTO 1300 + 605 IF T(P)<=21 THEN 650 + 610 IF E(P)>0 THEN 640 + 615 PRINT"YOU BUSTED, "; + 620 PRINT"YOUR TOTAL IS "T(P) + 625 LET C1=T(P)-5*(INT(T(P)/5)) + 630 IF V(2)=1 THEN 775 + 635 GOTO 1175 + 640 LET E(P)=E(P)-1 + 645 LET T(P)=T(P)-10 + 650 IF V(1)=2 THEN 620 + 655 LET V(3)=V(3)+1 + 660 PRINT"HIT "; + 665 INPUT V(1) + 670 IF V(1)<>3 THEN 830 + 675 IF V(2)>0 THEN 820 + 680 IF V(3)<>2 THEN 820 + 685 IF Q(G)=Q(S) THEN 700 + 690 PRINT"NOW IS THAT A PAIR?" + 695 GOTO 660 + 700 LET V(2)=1 + 705 IF Q(G)<>1 THEN 715 + 710 LET V(1)=2 + 715 LET P=3 + 720 PRINT" PLAY HAND ONE NOW" + 725 PRINT"FIRST CARD IS ", + 730 LET W(3)=W + 735 LET X=G + 740 GOSUB 750 + 745 GOTO 430 + 750 GOSUB 990 + 755 GOSUB 1035 + 760 LET V(3)=1 + 765 LET T(P)=C + 770 RETURN + 775 LET P=2 + 780 LET V(2)=2 + 785 PRINT" PLAY HAND TWO NOW" + 790 PRINT"FIRST CARD IS", + 795 LET X=S + 800 GOSUB 750 + 805 IF Q(G)=1 THEN 815 + 810 LET V(1)=0 + 815 GOTO 430 + 820 PRINT"NO SPLITS NOW -- TRY AGAIN" + 825 GOTO 660 + 830 IF V(1)<>2 THEN 855 + 835 IF V(3)=2 THEN 850 + 840 PRINT"TOO LATE TO DOUBLE, VHARLIE." + 845 GOTO 660 + 850 LET W(P)=2*W(P) + 855 IF V(1)>0 THEN 430 + 860 GOTO 620 + 865 GOSUB 900 + 870 LET T(P)=T(P)+C + 875 IF V(5)=0 THEN 890 + 880 LET V(5)=0 + 885 RETURN + 890 GOSUB 1035 + 895 RETURN + 900 IF R>=50 THEN 945 + 905 LET N=10*(1+ABS(COS(N+W1))) + 910 FOR A=1 TO N + 915 LET X=INT(52.999999*RND(Y)) + 920 IF X=0 THEN 915 + 925 NEXT A + 930 IF D(X)=0 THEN 980 + 935 LET R=R+1 + 940 IF R<50 THEN 900 + 945 FOR A=1 TO 52 + 950 IF D(A)=K THEN 960 + 955 LET D(A)=0 + 960 NEXT A + 965 LET R=0 + 970 PRINT" I RESHUFFLED "; + 975 GOTO 900 + 980 LET R=0 + 985 LET D(X)=K + 990 IF Q(X)<>1 THEN 1010 + 995 LET C=11 +1000 LET E(P)=E(P)+1 +1005 RETURN +1010 IF Q(X)>10 THEN 1025 +1015 LET C=Q(X) +1020 RETURN +1025 LET C=10 +1030 RETURN +1035 GOSUB 1050 +1040 GOSUB 1120 +1045 RETURN +1050 IF Q(X)<>1 THEN 1065 +1055 PRINT" ACE "; +1060 RETURN +1065 IF Q(X)>10 THEN 1080 +1070 PRINT Q(X);" "; +1075 RETURN +1080 IF Q(X)>11 THEN 1095 +1085 PRINT" JACK "; +1090 RETURN +1095 IF Q(X)>12 THEN 1110 +1100 PRINT" QUEEN "; +1105 RETURN +1110 PRINT" KING "; +1115 RETURN +1120 IF X>39 THEN 1145 +1125 IF X>26 THEN 1155 +1130 IF X>13 THEN 1165 +1135 PRINT"OF SPADES" +1140 RETURN +1145 PRINT"OF CLUBS" +1150 RETURN +1155 PRINT"OF HEARTS" +1160 RETURN +1165 PRINT"OF DIAMONDS" +1170 RETURN +1175 LET P=2 +1180 PRINT "MY HOLE CARD WAS ", +1185 LET X=M +1190 GOSUB 1035 +1195 IF T(2)<22 THEN 1210 +1200 IF V(2)=0 THEN 1300 +1205 IF T(3)>21 THEN 1300 +1210 LET P=1 +1215 IF T(1)<17 THEN 1360 +1220 IF T(1)>17 THEN 1230 +1225 IF E(1)>0 THEN 1360 +1230 IF T(1)>21 THEN 1375 +1235 LET P=2 +1240 PRINT"MY TOTAL IS "T(1) +1245 IF T(P)>21 THEN 1300 +1250 IF T(1)>21 THEN 1265 +1255 IF T(1)>T(P) THEN 1300 +1260 IF T(1)=T(P) THEN 1330 +1265 LET W1=W1+W(P) +1270 IF C1>3 THEN 1445 +1275 IF C1>2 THEN 1465 +1280 IF C1>1 THEN 1485 +1285 IF C1>0 THEN 1505 +1290 GOTO 1525 +1295 GOTO 1330 +1300 LET W1=W1-W(P) +1305 IF C1>3 THEN 1545 +1310 IF C1>2 THEN 1565 +1315 IF C1>1 THEN 1585 +1320 IF C1>0 THEN 1605 +1325 GOTO 1625 +1330 IF V(2)>0 THEN 1345 +1335 GOSUB 1405 +1340 GOTO 265 +1345 LET P=3 +1350 LET V(2)=0 +1355 GOTO 1245 +1360 PRINT "I DRAW", +1365 GOSUB 865 +1370 GOTO 1210 +1375 IF E(1)=0 THEN 1395 +1380 LET E(1)=E(1)-1 +1385 LET T(1)=T(1)-10 +1390 GOTO 1210 +1395 PRINT"I BUSTED*****" +1400 GOTO 1235 +1405 IF W1<0 THEN 1425 +1410 IF W1=0 THEN 1435 +1415 PRINT"YOU'RE AHEAD $"W1 +1420 RETURN +1425 PRINT "YOU'RE BEHIND $", -W1 +1430 RETURN +1435 PRINT"YOU'RE EVEN" +1440 RETURN +1445 PRINT +1450 PRINT"I MUST HAVE DEALT WRONG." +1455 PRINT +1460 GOTO 1330 +1465 PRINT +1470 PRINT"YOU LUCKED OUT AGAIN:" +1475 PRINT +1480 GOTO 1330 +1485 PRINT +1490 PRINT"YOU MUST HAVE BEEN PEEKING." +1495 PRINT +1500 GOTO 1330 +1505 PRINT +1510 PRINT"I COULD LOSE MY JOB THIS WAY." +1515 PRINT +1520 GOTO 1330 +1525 PRINT +1530 PRINT"THE CARDS HAVE TURNED AGAINST ME:" +1535 PRINT +1540 GOTO 1330 +1545 PRINT +1550 PRINT"THE BOTTOM OF THE DECK STRIKES AGAIN:" +1555 PRINT +1560 GOTO 1330 +1565 PRINT +1570 PRINT"A VICTORY FOR US GOOD GUYS." +1575 PRINT +1580 GOTO 1330 +1585 PRINT +1590 PRINT"YOU CAN'T BEAT SKILL." +1595 PRINT +1600 GOTO 1330 +1605 PRINT +1610 PRINT"YOU CAN'T WIN 'EM ALL." +1615 PRINT +1620 GOTO 1330 +1625 PRINT +1630 PRINT"BABY GETS A NEW PAIR OF SHOES:" +1635 PRINT +1640 GOTO 1330 +1645 FOR M9 = 1 TO 52 +1650 LET D(M9)=0 +1655 NEXT M9 +1660 LET R=0 +1665 PRINT +1670 PRINT" I RESHUFFLED" +1675 PRINT"" +1680 RETURN +1685 END diff --git a/port/BLKJAK.BAS.1 b/port/BLKJAK.BAS.1 new file mode 100644 index 0000000..a4a7981 --- /dev/null +++ b/port/BLKJAK.BAS.1 @@ -0,0 +1,102 @@ +5 PRINT "WELCOME TO DIGITAL EDUSYSTEM COMPUTER BLACKJACK!!" +6 PRINT\PRINT "YOUR DEALER TONIGHT IS PETEY P. EIGHT." +7 PRINT "WATCH HIM CLOSELY.... HE HAS A REPUTATION FOR" +8 PRINT "DEALING OFF THE BOTTOM OF THE DECK."\PRINT +9 RANDOMIZE +10 DIM A(13) +20 PRINT "QUESTIONS REQUIRING A YES OR NO ANSWER" +25 PRINT "SHOULD BE ANSWERED WITH A 'Y' FOR YES, 'N' FOR NO."\PRINT" +30 PRINT "DON'T START PLAYING WITH LESS THAN $100.. HAVE FUN!"\PRINT +40 PRINT "HOW MANY DOLLARS ARE YOU STARTING WITH"; +41 INPUT F +42 PRINT +43 F1=F +50 PRINT "WHAT IS YOUR WAGER THIS TIME"; +51 INPUT W +52 PRINT +53 IF W>F GOTO 56 +54 IF W<10 GOTO 58 +55 GOTO 100 +56 PRINT "YOUR BET EXCEEDS YOUR REMAINING DOLLARS." +57 GOTO 50 +58 PRINT "MINIMUM WAGER IS $10." +59 GOTO 50 +100 GOSUB 780 +102 P1=I +104 PRINT "YOUR FIRST CARD IS "CHR$(L) +106 GOSUB 780 +110 P2=I +112 PRINT "YOUR SECOND CARD IS "CHR$(L) +115 GOSUB 200 +117 PRINT "YOU HAVE "P3" SHOWING." +119 GOSUB 760 +120 P3=P3+I +122 PRINT "YOU GOT A "CHR$(L) +123 IF P3>21 GOTO 820 +124 GOTO 117 +200 GOSUB 780 +201 P3=P1+P2 +202 D1=I +204 GOSUB 780 +206 D2=I +208 PRINT "DEALER SHOWS A "CHR$(L) +210 GOTO 117 +212 D3=D1+D2 +214 PRINT "DEALER HAS "D3 +216 IF D3>16 GOTO 222 +217 GOSUB 780 +218 PRINT "DEALER GETS A "CHR$(L) +219 D3=D3+I +220 GOTO 214 +222 IF D3<22 GOTO 800 +224 PRINT "DEALER BUSTED." +226 GOTO 802 +760 PRINT "DO YOU WANT A HIT"; +762 INPUT K$ +764 PRINT +766 IF K="N" GOTO 212 +768 GOSUB 780 +770 RETURN +780 I=INT(13*RND(0)+1) +782 A(I)=A(I)+1 +784 IF A(I)>4 GOTO 780 +786 GOSUB 900 +788 RETURN +800 IF D3>=P3 GOTO 820 +802 F=F+W +806 PRINT "YOU WIN. YOU NOW HAVE $"F +808 GOTO 980 +820 F=F-W +822 PRINT "YOU LOSE. YOU NOW HAVE $"F +824 GOTO 980 +900 IF I<>1 GOTO 910 +904 I=11 +906 L=65 ' #A +908 GOTO 942 +910 IF I<>13 GOTO 920 +912 I=10 +914 L=75 ' #K +916 GOTO 942 +920 IF I<>12 GOTO 930 +922 I=10 +924 L=81 ' #Q +926 GOTO 942 +930 IF I<>11 GOTO 937 +932 I=10 +934 L=74 ' #J +936 GOTO 942 +937 IF I<>10 GOTO 940 +938 L=84 ' #T +939 GOTO 942 +940 L=I+48 +942 RETURN +980 PRINT "DO YOU WISH TO PLAY AGAIN"; +982 INPUT K$ +984 PRINT\PRINT +986 IF K$="Y" GOTO 50 +987 PRINT\PRINT\PRINT \IF F>F1 THEN 995 +988 PRINT "TOO BAD! YOU LOST"F1-F"DOLLARS AT THE EDUSYSTEM CASINO." +990 GOTO 998 +995 PRINT "NOT BAD! YOU WON"F-F1"DOLLARS AT THE EDUSYSTEM CASINO." +998 PRINT\PRINT "HOPE YOU ENJOYED YOURSELF. THANKS FOR PLAYING." +999 END