| [dcsn,b]=rules(rawhands,rawcommunity,rawfinalhand,nop,folded,stack,pot,bet,ibet,dcsn,dealt,ranks,cranks,results,i,dealer,blind,dbet,playertype,playername);
|
function [dcsn,b]=rules(rawhands,rawcommunity,rawfinalhand,nop,folded,stack,pot,bet,ibet,dcsn,dealt,ranks,cranks,results,i,dealer,blind,dbet,playertype,playername);
b=0;
prob=round(rand*100);
if playertype(i)==1
prob=prob+6;
elseif playertype(i)==2
prob=prob+3;
elseif playertype(i)==3
prob=prob;
elseif playertype(i)==4
prob=prob-3;
elseif playertype(i)==5
prob=prob-6;
end
dcsn='k';
if dealt==1
if results.insidestraightdraw{i}==0 & results.outsidestraightdraw{i}==0 & results.flushdraw{i}(2)==0 & results.pocketpair{i}==0 & results.facecards{i}==0 & bet>ibet(i)
dcsn='f';
elseif bet==blind & i~=dealer(3)
dcsn='c';
elseif bet>ibet(i)
dcsn='f';
if results.flushdraw{i}(2)==2
dcsn='c';
end
if results.pocketpair{i}==1
dcsn='c';
end
if results.facecards{i}==2
dcsn='c';
end
if results.personalhighcard{i}>12
dcsn='c';
end
if ranks>1
dcsn='c';
end
else
dcsn='k';
if results.flushdraw{i}(2)==2 & prob<10
dcsn='b';
b=blind;
end
if results.pocketpair{i}==1 & prob<30
dcsn='b';
b=blind;
end
if results.facecards{i}==2 & prob<10
dcsn='b';
b=blind;
end
if dbet(i)==1
dcsn='k';
end
end
end
if dealt==2
if (ranks==1 | (ranks==cranks & results.personalhighcard{i}<12)) & results.insidestraightdraw{i}==0 & results.outsidestraightdraw{i}==0 & results.flushdraw{i}(2)==0 & results.facecards{i}==0 & bet>ibet(i)
dcsn='f';
elseif bet>ibet(i)
dcsn='f';
if results.flushdraw{i}(1)<2 & results.flushdraw{i}(2)==1 & results.flushdraw{i}(3)>9
dcsn='c';
end
if results.flushdraw{i}(1)<2 & results.flushdraw{i}(2)==2
dcsn='c';
end
if results.outsidestraightdraw{i}<2
dcsn='c';
end
if results.insidestraightdraw{i}<2
dcsn='c';
end
if results.pocketpair{i}==1 & results.personalhighcard{i}>5
dcsn='c';
end
if ranks>1
dcsn='c';
if ranks==cranks & results.personalhighcard{i}<12
dcsn='f';
end
end
else
dcsn='k';
if results.flushdraw{i}(1)<2 & results.flushdraw{i}(2)==1 & results.flushdraw{i}(3)>9 & prob<20
dcsn='b';
b=blind*2;
end
if results.flushdraw{i}(1)<2 & results.flushdraw{i}(2)==2 & prob<30
dcsn='b';
b=blind*2;
end
if results.outsidestraightdraw{i}<2 & prob<30
dcsn='b';
b=blind*2;
end
if results.insidestraightdraw{i}<2 & prob<30
dcsn='b';
b=blind*2;
end
if results.pocketpair{i}==1 & results.personalhighcard{i}>5 & prob<30
dcsn='b';
b=blind*2;
end
if ranks>1 & prob<10
dcsn='b';
b=blind*2;
if ranks==cranks & results.personalhighcard{i}<12
dcsn='k';
end
end
if prob<5
dcsn='b';
b=blind*2;
end
if dbet(i)==1
dcsn='k';
end
end
end
if dealt==3
if (ranks==1 | (ranks==cranks & results.personalhighcard{i}<12)) & results.insidestraightdraw{i}==0 & results.outsidestraightdraw{i}==0 & results.flushdraw{i}(2)==0 & results.personalhighcard{i}<12 & bet>ibet(i)
dcsn='f';
elseif bet>ibet(i)
dcsn='f';
if results.flushdraw{i}(1)<2 & results.flushdraw{i}(2)==1 & results.flushdraw{i}(3)>9
dcsn='c';
end
if results.flushdraw{i}(1)<2 & results.flushdraw{i}(2)==2
dcsn='c';
end
if results.outsidestraightdraw{i}<2
dcsn='c';
end
if results.insidestraightdraw{i}<2
dcsn='c';
end
if results.pocketpair{i}==1 & results.personalhighcard{i}>5
dcsn='c';
end
if ranks>1
dcsn='c';
if ranks==cranks & results.personalhighcard{i}<12
dcsn='f';
end
end
else
dcsn='k';
if results.flushdraw{i}(1)<2 & results.flushdraw{i}(2)==1 & results.flushdraw{i}(3)>9 & prob<20
dcsn='b';
b=blind*2;
end
if results.flushdraw{i}(1)<2 & results.flushdraw{i}(2)==2 & prob<30
dcsn='b';
b=blind*2;
end
if results.outsidestraightdraw{i}<2 & prob<30
dcsn='b';
b=blind*2;
end
if results.insidestraightdraw{i}<2 & prob<30
dcsn='b';
b=blind*2;
end
if results.pocketpair{i}==1 & results.personalhighcard{i}>5 & prob<30
dcsn='b';
b=blind*2;
end
if ranks>1 & prob<10
dcsn='b';
b=blind*2;
if ranks==cranks & results.personalhighcard{i}<12
dcsn='k';
end
end
if prob<5
dcsn='b';
b=blind*2;
end
if dbet(i)==1
dcsn='k';
end
end
end
if dealt==4
if (ranks==1 | (ranks==cranks & results.personalhighcard{i}<12)) & results.insidestraightdraw{i}==0 & results.outsidestraightdraw{i}==0 & results.flushdraw{i}(2)==0 & results.personalhighcard{i}<12 & bet>ibet(i)
dcsn='f';
elseif bet>ibet(i)
dcsn='f';
if results.pocketpair{i}==1 & results.personalhighcard{i}>5
dcsn='c';
end
if ranks>1
dcsn='c';
if ranks==cranks & results.personalhighcard{i}<12
dcsn='f';
end
end
else
dcsn='k';
if results.pocketpair{i}==1 & results.personalhighcard{i}>5 & prob<10
dcsn='b';
b=blind*2;
end
if ranks>cranks
if ranks==2 & prob<20
dcsn='b';
b=blind*2;
elseif ranks==3 & prob<25
dcsn='b';
b=blind*2;
elseif ranks==4 & prob<30
dcsn='b';
b=blind*2;
elseif ranks==5 & prob<35
dcsn='b';
b=blind*2;
elseif ranks==6 & prob<40
dcsn='b';
b=blind*2;
elseif ranks==7 & prob<45
dcsn='b';
b=blind*2;
elseif ranks==8 & prob<50
dcsn='b';
b=blind*2;
elseif ranks==9 & prob<60
dcsn='b';
b=blind*2;
elseif ranks==10 & prob<65
dcsn='b';
b=blind*2;
end
end
if ranks==cranks & results.personalhighcard{i}<12
dcsn='k';
end
if prob<5
dcsn='b';
b=blind*2;
end
if dbet(i)==1
dcsn='k';
end
end
end
if b>stack(i)
b=stack(i);
end
if stack(i)==0
dcsn='k';
end
|
|