Compucolor.org – Virtual Media

Listing of file='POKER.BAS;01' on disk='vmedia/ncc_5-sector.ccvf'

2 PRINT "":PLOT 12:PRINT :PRINT :PRINT :PRINT :PRINT :PRINT :PRINT :PRINT :PRINT :PRINT TAB( 33);"POKER"
4 REM --CREATIVE COMPUTING MORRISTOWN, NEW JERSEY,SEP 9, 1979
6 PRINT ""
10 DIM A(50),B(15)
15 PLOT 12
20 DEF FN A(X)= INT (10* RND (W))
30 DEF FN B(X)= X- 100* INT (X/ 100)
35 INPUT "ENTER SEED NUMBER (ANY NUMBER ,UP TO 6, OF DIGITS, + OR - :";R
40 PRINT "WELCOME TO THE CASINO.  WE EACH HAVE $200"
50 PRINT "I WILL OPEN THE BETTING BEFORE THE DRAW; YOU OPEN AFTER"
60 PRINT "WHEN YOU FOLD, BET 0; TO CHECK, BET .5"
70 PRINT " ENOUGH TALK -- LET'S GET DOWN TO BUSINESS"
80 PRINT :D= 1
100 C= 200
110 S= 200
120 P= 0
130 REM
140 PRINT
150 IF C< = 5THEN 3670
160 PRINT "THE ANTE IS $5.  I WILL DEAL."
170 PRINT
180 IF S> 5THEN 200
190 GOSUB 3830
200 P= P+ 10
210 S= S- 5
220 C= C- 5
230 FOR Z= 1TO 10
240 GOSUB 1740
250 NEXT Z
260 PRINT "YOUR HAND : "
270 N= 1
280 GOSUB 1850
290 N= 6
300 I= 2
310 GOSUB 2170
320 PRINT
330 IF I< > 6THEN 470
340 IF FN A(0)< = 7THEN 370
350 X= 11100
360 GOTO 420
370 IF FN A(0)< = 7THEN 400
380 X= 11110
390 GOTO 420
400 IF FN A(0)> = 1THEN 450
410 X= 11111
420 I= 7
430 Z= 23
440 GOTO 580
450 Z= 1
460 GOTO 510
470 IF U> = 13THEN 540
480 IF FN A(0)> = 2THEN 500
490 GOTO 420
500 Z= 0
510 K= 0
520 PRINT "I CHECK"
530 GOTO 620
540 IF U< = 16THEN 570
550 Z= 2
560 IF FN A(0)> = 1THEN 580
570 Z= 35
580 V= Z+ FN A(0)
590 GOSUB 3480
600 PRINT "I'LL OPEN WITH ";V
610 K= V
620 GOSUB 3050
630 GOSUB 650
640 GOTO 820
650 IF I< > 3THEN 760
660 PRINT
670 PRINT "I WIN"
680 C= C+ P
690 PRINT "NOW I HAVE $";C;" AND YOU HAVE $";S;""
695 GOTO 120
700 PRINT "DO YOU WISH TO CONTINUE ( Y OR N ) ";
710 INPUT H$
720 IF H$= "Y"THEN 120
730 IF H$= "N"THEN 4100
740 PRINT "ANSWER WITH  Y OR N PLEASE."
750 GOTO 700
760 IF I< > 4THEN 810
770 PRINT :PRINT "YOU WIN"
790 S= S+ P
800 GOTO 690
810 RETURN
820 PRINT :PRINT "NOW WE DRAW -- HOW MANY CARDS DO YOU WANT ";
840 INPUT T
850 IF T= 0THEN 980
860 Z= 10
870 IF T< 4THEN 900
880 PRINT "YOU CAN'T DRAW MORE THAN THREE CARDS DUMMY"
890 GOTO 840
900 PRINT "WHAT ARE THEIR NUMBERS ?"
910 FOR Q= 1TO T
920 INPUT U
930 GOSUB 1730
940 NEXT Q
950 PRINT "YOUR NEW HAND : "
960 N= 1
970 GOSUB 1850
980 Z= 10+ T
990 FOR U= 6TO 10
1000 IF INT (X/ 10^ (U- 6))< > 10* INT (X/ 10^ (U- 5))THEN 1020
1010 GOSUB 1730
1020 NEXT U
1030 PRINT :PRINT "I'M TAKING ";Z- 10- T;" CARD";
1050 IF Z= 11+ TTHEN 1090
1060 PRINT "S"
1090 PRINT
1100 N= 6
1110 V= I
1120 I= 1
1130 GOSUB 2170
1140 B= U
1150 M= D
1160 IF V< > 7THEN 1190
1170 Z= 28
1180 GOTO 1330
1190 IF I< > 6THEN 1220
1200 Z= 1
1210 GOTO 1330
1220 IF U> = 13THEN 1270
1230 Z= 2
1240 IF FN A(0)< > 6THEN 1260
1250 Z= 19
1260 GOTO 1330
1270 IF U> = 16THEN 1320
1280 Z= 19
1290 IF FN A(0)< > 8THEN 1310
1300 Z= 11
1310 GOTO 1330
1320 Z= 2
1330 K= 0
1340 GOSUB 3050
1350 IF T< > .5THEN 1450
1360 IF V= 7THEN 1400
1370 IF I< > 6THEN 1400
1380 PRINT "I'LL CHECK"
1390 GOTO 1460
1400 V= Z+ FN A(0)
1410 GOSUB 3480
1420 PRINT "I'LL BET ";V
1430 K= V
1440 GOSUB 3060
1450 GOSUB 650
1460 PRINT :PRINT "NOW WE COMPARE HANDS"
1480 J$= H$
1490 K$= I$
1500 PRINT "MY HAND : ";
1510 N= 6
1520 GOSUB 1850
1530 N= 1
1540 GOSUB 2170
1550 PRINT :PRINT "YOU HAVE : ";
1570 K= D
1580 GOSUB 3690
1590 H$= J$
1600 I$= K$
1610 K= M
1620 PRINT "AND I HAVE : ";
1630 GOSUB 3690
1640 IF B> UTHEN 670
1650 IF U> BTHEN 770
1660 IF H$= "A FLUSH"THEN 1700
1662 IF FN B(M)< FN B(D)THEN 770
1664 IF FN B(M)> FN B(D)THEN 670
1670 PRINT "THE HAND IS DRAWN"
1680 PRINT "ALL $";P;" REMAINS IN THE POT"
1690 GOTO 140
1700 IF FN B(M)> FN B(D)THEN 670
1710 IF FN B(D)> FN B(M)THEN 780
1720 GOTO 1670
1730 Z= Z+ 1
1740 A(Z)= 100* INT (4* RND (W))+ INT (100* RND (W+ 6))
1750 IF INT (A(Z)/ 100)> 3THEN 1740
1760 IF A(Z)- 100* INT (A(Z)/ 100)> 12THEN 1740
1765 IF Z= 1THEN 1840
1770 FOR K= 1TO Z- 1
1780 IF A(Z)= A(K)THEN 1740
1790 NEXT K
1800 IF Z< = 10THEN 1840
1810 N= A(U)
1820 A(U)= A(Z)
1830 A(Z)= N
1840 RETURN
1850 FOR Z= NTO N+ 4
1860 PRINT Z;"-";
1870 GOSUB 1950
1890 GOSUB 2070
1900 IF Z/ 2< > INT (Z/ 2)THEN 1920
1920 NEXT Z
1930 PRINT
1940 RETURN
1950 K= FN B(A(Z))
1960 IF K< > 9THEN 1980
1970 PRINT "J ";
1980 IF K< > 10THEN 2000
1990 PRINT " Q ";
2000 IF K< > 11THEN 2020
2010 PRINT " K ";
2020 IF K< > 12THEN 2040
2030 PRINT " A ";
2040 IF K> = 9THEN 2060
2050 PRINT "";K+ 2;"";
2060 RETURN
2070 K= INT (A(Z)/ 100)
2080 IF K< > 0THEN 2100
2090 PRINT " c ",
2100 IF K< > 1THEN 2120
2110 PRINT " d ",
2120 IF K< > 2THEN 2140
2130 PRINT " h ",
2140 IF K< > 3THEN 2160
2150 PRINT " s ",
2160 RETURN
2170 U= 0
2180 FOR Z= NTO N+ 4
2190 B(Z)= FN B(A(Z))
2200 IF Z= N+ 4THEN 2230
2210 IF INT (A(Z)/ 100)< > INT (A(Z+ 1)/ 100)THEN 2230
2220 U= U+ 1
2230 NEXT Z
2240 IF U< > 4THEN 2310
2250 X= 11111
2260 D= A(N)
2270 H$= " A FLUS"
2280 I$= "H IN"
2290 U= 15
2300 RETURN
2310 FOR Z= NTO N+ 3
2320 FOR K= Z+ 1TO N+ 4
2330 IF B(Z)< = B(K)THEN 2390
2340 X= A(Z)
2350 A(Z)= A(K)
2360 B(Z)= B(K)
2370 A(K)= X
2380 B(K)= A(K)- 100* INT (A(K)/ 100)
2390 NEXT K
2400 NEXT Z
2410 X= 0
2420 FOR Z= NTO N+ 3
2430 IF B(Z)< > B(Z+ 1)THEN 2470
2440 X= X+ 11* 10^ (Z- N)
2450 D= A(Z)
2460 GOSUB 2760
2470 NEXT Z
2480 IF X< > 0THEN 2620
2490 IF B(N)+ 3< > B(N+ 3)THEN 2520
2500 X= 1111
2510 U= 10
2520 IF B(N+ 1)+ 3< > B(N+ 4)THEN 2620
2530 IF U< > 10THEN 2600
2540 U= 14
2550 H$= "STRAIG"
2560 I$= "HT"
2570 X= 11111
2580 D= A(N+ 4)
2590 RETURN
2600 U= 10
2610 X= 11110
2620 IF U> = 10THEN 2690
2630 D= A(N+ 4)
2640 H$= "SCHMAL"
2650 I$= "TZ, "
2660 U= 9
2670 X= 11000
2680 GOTO 2740
2690 IF U< > 10THEN 2720
2700 IF I= 1THEN 2740
2710 GOTO 2750
2720 IF U> 12THEN 2750
2730 IF FN B(D)> 6THEN 2750
2740 I= 6
2750 RETURN
2760 IF U> = 11THEN 2810
2770 U= 11
2780 H$= "A PAIR"
2790 I$= " OF "
2800 RETURN
2810 IF U< > 11THEN 2910
2820 IF B(Z)< > B(Z= 1)THEN 2870
2830 H$= "THREE"
2840 I$= " "
2850 U= 13
2860 RETURN
2870 H$= "TWO P"
2880 I$= "AIR, "
2890 U= 12
2900 RETURN
2910 IF U> 12THEN 2960
2920 U= 16
2930 H$= "FULL H"
2940 I$= "OUSE, "
2950 RETURN
2960 IF B(Z)< > B(Z- 1)THEN 3010
2970 U= 17
2980 H$= "FOUR"
2990 I$= " "
3000 RETURN
3010 U= 16
3020 H$= "FULL H"
3030 I$= "OUSE, "
3040 RETURN
3050 G= 0
3060 INPUT "WHAT IS YOUR BET ? ";T
3080 IF T- INT (T)= 0THEN 3140
3090 IF K< > 0THEN 3120
3100 IF G< > 0THEN 3120
3110 IF T= .5THEN 3420
3120 PRINT "NO SMALL CHANGE PLEASE"
3130 GOTO 3060
3140 IF S- G- T> = 0THEN 3170
3150 GOSUB 3830
3160 GOTO 3060
3170 IF T< > 0THEN 3200
3180 I= 3
3190 GOTO 3380
3200 IF G+ T> = KTHEN 3230
3210 PRINT "IF YOU CAN'T SEE MY BET, THEN FOLD"
3220 GOTO 3060
3230 G= G+ T
3240 IF G= KTHEN 3380
3250 IF Z< > 1THEN 3420
3260 IF G> 5THEN 3300
3270 IF Z> = 2THEN 3350
3280 V= 5
3290 GOTO 3420
3300 IF Z= 1THEN 3320
3310 IF T< = 25THEN 3350
3320 I= 4
3330 PRINT "I FOLD"
3340 RETURN
3350 IF Z= 2THEN 3430
3360 PRINT "I'LL SEE YOU"
3370 K= G
3380 S= S- G
3390 C= C- K
3400 P= P+ G+ K
3410 RETURN
3420 IF G> 3* ZTHEN 3350
3430 V= G- K+ FN A(0)
3440 GOSUB 3480
3450 PRINT "I'LL SEE YOU, AND RAISE YOU ";V
3460 K= G+ V
3470 GOTO 3060
3480 IF C- G- V> = 0THEN 3660
3490 IF G< > 0THEN 3520
3500 V= C
3510 RETURN
3520 IF C- G> = 0THEN 3360
3530 IF (O/ 2)< > INT (O/ 2)THEN 3600
3540 PRINT "WOULD UOU LIKE TO BUY BACK YOUR TIE TACK FOR $50 ? ";
3550 INPUT J$
3560 IF LEFT$ (J$,1)= "N"THEN 3600
3570 C= C+ 50
3580 O= O/ 2
3590 RETURN
3600 IF O/ 3< > INT (O/ 3)THEN 3670
3610 PRINT "WOULD YOU LIKE TO BUY BACK YOUR WATCH FOR $50 ?";
3620 INPUT J$
3630 IF LEFT$ (J$,1)= "N"THEN 3670
3640 C= C+ 50
3650 O= O/ 3
3660 RETURN
3670 PRINT "I'M BUSTED. CONGRATULATIONS !!"
3680 GOTO 4100
3690 PRINT H$;I$;
3700 IF H$< > "A FLUS"THEN 3750
3710 K= INT (K/ 100)
3720 GOSUB 2080
3730 PRINT
3740 RETURN
3750 K= FN B(K)
3760 GOSUB 1960
3770 IF H$= "SCHMAL"THEN 3790
3780 IF H$< > "STRAIG"THEN 3810
3790 PRINT " HIGH"
3800 RETURN
3810 PRINT "'S"
3820 RETURN
3830 PRINT
3840 PRINT "YOU CAN'T BET WITH WHAT YOUR HAVEN'T GOT"
3850 IF 0/ 2= INT (O/ 2)THEN 3970
3860 PRINT "WOULD YOU LIKE TO SELL YOUR WATCH ? ";
3870 INPUT J$
3880 IF LEFT$ (J$,1)= "N"THEN 3970
3890 IF FN A(0)> = 7THEN 3930
3900 PRINT "I'LL GIVE YOU $75 FOR IT"
3910 S= S+ 75
3920 GOTO 3950
3930 PRINT "THAT'S A PRETTY CRUMMY WATCH - I'LL GIVE YOU $25"
3940 S= S+ 25
3950 O= O* 2
3960 RETURN
3970 IF 0/ 3< > INT (O/ 3)THEN 4090
3980 PRINT "WILL YOU PART WITH THAT DIAMOND TIE TACK ? ";
3990 INPUT J$
4000 IF LEFT$ (J$,1)= "N"THEN 4080
4010 IF FN A(0)> = 6THEN 4050
4020 PRINT "YOU ARE NOW $100 RICHER"
4030 S= S+ 100
4040 GOTO 4070
4050 PRINT " IT'S A PASTE. $25 "
4060 S= S+ 25
4070 O= O+ 3
4080 RETURN
4090 PRINT "YOUR WAD IS SHOT.  SO LONG SUCKER !!"
4100 END