10 'Draw Poker, Tandy 102 version 01/11/90 45 GOSUB1400:CLS:PRINT"One moment please......" 50 DIM CARD$(52),M(52):A$=" A":J$=" J":Q$=" Q":K$=" K":C1$=CHR$(156):C2$=CHR$(157):C3$=CHR$(158) 60 C4$=CHR$(159):Z$=STRING$(3,230):FORX=2 TO 10 61 CARD$(X)=STR$(X)+C1$ 62 CARD$(X+13)=STR$(X)+C2$ 63 CARD$(X+26)=STR$(X)+C3$ 64 CARD$(X+39)=STR$(X)+C4$:NEXT 66 CARD$(1)=A$+C1$:CARD$(11)=J$+C1$:CARD$(12)=Q$+C1$:CARD$(13)=K$+C1$:CARD$(14)=A$+C2$ 67 CARD$(24)=J$+C2$:CARD$(25)=Q$+C2$:CARD$(26)=K$+C2$ 68 CARD$(27)=A$+C3$:CARD$(37)=J$+C3$:CARD$(38)=Q$+C3$:CARD$(39)=K$+C3$:CARD$(40)=A$+C4$ 69 CARD$(50)=J$+C4$:CARD$(51)=Q$+C4$:CARD$(52)=K$+C4$ 70 FORX=1TO52:CARD$(X)=RIGHT$(CARD$(X),3):NEXT 127 PRINT@109,CHR$(27)"K";:PRINT@147,CHR$(27)"K"; 140 CLS:PRINT@3,"Draw-Poker Simulation Program":PRINT 150 PRINT"This program is patterned after the":PRINT"electronic gaming machines found at" 155 PRINT"the Casinos in Nevada.":PRINT"Pays off on Jacks or better." 160 INPUT"Press to begin...";A$ 170 CLS 180 HX=0:DX=0:CX=0:SX=0:PRINT@63,CHR$(27)CHR$(25);:PRINT@4,CHR$(27)CHR$(112)" D R A W P O K E R "CHR$(27)CHR$(113) 185 LINE(158,0)-(160,63),1,B 190 PRINT@281,USING"PAID####.## TOTAL ####.##";GW/4,TW; 200 IFS1>0THENFORY=1TOS1:GOSUB1500:NEXTY 230 PRINT@69,"***25"CHR$(180)"***":LINE(182,18)-(218,26),1,B:LINE(186,20)-(214,24),1,BF 240 PRINT@187," INSERT COIN ";:PRINT@231,"(1-5)" 250 GOSUB1290:GOSUB1291:GOSUB1300 255 PRINT@273,CHR$(239);:FORF=1TO50:NEXT:PRINT@273," ";:FORF=1TO50:NEXT:I$=INKEY$ 256 IFI$=""THEN255ELSEIFI$=>"1"ANDI$<="5"THENM=VAL(I$):GOTO260ELSEIFI$="0"THENCLS:MENUELSEGOTO255 260 FORF=0TO7:PRINT@28+(40*F),STRING$(11,32);:NEXT 270 PRINT@149,"COINS IN";:PRINT@190,"- "M"-"; 280 L=122:FORX=1TO5:PRINT@L,STRING$(3,32);:PRINT@L+40,STRING$(3,32);:PRINT@L+80,STRING$(3,32); 285 PRINT@L+120,STRING$(3,32); 290 GOSUB1400:R(X)=INT(RND(1)*52):RX=R(X):IFR(X)=0THEN290ELSEIFX=1THEN295 291 IFR(X)=R(1)THEN290ELSEIFX=2THEN295 292 IFR(X)=R(1)ORR(X)=R(2)THEN290ELSEIFX=3THEN295 293 IFR(X)=R(1)ORR(X)=R(2)ORR(X)=R(3)THEN290ELSEIFX=4THEN295 294 IFR(X)=R(1)ORR(X)=R(2)ORR(X)=R(3)ORR(X)=R(4)THEN290 295 PRINT@L+40,CARD$(RX);:GOSUB1290:GOSUB1291:L=L+5:GOSUB1450:NEXT 300 PRINT@28,STRING$(11,32);:PRINT@68,STRING$(11,32);:PRINT@27,"To HOLD cards";:PRINT@67,"Use Keys 1-5"; 310 PRINT@109,"To CANCEL";:PRINT@149," Use ";:PRINT@187,"To DRAW cards";:PRINT@228,"Use "; 320 PRINT@267,"To KEEP cards";:PRINT@310,"Use

"; 380 K1=0:K2=0:K3=0:K4=0:K5=0:QH$="" 390 I$=INKEY$:IFI$=""THEN390 391 IFI$="1"THENK1=1:PRINT@82,"HOLD"; 392 IFI$="2"THENK2=1:PRINT@87,"HOLD"; 393 IFI$="3"THENK3=1:PRINT@92,"HOLD"; 394 IFI$="4"THENK4=1:PRINT@97,"HOLD"; 395 IFI$="5"THENK5=1:PRINT@102,"HOLD"; 400 IFI$="p"THENK1=1:K2=1:K3=1:K4=1:K5=1:PRINT@82,"HOLD HOLD HOLD HOLD HOLD";:GOTO390 410 IFI$=CHR$(13)THENGOSUB420:GOTO430ELSEIFI$="c"THENGOSUB420:GOSUB1290:K1=0:K2=0:K3=0:K4=0:K5=0:GOTO390 415 GOTO390 420 PRINT@82,STRING$(24,32);:RETURN 430 IFK1=0THEN435ELSE450 435 GOSUB1400 440 RA=INT(RND(1)*52):IFRA=0ORRA=R(1)ORRA=R(2)ORRA=R(3)ORRA=R(4)ORRA=R(5)THEN440ELSERX=RA:PRINT@162,CARD$(RA); 450 IFK2=0THEN460ELSE470 460 GOSUB1400:RB=INT(RND(1)*52) 461 IFRB=0ORRB=R(1)ORRB=R(2)ORRB=R(3)ORRB=R(4)ORRB=R(5)ORRB=RATHEN460ELSERX=RB:PRINT@167,CARD$(RB); 470 IFK3=0THEN480ELSE490 480 GOSUB1400:RC=INT(RND(1)*52) 481 IFRC=0ORRC=R(1)ORRC=R(2)ORRC=R(3)ORRC=R(4)ORRC=R(5)ORRC=RAORRC=RBTHEN480ELSERX=RC:PRINT@172,CARD$(RC); 490 IFK4=0THEN500ELSE510 500 GOSUB1400:RD=INT(RND(1)*52) 501 IFRD=0ORRD=R(1)ORRD=R(2)ORRD=R(3)ORRD=R(4)ORRD=R(5)ORRD=RAORRD=RBORRD=RCTHEN500ELSERX=RD:PRINT@177,CARD$(RD); 510 IFK5=0THEN520ELSE530 520 GOSUB1400:RE=INT(RND(1)*52) 521 IFRE=0ORRE=R(1)ORRE=R(2)ORRE=R(3)ORRE=R(4)ORRE=R(5)ORRE=RAORRE=RBORRE=RCORRE=RDTHEN520ELSERX=RE 525 PRINT@182,CARD$(RE); 530 IFK1=0THENM(RA)=1ELSEM(R(1))=1 540 IFK2=0THENM(RB)=1ELSEM(R(2))=1 550 IFK3=0THENM(RC)=1ELSEM(R(3))=1 560 IFK4=0THENM(RD)=1ELSEM(R(4))=1 570 IFK5=0THENM(RE)=1ELSEM(R(5))=1 580 FORX=0TO7:PRINT@27+(40*X),CHR$(27)"K";:NEXT:PRINT@149,"Standby...";:PRINT@189,"Evaluating"; 590 IFM(10)=1ANDM(11)=1ANDM(12)=1ANDM(13)=1ANDM(1)=1THEN1150ELSEIFM(23)=1ANDM(24)=1ANDM(25)=1ANDM(26)=1ANDM(14)=1THEN1150 600 IFM(36)=1ANDM(37)=1ANDM(38)=1ANDM(39)=1ANDM(27)=1THEN1150ELSEIFM(49)=1ANDM(50)=1ANDM(51)=1ANDM(52)=1ANDM(40)=1THEN1150 610 FORI=1TO13:IFM(I)=0THENHX=1:NEXT ELSEHX=0:GOTO620 620 FORI=14TO26:IFM(I)=0THENDX=1:NEXTELSEDX=0:GOTO630 630 FORI=27TO39:IFM(I)=0THENCX=1:NEXTELSECX=0:GOTO640 640 FORI=40TO52:IFM(I)=0THENSX=1:NEXTELSESX=0 650 IFHX=1ANDDX=1ANDCX=1THEN670ELSEIFHX=1ANDDX=1ANDSX=1THEN670ELSEIFHX=1ANDCX=1ANDSX=1THEN670ELSEIFDX=1ANDCX=1ANDSX=1THEN670 660 GOTO760 670 CT=0:IFHX=0THENFORI=1TO9:FORJ=0TO4:IFM(I+J)=1THENCT=CT+1 680 IFHX=0THENNEXTJ:IFCT=5THEN1160ELSECT=0:NEXTI 690 CT=0:IFDX=0THENFORI=14TO22:FORJ=0TO4:IFM(I+J)=1THENCT=CT+1 700 IFDX=0THENNEXTJ:IFCT=5THEN1160ELSECT=0:NEXTI 710 CT=0:IFCX=0THENFORI=27TO35:FORJ=0TO4:IFM(I+J)=1THENCT=CT+1 720 IFCX=0THENNEXTJ:IFCT=5THEN1160ELSECT=0:NEXTI 730 CT=0:IFSX=0THENFORI=40TO48:FORJ=0TO4:IFM(I+J)=1THENCT=CT+1 740 IFSX=0THENNEXTJ:IFCT=5THEN1160ELSECT=0:NEXTI 750 GOTO1190 760 CT=0:FORI=1TO9:FORJ=0TO4:IF(M(I+J)=1)OR(M(I+13+J)=1)OR(M(I+26+J)=1)OR(M(I+39+J)=1)THENCT=CT+1 770 NEXT J 780 IFCT=5THEN1200 790 CT=0:NEXT I 800 T1=0:T2=0:T3=0:T4=0:T5=0:IFM(10)=1ORM(23)=1ORM(36)=1ORM(49)=1THENT1=1 810 IFM(11)=1ORM(24)=1ORM(37)=1ORM(50)=1THENT2=1 820 IFM(12)=1ORM(25)=1ORM(38)=1ORM(51)=1THENT3=1 830 IFM(13)=1ORM(26)=1ORM(39)=1ORM(52)=1THENT4=1 840 IFM(1)=1ORM(14)=1ORM(27)=1ORM(40)=1 THENT5=1 850 IFT1=1ANDT2=1ANDT3=1ANDT4=1ANDT5=1THEN1200 860 FORI=1TO13:IFM(I)=1ANDM(I+13)=1ANDM(I+26)=1ANDM(I+39)=1THEN1170 870 NEXT 880 BD=0:FORI=1TO13:IFM(I)=1ANDM(I+13)=1ANDM(I+26)=1THENBD=1:GOTO960 890 NEXT 900 FORI=1TO13:IFM(I)=1ANDM(I+13)=1ANDM(I+39)=1THENBD=1:GOTO960 910 NEXT 920 FORI=1TO13:IFM(I+13)=1ANDM(I+26)=1ANDM(I+39)=1THENBD=1:GOTO960 930 NEXT 940 FORI=1TO13:IFM(I)=1ANDM(I+26)=1ANDM(I+39)=1THENBD=1:GOTO960 950 NEXT 960 BX=0:FORI=1TO13:IFM(I)=1ANDM(I+13)=1ANDM(I+26)=0ANDM(I+39)=0THENBX=BX+1 970 NEXT 980 FORI=1TO13:IFM(I)=1ANDM(I+26)=1ANDM(I+13)=0ANDM(I+39)=0THENBX=BX+1 990 NEXT 1000 FORI=1TO13:IFM(I+13)=1ANDM(I+26)=1ANDM(I)=0ANDM(I+39)=0THENBX=BX+1 1010 NEXT 1020 FORI=1TO13:IFM(I)=1ANDM(I+39)=1ANDM(I+13)=0ANDM(I+26)=0THENBX=BX+1 1030 NEXT 1040 FORI=1TO13:IFM(I+26)=1ANDM(I+39)=1ANDM(I)=0ANDM(I+13)=0THENBX=BX+1 1050 NEXT 1060 FORI=1TO13:IFM(I+13)=1ANDM(I+39)=1ANDM(I)=0ANDM(I+26)=0THENBX=BX+1 1070 NEXT 1080 IFBD=1ANDBX>0THEN1180ELSEIFBD=1THEN1210 1090 IFBX>1THEN1220 1100 IFM(11)=1ANDM(24)=1ORM(11)=1ANDM(37)=1ORM(11)=1ANDM(50)=1THEN1230 1105 IFM(24)=1ANDM(37)=1ORM(24)=1ANDM(50)=1ORM(37)=1ANDM(50)=1THEN1230 1110 IFM(12)=1ANDM(25)=1ORM(12)=1ANDM(38)=1ORM(12)=1ANDM(51)=1THEN1230 1115 IFM(25)=1ANDM(38)=1ORM(25)=1ANDM(51)=1ORM(38)=1ANDM(51)=1THEN1230 1120 IFM(13)=1ANDM(26)=1ORM(13)=1ANDM(39)=1ORM(13)=1ANDM(52)=1THEN1230 1125 IFM(26)=1ANDM(39)=1ORM(26)=1ANDM(52)=1ORM(39)=1ANDM(52)=1THEN1230 1130 IFM(1)=1ANDM(14)=1ORM(1)=1ANDM(27)=1ORM(1)=1ANDM(40)=1THEN1230 1135 IFM(14)=1ANDM(27)=1ORM(14)=1ANDM(40)=1ORM(27)=1ANDM(40)=1THEN1230 1140 GOTO1240 1150 W$="ROYAL FLUSH ":S1=20:GW=M*800:Z=0:GOTO1250 1160 W$="STRA'T FLUSH ":S1=15:GW=M*50:Z=0:GOTO1250 1170 W$="FOUR OF KIND ":S1=10:GW=M*25:Z=0:GOTO1250 1180 W$=" FULL HOUSE ":S1=6:GW=M*8:Z=0:GOTO1250 1190 W$=" FLUSH ":S1=5:GW=M*5:Z=0:GOTO1250 1200 W$=" STRAIGHT ":S1=4:GW=M*4:Z=0:GOTO1250 1210 W$="THREE OF KIND":S1=3:GW=M*3:Z=0:GOTO1250 1220 W$=" TWO PAIR ":S1=2:GW=M*2:Z=0:GOTO1250 1230 W$=" RETURN BET ":S1=1:GW=0:Z=0:GOTO1250 1240 W$="Tsk..you lost":S1=0:GW=0:Z=M 1250 PRINT@27,CHR$(27)"K";:PRINT@67,CHR$(27)"K";:PRINT@109,CHR$(27)"K";:PRINT@147,CHR$(27)"K";:PRINT@187,W$;:FORX=1TO500:NEXT 1260 TW=TW+(GW-Z)/4 1270 PRINT@109,CHR$(27)"K";:PRINT@147,CHR$(27)"K"; 1275 RA=0:RB=0:RC=0:RD=0:RE=0 1278 FORX=1TO5:R(X)=0:NEXT 1280 FORX=1TO52:M(X)=0:NEXT:GOTO180 1290 PRINT@82,1TAB(7)2TAB(12)3TAB(17)4TAB(22)5;:RETURN 1291 LINE(010,24)-(032,48),1,B 1292 LINE(040,24)-(062,48),1,B 1293 LINE(070,24)-(092,48),1,B 1294 LINE(100,24)-(122,48),1,B 1295 LINE(130,24)-(152,48),1,B:RETURN 1300 PRINT@122,Z$;:PRINT@162,Z$;:PRINT@202,Z$;:GOSUB1450 1310 PRINT@127,Z$;:PRINT@167,Z$;:PRINT@207,Z$;:GOSUB1450 1320 PRINT@132,Z$;:PRINT@172,Z$;:PRINT@212,Z$;:GOSUB1450 1330 PRINT@137,Z$;:PRINT@177,Z$;:PRINT@217,Z$;:GOSUB1450 1340 PRINT@142,Z$;:PRINT@182,Z$;:PRINT@222,Z$;:GOSUB1450 1400 SEC=VAL(RIGHT$(TIME$,2)):FORI=1TOSEC/10:DUMMY=RND(1):NEXTI:RETURN 1450 SOUND2000,5:RETURN 1500 S1=0:FORI=1200TO400STEP-200:SOUNDI,5:NEXT:SOUND1200,10:SOUND1000,10:RETURN Y7 JLast