function varargout=main(mode,handles)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%% MODE 0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if mode==0
%Get Global Variables
nop=getappdata(gcbf, 'nop');
playername=getappdata(gcbf, 'playername');
debug=0;
rb=5;
blind=50;
startstack=1000;
hndnum=0;
quicksim='n';
kp='y';
maxblind=blind*(2^4);
%Set Global Variables
setappdata(gcbf, 'debug', debug);
setappdata(gcbf, 'rb', rb);
setappdata(gcbf, 'blind', blind);
setappdata(gcbf, 'startstack', startstack);
setappdata(gcbf, 'hndnum', hndnum);
setappdata(gcbf, 'quicksim', quicksim);
setappdata(gcbf, 'kp', kp);
setappdata(gcbf, 'maxblind', maxblind);
if debug==0
playertype(1)=6;
playername{1}=lower(playername{1});
playername{1}(1)=upper(playername{1}(1));
end
nopind=[1:nop];
onop=nop;
%Set Global Variables
setappdata(gcbf, 'nopind', nopind);
setappdata(gcbf, 'onop', onop);
if debug==1
a=1;
elseif debug==0
a=2;
end
altname{1}={'Ken' 'Kate' 'Jim' 'Sue' 'Frank' 'Amanda' 'Chris' 'Ellen'};
altname{2}={'Jared' 'Anna' 'Matt' 'Lisa' 'Doug' 'Kristen' 'Drew' 'Kelly'};
altname{3}={'Stefan' 'Amy' 'John' 'Allie' 'Jason' 'Jen' 'Tom' 'Sarah'};
altname{4}={'DJ' 'Beth' 'Ron' 'Cheryl' 'Mike' 'Mary' 'Will' 'Julie'};
altname{5}={'Owen' 'Rachael' 'Steve' 'Colleen' 'Joe' 'Holly' 'Gary' 'Monica'};
for i=a:nop
prob=round(rand*100);
if prob<20
playertype(i)=1;
elseif prob<40
playertype(i)=2;
elseif prob<60
playertype(i)=3;
elseif prob<80
playertype(i)=4;
elseif prob<=100
playertype(i)=5;
end
numnam=length(altname{playertype(i)});
pickname=ceil(rand*numnam);
if a>1
letters=min([length(playername{1}) length(altname{playertype(i)}{pickname})]);
if playername{1}(1:letters)==altname{playertype(i)}{pickname}(1:letters)
if pickname==numnam
pickname=1;
else
pickname=pickname+1;
end
end
end
playername{i}=altname{playertype(i)}{pickname};
alt=[1:numnam];
alt(pickname)=[];
altname{playertype(i)}=altname{playertype(i)}(alt);
end
lost=ones(1,nop);
stack=startstack.*ones(1,nop);
stackhist=startstack*ones(nop,1);
dealer=[1:nop];
adealer=dealer;
a=fix(clock);
utime=((a(4)*3600)+(a(5)*60)+a(6))+(rb*60);
for n=1:nop+1
folded(n)='n';
end
%Set Global Variables
setappdata(gcbf, 'playername', playername);
setappdata(gcbf, 'playertype', playertype);
setappdata(gcbf, 'lost', lost);
setappdata(gcbf, 'stack', stack);
setappdata(gcbf, 'stackhist', stackhist);
setappdata(gcbf, 'dealer', dealer);
setappdata(gcbf, 'adealer', adealer);
setappdata(gcbf, 'utime', utime);
setappdata(gcbf, 'rb', rb);
setappdata(gcbf, 'folded', folded);
set(handles.dispname, 'String', playername)
set(handles.dispstack, 'String', stack);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%% MODE 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if mode==1
%Get Global Variables
nop=getappdata(gcbf, 'nop');
hndnum=getappdata(gcbf, 'hndnum');
blind=getappdata(gcbf, 'blind');
maxblind=getappdata(gcbf, 'maxblind');
utime=getappdata(gcbf, 'utime');
nopind=getappdata(gcbf, 'nopind');
stack=getappdata(gcbf, 'stack');
dealer=getappdata(gcbf, 'dealer');
debug=getappdata(gcbf, 'debug');
quicksim=getappdata(gcbf, 'quicksim');
playername=getappdata(gcbf, 'playername');
playertype=getappdata(gcbf, 'playertype');
decktype=getappdata(gcbf, 'decktype');
for i=1:nop
dlabel{i}=' ';
end
dlabel{dealer(1)}='DLR';
dlabel{dealer(2)}='SB';
dlabel{dealer(3)}='BB';
set(handles.dispdealer, 'String', dlabel);
gbet=zeros(1,nop);
hndnum=hndnum+1;
set(handles.disphndnum, 'String', ['Hand #' int2str(hndnum)])
pot=0;
set(handles.disppot, 'String', ['Pot: $' int2str(pot)]);
%Create deck
deck.number=[2:14 2:14 2:14 2:14];
deck.suit(1:13)=1;
deck.suit(14:26)=2;
deck.suit(27:39)=3;
deck.suit(40:52)=4;
deck=shuffle(deck);
output=dealcards(deck,nop,nopind,1,dealer);
hands=output{1};
rawhands=output{2};
rawhands{nop+1}{1}=[0 0];
rawhands{nop+1}{2}=[0 0];
for n=1:nop+1
folded(n)='n';
dcsn(n)='k';
end
hidecards='y';
if nop>3
order=[dealer(2:nop) dealer(1)];
elseif nop==3
order=[dealer(2) dealer(3) dealer(1)];
elseif nop==2
order=[dealer(2) dealer(1)];
end
for j=1:2
crdimgX=imread(['cards/sXx' int2str(decktype) '.jpg']);
crdimgN=imread(['cards/sNn.jpg']);
if j==1
crdimgXx=[crdimgX crdimgN crdimgN crdimgN crdimgN];
elseif j==2
crdimgXx=[crdimgX crdimgX crdimgN crdimgN crdimgN];
end
crdimg=imread(['cards/Xx' int2str(decktype) '.jpg']);
for i=1:nop
axes(eval(['handles.fhand' int2str(order(i))]));
image(crdimgXx);
axis off
if quicksim=='n'
if nopind(i)==1 && i==1 && j==1
axes(handles.card1);
image(crdimg);
axis off
elseif nopind(i)==1 && i==1 && j==2
axes(handles.card2);
image(crdimg);
axis off
end
pause(.1)
end
pause(.1)
end
end
if quicksim=='n'
pause(.4)
axes(handles.card1);
crdnm1=hands{1}{1};
crdimg1=imread(['cards/' crdnm1 '.jpg']);
image(crdimg1);
axis off
pause(.6)
axes(handles.card2);
crdnm2=hands{1}{2};
crdimg2=imread(['cards/' crdnm2 '.jpg']);
image(crdimg2);
axis off
end
for n=1:5
rawcommunity{n}=[0 0];
end
dealt=1;
[folded stack pot dcsn gbet hidecards]=decision(handles,rawhands,rawcommunity,nop,nopind,folded,stack,pot,dcsn,dealt,blind,dealer,debug,quicksim,playertype,playername,gbet);
set(handles.disppot, 'String', ['Pot: $' int2str(pot)]);
%Set Global Variables
setappdata(gcbf, 'pot', pot);
setappdata(gcbf, 'stack', stack);
setappdata(gcbf, 'dcsn', dcsn);
setappdata(gcbf, 'gbet', gbet);
setappdata(gcbf, 'hidecards', hidecards);
setappdata(gcbf, 'rawhands', rawhands);
setappdata(gcbf, 'hands', hands);
setappdata(gcbf, 'rawcommunity', rawcommunity);
setappdata(gcbf, 'utime', utime);
setappdata(gcbf, 'folded', folded);
setappdata(gcbf, 'deck', deck);
setappdata(gcbf, 'blind', blind);
setappdata(gcbf, 'dlabel', dlabel);
setappdata(gcbf, 'hndnum', hndnum);
setappdata(gcbf, 'order', order);
set(handles.dispname, 'String', playername(nopind))
set(handles.dispstack, 'String', stack);
set(handles.dispdealer, 'String', dlabel);
pause(.1)
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%% MODE 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if mode==2
%Get Global Variables
nop=getappdata(gcbf, 'nop');
deck=getappdata(gcbf, 'deck');
blind=getappdata(gcbf, 'blind');
nopind=getappdata(gcbf, 'nopind');
stack=getappdata(gcbf, 'stack');
pot=getappdata(gcbf, 'pot');
gbet=getappdata(gcbf, 'gbet');
dcsn=getappdata(gcbf, 'dcsn');
folded=getappdata(gcbf, 'folded');
hidecards=getappdata(gcbf, 'hidecards');
dealer=getappdata(gcbf, 'dealer');
dlabel=getappdata(gcbf, 'dlabel');
debug=getappdata(gcbf, 'debug');
quicksim=getappdata(gcbf, 'quicksim');
playername=getappdata(gcbf, 'playername');
playertype=getappdata(gcbf, 'playertype');
hands=getappdata(gcbf, 'hands');
rawhands=getappdata(gcbf, 'rawhands');
rawcommunity=getappdata(gcbf, 'rawcommunity');
decktype=getappdata(gcbf, 'decktype');
order=getappdata(gcbf, 'order');
output=dealcards(deck,nop,nopind,2,dealer);
community=output{1};
for n=1:3
rawcommunity{n}=output{2}{n};
end
crdimg=imread(['cards/Xx' int2str(decktype) '.jpg']);
axes(handles.card3);
image(crdimg);
axis off
if quicksim=='n'
pause(.2)
end
pause(.1)
axes(handles.card4);
image(crdimg);
axis off
if quicksim=='n'
pause(.2)
end
pause(.1)
axes(handles.card5);
image(crdimg);
axis off
if quicksim=='n'
pause(.5)
end
pause(.1)
axes(handles.card3);
crdnm3=community{1};
crdimg3=imread(['cards/' crdnm3 '.jpg']);
image(crdimg3);
axis off
if quicksim=='n'
pause(.5)
end
pause(.1)
axes(handles.card4);
crdnm4=community{2};
crdimg4=imread(['cards/' crdnm4 '.jpg']);
image(crdimg4);
axis off
if quicksim=='n'
pause(.5)
end
pause(.1)
axes(handles.card5);
crdnm5=community{3};
crdimg5=imread(['cards/' crdnm5 '.jpg']);
image(crdimg5);
axis off
dealt=2;
[folded stack pot dcsn gbet hidecards]=decision(handles,rawhands,rawcommunity,nop,nopind,folded,stack,pot,dcsn,dealt,blind,dealer,debug,quicksim,playertype,playername,gbet);
set(handles.disppot, 'String', ['Pot: $' int2str(pot)]);
%Set Global Variables
setappdata(gcbf, 'pot', pot);
setappdata(gcbf, 'stack', stack);
setappdata(gcbf, 'dcsn', dcsn);
setappdata(gcbf, 'gbet', gbet);
setappdata(gcbf, 'hidecards', hidecards);
setappdata(gcbf, 'rawhands', rawhands);
setappdata(gcbf, 'hands', hands);
setappdata(gcbf, 'rawcommunity', rawcommunity);
setappdata(gcbf, 'community', community);
setappdata(gcbf, 'folded', folded);
set(handles.dispname, 'String', playername(nopind))
set(handles.dispstack, 'String', stack);
set(handles.dispdealer, 'String', dlabel);
pause(.1)
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%% MODE 3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if mode==3
%Get Global Variables
nop=getappdata(gcbf, 'nop');
deck=getappdata(gcbf, 'deck');
blind=getappdata(gcbf, 'blind');
nopind=getappdata(gcbf, 'nopind');
stack=getappdata(gcbf, 'stack');
pot=getappdata(gcbf, 'pot');
gbet=getappdata(gcbf, 'gbet');
dcsn=getappdata(gcbf, 'dcsn');
folded=getappdata(gcbf, 'folded');
hidecards=getappdata(gcbf, 'hidecards');
dealer=getappdata(gcbf, 'dealer');
dlabel=getappdata(gcbf, 'dlabel');
debug=getappdata(gcbf, 'debug');
quicksim=getappdata(gcbf, 'quicksim');
playername=getappdata(gcbf, 'playername');
playertype=getappdata(gcbf, 'playertype');
hands=getappdata(gcbf, 'hands');
community=getappdata(gcbf, 'community');
rawhands=getappdata(gcbf, 'rawhands');
rawcommunity=getappdata(gcbf, 'rawcommunity');
decktype=getappdata(gcbf, 'decktype');
output=dealcards(deck,nop,nopind,3,dealer);
community{4}=output{1};
rawcommunity{4}=output{2};
crdimg=imread(['cards/Xx' int2str(decktype) '.jpg']);
axes(handles.card6);
image(crdimg);
axis off
if quicksim=='n'
pause(.5)
end
pause(.1)
axes(handles.card6);
crdnm6=community{4};
crdimg6=imread(['cards/' crdnm6 '.jpg']);
image(crdimg6);
axis off
dealt=3;
[folded stack pot dcsn gbet hidecards]=decision(handles,rawhands,rawcommunity,nop,nopind,folded,stack,pot,dcsn,dealt,blind,dealer,debug,quicksim,playertype,playername,gbet);
set(handles.disppot, 'String', ['Pot: $' int2str(pot)]);
%Set Global Variables
setappdata(gcbf, 'pot', pot);
setappdata(gcbf, 'stack', stack);
setappdata(gcbf, 'dcsn', dcsn);
setappdata(gcbf, 'gbet', gbet);
setappdata(gcbf, 'hidecards', hidecards);
setappdata(gcbf, 'rawhands', rawhands);
setappdata(gcbf, 'hands', hands);
setappdata(gcbf, 'rawcommunity', rawcommunity);
setappdata(gcbf, 'community', community);
setappdata(gcbf, 'folded', folded);
set(handles.dispname, 'String', playername(nopind))
set(handles.dispstack, 'String', stack);
set(handles.dispdealer, 'String', dlabel);
pause(.1)
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%% MODE 4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if mode==4
%Get Global Variables
nop=getappdata(gcbf, 'nop');
onop=getappdata(gcbf, 'onop');
deck=getappdata(gcbf, 'deck');
blind=getappdata(gcbf, 'blind');
nopind=getappdata(gcbf, 'nopind');
stack=getappdata(gcbf, 'stack');
pot=getappdata(gcbf, 'pot');
gbet=getappdata(gcbf, 'gbet');
dcsn=getappdata(gcbf, 'dcsn');
folded=getappdata(gcbf, 'folded');
hndnum=getappdata(gcbf, 'hndnum');
hidecards=getappdata(gcbf, 'hidecards');
dealer=getappdata(gcbf, 'dealer');
adealer=getappdata(gcbf, 'adealer');
dlabel=getappdata(gcbf, 'dlabel');
debug=getappdata(gcbf, 'debug');
quicksim=getappdata(gcbf, 'quicksim');
playername=getappdata(gcbf, 'playername');
playertype=getappdata(gcbf, 'playertype');
hands=getappdata(gcbf, 'hands');
community=getappdata(gcbf, 'community');
rawhands=getappdata(gcbf, 'rawhands');
rawcommunity=getappdata(gcbf, 'rawcommunity');
decktype=getappdata(gcbf, 'decktype');
output=dealcards(deck,nop,nopind,4,dealer);
community{5}=output{1};
rawcommunity{5}=output{2};
crdimg=imread(['cards/Xx' int2str(decktype) '.jpg']);
axes(handles.card7);
image(crdimg);
axis off
if quicksim=='n'
pause(.5)
end
pause(.1)
axes(handles.card7);
crdnm7=community{5};
crdimg7=imread(['cards/' crdnm7 '.jpg']);
image(crdimg7);
axis off
dealt=4;
[folded stack pot dcsn gbet hidecards]=decision(handles,rawhands,rawcommunity,nop,nopind,folded,stack,pot,dcsn,dealt,blind,dealer,debug,quicksim,playertype,playername,gbet);
set(handles.disppot, 'String', ['Pot: $' int2str(pot)]);
%Set Global Variables
setappdata(gcbf, 'pot', pot);
setappdata(gcbf, 'stack', stack);
setappdata(gcbf, 'dcsn', dcsn);
setappdata(gcbf, 'gbet', gbet);
setappdata(gcbf, 'hidecards', hidecards);
setappdata(gcbf, 'rawhands', rawhands);
setappdata(gcbf, 'hands', hands);
setappdata(gcbf, 'rawcommunity', rawcommunity);
setappdata(gcbf, 'community', community);
setappdata(gcbf, 'folded', folded);
set(handles.dispname, 'String', playername(nopind))
set(handles.dispstack, 'String', stack);
set(handles.dispdealer, 'String', dlabel);
pause(.1)
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%% MODE 4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if mode==5
%Get Global Variables
nop=getappdata(gcbf, 'nop');
deck=getappdata(gcbf, 'deck');
blind=getappdata(gcbf, 'blind');
nopind=getappdata(gcbf, 'nopind');
stack=getappdata(gcbf, 'stack');
stackhist=getappdata(gcbf, 'stackhist');
pot=getappdata(gcbf, 'pot');
gbet=getappdata(gcbf, 'gbet');
lost=getappdata(gcbf, 'lost');
dcsn=getappdata(gcbf, 'dcsn');
folded=getappdata(gcbf, 'folded');
hndnum=getappdata(gcbf, 'hndnum');
hidecards=getappdata(gcbf, 'hidecards');
dealer=getappdata(gcbf, 'dealer');
adealer=getappdata(gcbf, 'adealer');
dlabel=getappdata(gcbf, 'dlabel');
debug=getappdata(gcbf, 'debug');
quicksim=getappdata(gcbf, 'quicksim');
playername=getappdata(gcbf, 'playername');
playertype=getappdata(gcbf, 'playertype');
hands=getappdata(gcbf, 'hands');
community=getappdata(gcbf, 'community');
rawhands=getappdata(gcbf, 'rawhands');
rawcommunity=getappdata(gcbf, 'rawcommunity');
decktype=getappdata(gcbf, 'decktype');
dealt=4;
wp=zeros(1,nop);
for i=1:nop
for j=1:nop
if gbet(j)>=gbet(i)
wp(i)=wp(i)+gbet(i);
else
wp(i)=wp(i)+gbet(j);
end
end
end
sidepot=1;
msg=[];
while pot>0
%Get Winner
[winners finalresults finalhand rawfinalhand ranks]=getresults(rawhands,rawcommunity,nop,folded,dealt);
now=length(winners);
strwinnersfinal=[];
if now==1
if sidepot==1
msg{sidepot}=[playername{nopind(winners)} ' wins $' int2str(wp(winners)) '!!!'];
else
msg{sidepot}=[playername{nopind(winners)} ' wins a side pot of $' int2str(wp(winners)) '!'];
end
stack(winners)=stack(winners)+wp(winners);
pot=pot-wp(winners);
folded(find(wp<=wp(winners)))='y';
wp=wp-wp(winners);
else
strwinners=[];
for n=1:now
strwinners{2*n-1}=playername{nopind(winners(n))};
strwinners{2*n}=' and ';
if n==now
strwinners{2*n}='';
end
strwinnersfinal=[strwinnersfinal strwinners{2*n-1} strwinners{2*n}];
end
split=min(wp(winners));
if sidepot==1;
msg{sidepot}=[strwinnersfinal ' split $' int2str(split) '.'];
else
msg{sidepot}=[strwinnersfinal ' split a side pot of $' int2str(split) '.'];
end
isplit=round(split/now);
stack(winners)=stack(winners)+isplit;
pot=pot-split;
folded(find(wp<=min(wp(winners))))='y';
wp=wp-split;
end
sidepot=sidepot+1;
end
for i=1:nop
if finalhand{i}{1}(1:2)=='Xx'
fcrdnm1=['Xx' int2str(decktype)];
fcrdimg1=imread(['cards/s' fcrdnm1 '.jpg']);
fcrdimgN=imread(['cards/sNn.jpg']);
fcrdimg{i}=[fcrdimg1 fcrdimg1 fcrdimgN fcrdimgN fcrdimgN];
else
fcrdnm1=finalhand{i}{1};
fcrdimg1=imread(['cards/s' fcrdnm1 '.jpg']);
fcrdnm2=finalhand{i}{2};
fcrdimg2=imread(['cards/s' fcrdnm2 '.jpg']);
fcrdnm3=finalhand{i}{3};
fcrdimg3=imread(['cards/s' fcrdnm3 '.jpg']);
fcrdnm4=finalhand{i}{4};
fcrdimg4=imread(['cards/s' fcrdnm4 '.jpg']);
fcrdnm5=finalhand{i}{5};
fcrdimg5=imread(['cards/s' fcrdnm5 '.jpg']);
fcrdimg{i}=[fcrdimg1 fcrdimg2 fcrdimg3 fcrdimg4 fcrdimg5];
end
end
for i=1:nop
axes(eval(['handles.fhand' int2str(i)]));
image(fcrdimg{i});
axis off
set(eval(['handles.fhandname' int2str(i)]), 'String', finalresults{i});
end
set(handles.dispwinner, 'Visible', 'on');
set(handles.dispwinner, 'String', msg);
adealer(nop+1)=adealer(1);
adealer=adealer(2:nop+1);
msg{sidepot}=' ';
n=sidepot+1;
a=nop;
elim=[];
for i=1:a
if stack(i)<=0
lost(nopind(i))=hndnum;
msg{n}=[playername{nopind(i)} ' has been eliminated.'];
n=n+1;
elim=[elim i];
adealer(find(adealer==nopind(i)))=[];
nop=nop-1;
if debug==0 & nopind(i)==1
quicksim='y';
% inpchk=0;
% while inpchk==0
% quicksim=input('Do you want to quicksim (y/n): ','s');
% if quicksim=='y' | quicksim=='n'
% inpchk=1;
% end
% end
end
end
end
stack(elim)=[];
nopind(elim)=[];
folded(elim)=[];
dcsn(elim)=[];
dealer=[];
for i=1:nop
dealer(i)=find(adealer(i)==nopind);
end
if nop==2
dealer(3)=dealer(1);
end
set(handles.dispwinner, 'String', msg);
for i=1:nop
stackhist(nopind(i),hndnum+1)=stack(i);
end
%Set Global Variables
setappdata(gcbf, 'pot', pot);
setappdata(gcbf, 'stack', stack);
setappdata(gcbf, 'stackhist', stackhist);
setappdata(gcbf, 'hndnum', hndnum);
setappdata(gcbf, 'nop', nop);
setappdata(gcbf, 'nopind', nopind);
setappdata(gcbf, 'dealer', dealer);
setappdata(gcbf, 'adealer', adealer);
setappdata(gcbf, 'lost', lost);
setappdata(gcbf, 'folded', folded);
setappdata(gcbf, 'dcsn', dcsn);
setappdata(gcbf, 'quicksim', quicksim);
set(handles.dispname, 'String', playername(nopind))
set(handles.dispstack, 'String', stack);
if nop==1
kp='n';
lost(nopind)=hndnum;
msg{sidepot+3}=['Congratulations ' playername{nopind} '! You won MATLAB Texas Holdem in ' int2str(hndnum) ' hands!'];
set(handles.dispwinner, 'String', msg);
setappdata(gcbf, 'kp', kp);
mode=7;
setappdata(gcbf, 'mode', mode);
end
pause(.1)
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%% MODE 7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if mode==7
%Get Global Variables
nop=getappdata(gcbf, 'nop');
onop=getappdata(gcbf, 'onop');
stack=getappdata(gcbf, 'stack');
stackhist=getappdata(gcbf, 'stackhist');
startstack=getappdata(gcbf, 'startstack');
lost=getappdata(gcbf, 'lost');
hndnum=getappdata(gcbf, 'hndnum');
playername=getappdata(gcbf, 'playername');
figure;
hnds=[0:hndnum];
plot(hnds,stackhist(1,:),'k*-')
hold on
for i=2:onop
if i==2
plot(hnds,stackhist(i,:),'b.-')
elseif i==3
plot(hnds,stackhist(i,:),'g.-')
elseif i==4
plot(hnds,stackhist(i,:),'r.-')
elseif i==5
plot(hnds,stackhist(i,:),'c.-')
elseif i==6
plot(hnds,stackhist(i,:),'m.-')
elseif i==7
plot(hnds,stackhist(i,:),'y.-')
elseif i==8
plot(hnds,stackhist(i,:),'k.-')
end
end
AXIS([0 hndnum 0 onop*startstack])
title('Players Stack History By Hand')
xlabel('Hand #')
ylabel('Money in Stack')
grid on
if onop==2
legend([playername{1} ' (' int2str(lost(1)) ' Hands)'],[playername{2} ' (' int2str(lost(2)) ' Hands)'],2)
elseif onop==3
legend([playername{1} ' (' int2str(lost(1)) ' Hands)'],[playername{2} ' (' int2str(lost(2)) ' Hands)'],[playername{3} ' (' int2str(lost(3)) ' Hands)'],2)
elseif onop==4
legend([playername{1} ' (' int2str(lost(1)) ' Hands)'],[playername{2} ' (' int2str(lost(2)) ' Hands)'],[playername{3} ' (' int2str(lost(3)) ' Hands)'],[playername{4} ' (' int2str(lost(4)) ' Hands)'],2)
elseif onop==5
legend([playername{1} ' (' int2str(lost(1)) ' Hands)'],[playername{2} ' (' int2str(lost(2)) ' Hands)'],[playername{3} ' (' int2str(lost(3)) ' Hands)'],[playername{4} ' (' int2str(lost(4)) ' Hands)'],[playername{5} ' (' int2str(lost(5)) ' Hands)'],2)
elseif onop==6
legend([playername{1} ' (' int2str(lost(1)) ' Hands)'],[playername{2} ' (' int2str(lost(2)) ' Hands)'],[playername{3} ' (' int2str(lost(3)) ' Hands)'],[playername{4} ' (' int2str(lost(4)) ' Hands)'],[playername{5} ' (' int2str(lost(5)) ' Hands)'],[playername{6} ' (' int2str(lost(6)) ' Hands)'],2)
elseif onop==7
legend([playername{1} ' (' int2str(lost(1)) ' Hands)'],[playername{2} ' (' int2str(lost(2)) ' Hands)'],[playername{3} ' (' int2str(lost(3)) ' Hands)'],[playername{4} ' (' int2str(lost(4)) ' Hands)'],[playername{5} ' (' int2str(lost(5)) ' Hands)'],[playername{6} ' (' int2str(lost(6)) ' Hands)'],[playername{7} ' (' int2str(lost(7)) ' Hands)'],2)
elseif onop==8
legend([playername{1} ' (' int2str(lost(1)) ' Hands)'],[playername{2} ' (' int2str(lost(2)) ' Hands)'],[playername{3} ' (' int2str(lost(3)) ' Hands)'],[playername{4} ' (' int2str(lost(4)) ' Hands)'],[playername{5} ' (' int2str(lost(5)) ' Hands)'],[playername{6} ' (' int2str(lost(6)) ' Hands)'],[playername{7} ' (' int2str(lost(7)) ' Hands)'],[playername{8} ' (' int2str(lost(8)) ' Hands)'],2)
end
pause(.1)
quicksim='n';
setappdata(gcbf, 'quicksim', quicksim);
end