10 CLEAR3000:DIM C$(6,3),C1$(5),C2$(5),C3$(5),C4$(5)
15 DIM BE(2),C(6,3),GA(2),PA(2),HA,X,A,C,L,T,DE,RC,RE,ND,Z,MC
20 MC=16384:REM CHANGE MC=1024 FOR COCO
30 GOSUB7000:FORC=1TO63:BL$=BL$+CHR$(175):NEXTC
100 FORC=0TO51:READA$:NEXTC
105 JB$="jimbob"+CHR$(128)+"s"+CHR$(128)+"casino"
110 ND=2:BE(1)=5:BE(2)=5
130 DE=1:RC=1:T=0
150 DATA AC,2C,3C,4C,5C,6C,7C,8C,9C,TC,JC,QC,KC
160 DATA AS,2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS
170 DATA AH,2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH
180 DATA AD,2D,3D,4D,5D,6D,7D,8D,9D,TD,JD,QD,KD
190 SU$="23456789TJQKA"
200 FOR X=1 TO 5:C$(X,3)=" ":NEXT X
220 DIM DE$(52)
225 GOSUB9100
230 PO(1)=500:PO(2)=500
240 REM
250 GOSUB570
260 GOSUB640
270 GOSUB1890:GOSUB1950
280 GOSUB700
290 GOSUB810
310 PRINT@485,"ANOTHER HAND (Y OR N)?";
320 A$=INKEY$:IFA$=""THEN320
330 IFA$="N"THEN360
340 IFA$="Y"THENRC=0:GOTO240
350 GOTO320
360 CLS
370 PRINT"THANKS FOR THE GAME. COME BACK  REAL SOON NOW YA HEAR!"
380 END
390 REM
400 RESTORE
410 FORX=0TO51
420 READDE$(X)
430 NEXTX
460 CLS3
470 RETURN
480 REM
500 FORX=1TO5
510 GOSUB9300:GOSUB9400
520 PRINT@CL,"     ";:PRINT@CL,CD$;
530 PRINT@CL+32,C1$(SU);
540 PRINT@CL+64,C2$(SU);
550 PRINT@CL+96,C3$(SU);
555 PRINT@CL+128,C4$(SU);
558 PRINT@CL+128+(5- LEN(CD$)),CD$;
560 IF LEN(CD$)>2ANDSU=4THENPRINT@CL+128,"  " CHR$(131)" "; LEFT$(CD$,1);
562 CL=CL+6:NEXTX:IFRC=999THEN565
563 IFHA=2THENZ=49:FORT=MC+387 TO MC+412 STEP6:POKET,Z:Z=Z+1:NEXTT
565 RETURN
570 REM
580 GOSUB390
590 FOR X=1 TO 5
600 HA=1:CL=33:GOSUB2010
610 HA=2:CL=225:GOSUB2010
620 NEXT X
630 RETURN
640 CLS3
650 GOSUB9600
660 IFDE=1THENHA=3:CL=33:GOSUB480
670 IFDE=0THENHA=1:CL=33:GOSUB1070
680 HA=2:CL=225:GOSUB1070:GOSUB480
690 RETURN
700 REM
710 FOR K=1 TO ND
720 GOSUB1460
730 PRINT@449,"HIT CARD NO. TO TRASH OR ENTER";
735 I$=INKEY$:IFI$=""THEN735
740 A=VAL(I$)
750 IFA>5THENSOUND1,5:GOTO735
755 SOUND200,1
760 IFI$=CHR$(13)THEN790
765 IFA=0THENSOUND1,5:GOTO735
770 HA=2:X=A:GOSUB2010
780 GOSUB640
790 NEXT K
795 GOSUB1470
800 PRINT@454,"PRESS c TO SEE HANDS";:CH=99
801 I$=INKEY$:IFI$<>"C"THEN801
805 RETURN
810 CLS3
820 GOSUB9600
830 GOSUB1630
840 HA=1:GOSUB1070:CL=33:GOSUB480
850 GOSUB900:RE=MC+193:GOSUB9500
860 HA=2:GOSUB1070:CL=225:RC=999:GOSUB480
870 GOSUB900:RE=MC+385:GOSUB9500
880 GOSUB1490
890 RETURN
900 REM
910 HI(HA)=0
920 GOSUB1070
930 GOSUB1160:GOSUB1220:GOSUB1280:GOSUB1340:GOSUB1400
940 RE$=" GARBAGE":GA(HA)=0
950 IFPA(HA)>0THENRE$= STR$(PA(HA))+" PAIR":GA(HA)=PA(HA)
960 IF TH(HA)=1 THEN RE$=" THREE OF A KIND":GA(HA)=3
970 IF SR(HA)=1 THEN RE$=" STRAIGHT":GA(HA)=4
980 IF FL(HA)=1 THEN RE$=" FLUSH":GA(HA)=5
990 IF PA(HA)=1 AND TH(HA)=1 THEN RE$=" FULL HOUSE":GA(HA)=6
1000 IF FO(HA)=1 THEN RE$="FOUR OF A KIND":GA(HA)=7
1010 IF FL(HA)=1 AND SR(HA)=1 THEN RE$="STRAIGHT FLUSH":GA(HA)=8
1020 IF FL(HA)=1 AND SR(HA)=1 AND HI(HA)=13 THEN RE$="ROYAL FLUSH":GA(HA)=9
1030 GOSUB4050
1035 IFHI(HA)=0THENGOSUB4000
1040 REM
1050 RE$=RE$+" "+HI$+" HIGH"
1060 RETURN
1070 REM
1080 FOR X=1 TO 5
1090 GOSUB3000
1100 NEXT X
1110 Z=0:FOR X=1 TO 4
1120 IF C(X,HA)>C(X+1,HA) THEN HS=C(X,HA):C(X,HA)=C(X+1,HA):C(X+1,HA)=HS:HS$=C$(X,HA):C$(X,HA)=C$(X+1,HA):C$(X+1,HA)=HS$:Z=1
1130 NEXT X
1140 IF Z=1 THEN 1110
1150 RETURN
1160 REM
1170 PA(HA)=0
1180 FOR X=1 TO 4
1190 IFC(X,HA)<>C(X-1,HA)ANDC(X,HA)=C(X+1,HA)ANDC(X,HA)<>C(X+2,HA)THEN PA(HA)=PA(HA)+1:IFHI(HA)<C(X,HA)THENHI(HA)=C(X,HA)
1200 NEXT X
1210 RETURN
1220 REM
1230 TH(HA)=0
1240 FOR X=1 TO 3
1250 IFC(X,HA)<>C(X-1,HA)ANDC(X,HA)=C(X+1,HA)ANDC(X,HA)=C(X+2,HA)ANDC(X,HA)<>C(X+3,HA)THEN1270
1260 NEXT X:RETURN
1270 TH(HA)=1:IFHI(HA)<C(X,HA)THENHI(HA)=C(X,HA):GOTO1260
1276 RETURN
1280 REM
1290 FO(HA)=0
1300 FOR X=1 TO 2
1310 IFC(X,HA)=C(X+1,HA)ANDC(X,HA)=C(X+2,HA)ANDC(X,HA)=C(X+3,HA)THENFO(HA)=1:IFHI(HA)<C(X,HA)THEN HI(HA)=C(X,HA)
1320 NEXT X
1330 RETURN
1340 REM
1350 SR(HA)=1
1360 FOR X=1 TO 4
1370 IF C(X,HA)+1<>C(X+1,HA) THEN SR(HA)=0
1380 NEXT X
1390 RETURN
1400 REM
1410 FL(HA)=1
1420 FOR X=2 TO 5
1430 IF RIGHT$(C$(1,HA),1)<> RIGHT$(C$(X,HA),1)THENFL(HA)=0
1440 NEXT X
1450 RETURN
1460 REM
1470 PRINT@448,BL$;
1480 RETURN
1490 REM 
1500 WI=0
1510 IF GA(1)>GA(2) THEN WI=1
1520 IF GA(2)>GA(1) THEN WI=2
1530 IF WI<>0 THEN 1560
1540 IF HI(1)>HI(2) THEN WI=1
1550 IF HI(2)>HI(1) THEN WI=2
1560 IFWI=1THENWI$="I WIN!!!    PAY UP HOMBRE.":PO(1)=PO(1)+BE(2):PO(2)=PO(2)-BE(2)
1570 IFWI=2THENWI$="YOU WIN...  YA VARMINT!!":PO(2)=PO(2)+BET(1):PO(1)=PO(1)-BET(1)
1580 IF WI=0 THEN WI$="DRAW. ALL BETS CARRIED..."
1590 PRINT@417,"                              ";:PRINT@417,WI$;
1595 PRINT@449,"                              ";:PRINT@449,"YOUR POT: $";PO(2);"MY POT: $";PO(1);
1596 IFPO(2)<1THENCLS:PRINT"SORRY BUDDY YOU'RE OUT OF MONEY.":GOTO370
1597 IFPO(1)<1THENCLS:PRINT"SORRY I AM OUT OF CASH. I'LL PAYYOU NEXT THURSDAY OK.":PRINT:GOTO370
1610 BE(1)=0:BE(2)=0
1620 RETURN
1630 REM
1640 DR=0
1650 DR=DR+1:IFDR>ND THEN1880
1660 HA=1
1670 GOSUB1070
1680 GOSUB1400:IFFL(HA)=1THEN1880
1690 GOSUB1340:IFSR(HA)=1THEN1880
1700 GOSUB1280:IFFO(HA)=1THEN1880
1710 HI(HA)=0: GOSUB1220
1720 IF TH(HA)=0 THEN 1780
1730 GOSUB1160:IF PA(HA)=1 THEN 1880
1740 X=1
1750 IFC(X,HA)=HI(HA)THENX=X+1:GOTO1750
1760 GOSUB2010
1770 GOSUB1070:GOTO1650
1780 REM
1790 GOSUB1160
1800 IFPA(HA)=0THENX=1:GOSUB2010:GOTO1650
1810 IF PA=2 THEN 1850
1820 X=1
1830 IFC(X,HA)=HI(HA)THENX=X+1:GOTO1830
1840 GOSUB2010:GOTO1650
1850 IFC(1,HA)<>C(2,HA)THENX=1:GOSUB2010:GOTO1650
1860 IFC(5,HA)<>C(4,HA)THENX=5:GOSUB2010:GOTO1650
1870 X=3:GOSUB2010:GOTO1650
1880 RETURN
1890 REM
1900 HA=1
1910 GOSUB900
1920 BE(HA)=BE(HA)+7+(10*GA(HA))+ RND(10)
1930 PRINT@449,"I BET $";BE(HA);
1940 RETURN
1950 REM
1960 HA=2
1970 PRINT@462,"YOUR BET";:INPUTBE$:IF VAL(BE$)>100THENPRINT@481,"*******SORRY $100 LIMIT*******";:GOTO1970
1980 BE(HA)=VAL(BE$)
1990 IFBE(2)<BE(1)THENPRINT@481,"*YOU MUST SEE OR RAISE MY BET*";:GOTO1970
2000 BE(1)=BE(2)
2010 REM
2020 J= RND(52)-1
2025 IF DE$(J)="XX" THEN 2020
2030 C$(X,HA)=DE$(J):DE$(J)="XX"
2040 RETURN
3000 REM
3010 IF LEFT$(C$(X,HA),1)="2"THEN C(X,HA)=2
3020 IF LEFT$(C$(X,HA),1)="3"THEN C(X,HA)=3
3030 IF LEFT$(C$(X,HA),1)="4"THEN C(X,HA)=4
3040 IF LEFT$(C$(X,HA),1)="5"THEN C(X,HA)=5
3050 IF LEFT$(C$(X,HA),1)="6"THEN C(X,HA)=6
3060 IF LEFT$(C$(X,HA),1)="7"THEN C(X,HA)=7
3070 IF LEFT$(C$(X,HA),1)="8"THEN C(X,HA)=8
3080 IF LEFT$(C$(X,HA),1)="9"THEN C(X,HA)=9
3090 IF LEFT$(C$(X,HA),1)="T"THEN C(X,HA)=10
3100 IF LEFT$(C$(X,HA),1)="J"THEN C(X,HA)=11
3110 IF LEFT$(C$(X,HA),1)="Q"THEN C(X,HA)=12
3120 IF LEFT$(C$(X,HA),1)="K"THEN C(X,HA)=13
3130 IF LEFT$(C$(X,HA),1)="A"THEN C(X,HA)=14
3140 RETURN
4000 REM
4010 FOR X=1 TO 5
4020 IFC(X,HA)>C(X+1,HA)THENHI(HA)=C(X,HA):GOTO4040
4030 HI(HA)=C(X+1,HA)
4040 NEXT X
4050 IFHI(HA)=14THENHI$="ACES"
4060 IFHI(HA)=13THENHI$="KINGS"
4070 IFHI(HA)=12THENHI$="QUEENS"
4080 IFHI(HA)=11THENHI$="JACKS"
4090 IFHI(HA)<11ANDHI(HA)>0THENHI$=STR$(HI(HA))+"S"
4095 RETURN
5000 HI(HA)=C(X,HA):GOTO1260
6000 RC=RC*-1
6010 IFRC=1THENGOSUB1890:GOSUB1950:RETURN
6020 IF RC=-1 THEN  GOSUB1950: GOSUB1890:RETURN
6030 END
7000 CLS
7010 PRINT"             POKER!":PRINT
7020 PRINT" PLAYING POKER WITH A COMPUTER   HAS ITS ADVANTAGES. IT DOESN'T  CHEAT, IT DOESN'T TRY TO READ"
7030 PRINT" YOUR FACE AND IF YOU FIND       YOURSELF IN THE HOLE TO IT,YOU  CAN SHUT IT OFF. HERE'S A BYTE"
7040 PRINT" OF SOFTWARE TO DEAL YOUR        SYSTEM. YOU START WITH $500.00"
7050 PRINT:PRINT"        ---------------":PRINT"        BY JAMES GERRIE"
7060 PRINT"        ---------------"
7070 PRINT@480,"     PRESS ANY KEY TO BEGIN";
7080 I$=INKEY$:T=RND(10):IFI$=""THEN7080
7090 CLS3:RETURN
9100 DATA 14,49,12,50,13
9110 DATA 11,61,63,62,7
9120 DATA 15,11,60,7,15
9125 DATA 15,15,15,15,15
9130 DATA 15,14,0,13,15
9140 DATA 14,0,0,0,13
9150 DATA 11,3,0,3,7
9155 DATA 15,15,15,15,15
9160 DATA 15,10,0,5,15
9170 DATA 10,0,0,0,5
9180 DATA 11,3,0,3,7
9185 DATA 15,15,15,15,15
9200 DATA 15,14,49,13,15
9210 DATA 14,49,63,59,13
9220 DATA 15,2,61,56,7
9230 DATA 15,15,3,7,15
9235 C1$(5)="     "
9240 C2$(5)="     "
9245 C3$(5)="     "
9250 C4$(5)="     "
9255 FORT=1TO4
9260 FORQ=1TO5:READNO:C1$(T)=C1$(T)+ CHR$(128+16*(1-1)+NO):NEXT
9270 FORQ=1TO5:READNO:C2$(T)=C2$(T)+ CHR$(128+16*(1-1)+NO):NEXT
9275 FORQ=1TO5:READNO:C3$(T)=C3$(T)+ CHR$(128+16*(1-1)+NO):NEXT
9280 FORQ=1TO5:READNO:C4$(T)=C4$(T)+ CHR$(128+16*(1-1)+NO):NEXT
9285 NEXTT
9290 RETURN
9300 REM
9310 IFRIGHT$(C$(X,HA),1)="H"THENSU=1
9320 IFRIGHT$(C$(X,HA),1)="S"THENSU=2
9330 IFRIGHT$(C$(X,HA),1)="C"THENSU=3
9340 IFRIGHT$(C$(X,HA),1)="D"THENSU=4
9350 IFHA=3THENSU=5
9355 RETURN
9400 CD$=LEFT$(C$(X,HA),1)
9460 RETURN
9500 REM
9520 L=LEN(RE$):FORC=1 TO L:B=ASC(MID$(RE$,C,1)):IFB>63THENB=B-64
9530 POKERE,B:RE=RE+1:NEXTC
9540 RETURN
9600 PRINT@8,JB$;:POKEMC+14,39:POKEMC+16,32:RETURN
