依據德州撲克規則,每人先發兩張手牌,我們依據網上對手牌牌力的分析表格, 採取遍歷的方法,計算出手牌的牌力
int myTwoCardWeight(card mtwocard[])
{
if (mtwocard[0].point == mtwocard[1].point)
{
switch (mtwocard[0].point)
{
case 2:return 11;
case 3:return 11;
case 4:return 11;
case 5:return 12;
case 6:return 13;
case 7:return 13;
case 8:return 15;
case 9:return 16;
case 10:return 19;
case 11:return 22;
case 12:return 27;
case 13:return 35;
case 14:return 40;
}
}
else if (mtwocard[0].color == mtwocard[1].color) //如果是同花
{
switch (mtwocard[0].point)
{
case 2:
{
switch (mtwocard[1].point)
{
case 3:return 7;
case 4:return 7;
case 5:return 8;
case 6:return 6;
case 7:return 6;
case 8:return 6;
case 9:return 7;
case 10:return 8;
case 11:return 8;
case 12:return 9;
case 13:return 11;
case 14:return 13;
}
}
case 3:
{
switch (mtwocard[1].point)
{
case 2:return 7;
case 4:return 8;
case 5:return 9;
case 6:return 8;
case 7:return 7;
case 8:return 6;
case 9:return 7;
case 10:return 8;
case 11:return 9;
case 12:return 10;
case 13:return 11;
case 14:return 14;
}
}
case 4:
{
switch (mtwocard[1].point)
{
case 2:return 7;
case 3:return 8;
case 5:return 10;
case 6:return 10;
case 7:return 9;
case 8:return 8;
case 9:return 7;
case 10:return 8;
case 11:return 9;
case 12:return 10;
case 13:return 11;
case 14:return 14;
}
}
case 5:
{
switch (mtwocard[1].point)
{
case 2:return 8;
case 3:return 9;
case 4:return 10;
case 6:return 11;
case 7:return 10;
case 8:return 9;
case 9:return 8;
case 10:return 8;
case 11:return 9;
case 12:return 10;
case 13:return 12;
case 14:return 15;
}
}
case 6:
{
switch (mtwocard[1].point)
{
case 2:return 6;
case 3:return 8;
case 4:return 10;
case 5:return 11;
case 7:return 11;
case 8:return 11;
case 9:return 10;
case 10:return 10;
case 11:return 9;
case 12:return 11;
case 13:return 12;
case 14:return 14;
}
}
case 7:
{
switch (mtwocard[1].point)
{
case 2:return 6;
case 3:return 7;
case 4:return 9;
case 5:return 10;
case 6:return 11;
case 8:return 12;
case 9:return 12;
case 10:return 11;
case 11:return 11;
case 12:return 11;
case 13:return 13;
case 14:return 14;
}
}
case 8:
{
switch (mtwocard[1].point)
{
case 2:return 6;
case 3:return 6;
case 4:return 8;
case 5:return 9;
case 6:return 11;
case 7:return 12;
case 9:return 13;
case 10:return 13;
case 11:return 13;
case 12:return 13;
case 13:return 13;
case 14:return 15;
}
}
case 9:
{
switch (mtwocard[1].point)
{
case 2:return 7;
case 3:return 7;
case 4:return 7;
case 5:return 8;
case 6:return 10;
case 7:return 12;
case 8:return 13;
case 10:return 15;
case 11:return 15;
case 12:return 15;
case 13:return 15;
case 14:return 16;
}
}
case 10:
{
switch (mtwocard[1].point)
{
case 2:return 8;
case 3:return 8;
case 4:return 8;
case 5:return 8;
case 6:return 10;
case 7:return 11;
case 8:return 13;
case 9:return 15;
case 11:return 18;
case 12:return 18;
case 13:return 18;
case 14:return 19;
}
}
case 11:
{
switch (mtwocard[1].point)
{
case 2:return 8;
case 3:return 9;
case 4:return 9;
case 5:return 9;
case 6:return 9;
case 7:return 11;
case 8:return 13;
case 9:return 15;
case 10:return 18;
case 12:return 19;
case 13:return 20;
case 14:return 20;
}
}
case 12:
{
switch (mtwocard[1].point)
{
case 2:return 9;
case 3:return 10;
case 4:return 10;
case 5:return 10;
case 6:return 11;
case 7:return 11;
case 8:return 13;
case 9:return 15;
case 10:return 18;
case 11:return 19;
case 13:return 21;
case 14:return 22;
}
}
case 13:
{
switch (mtwocard[1].point)
{
case 2:return 11;
case 3:return 11;
case 4:return 11;
case 5:return 12;
case 6:return 12;
case 7:return 13;
case 8:return 13;
case 9:return 15;
case 10:return 18;
case 11:return 20;
case 12:return 21;
case 14:return 24;
}
}
case 14:
{
switch (mtwocard[1].point)
{
case 2:return 13;
case 3:return 14;
case 4:return 14;
case 5:return 15;
case 6:return 14;
case 7:return 14;
case 8:return 15;
case 9:return 16;
case 10:return 19;
case 11:return 20;
case 12:return 22;
case 13:return 24;
}
}
}
}
else if (mtwocard[0].color != mtwocard[1].color) //如果不是同花
{
switch (mtwocard[0].point)
{
case 2:
{
switch (mtwocard[1].point)
{
case 3:return 1;
case 4:return 2;
case 5:return 2;
case 6:return 1;
case 7:return 0;
case 8:return 0;
case 9:return 1;
case 10:return 2;
case 11:return 2;
case 12:return 3;
case 13:return 4;
case 14:return 7;
}
}
case 3:
{
switch (mtwocard[1].point)
{
case 2:return 1;
case 4:return 3;
case 5:return 4;
case 6:return 3;
case 7:return 1;
case 8:return 1;
case 9:return 1;
case 10:return 2;
case 11:return 2;
case 12:return 3;
case 13:return 5;
case 14:return 7;
}
}
case 4:
{
switch (mtwocard[1].point)
{
case 2:return 2;
case 3:return 3;
case 5:return 5;
case 6:return 4;
case 7:return 3;
case 8:return 2;
case 9:return 1;
case 10:return 2;
case 11:return 3;
case 12:return 4;
case 13:return 5;
case 14:return 8;
}
}
case 5:
{
switch (mtwocard[1].point)
{
case 2:return 2;
case 3:return 4;
case 4:return 5;
case 6:return 6;
case 7:return 5;
case 8:return 4;
case 9:return 3;
case 10:return 2;
case 11:return 3;
case 12:return 4;
case 13:return 5;
case 14:return 8;
}
}
case 6:
{
switch (mtwocard[1].point)
{
case 2:return 1;
case 3:return 3;
case 4:return 4;
case 5:return 6;
case 7:return 6;
case 8:return 5;
case 9:return 4;
case 10:return 4;
case 11:return 3;
case 12:return 4;
case 13:return 6;
case 14:return 7;
}
}
case 7:
{
switch (mtwocard[1].point)
{
case 2:return 0;
case 3:return 1;
case 4:return 3;
case 5:return 5;
case 6:return 6;
case 8:return 7;
case 9:return 6;
case 10:return 6;
case 11:return 5;
case 12:return 5;
case 13:return 6;
case 14:return 8;
}
}
case 8:
{
switch (mtwocard[1].point)
{
case 2:return 0;
case 3:return 1;
case 4:return 2;
case 5:return 4;
case 6:return 5;
case 7:return 7;
case 9:return 8;
case 10:return 8;
case 11:return 7;
case 12:return 7;
case 13:return 7;
case 14:return 9;
}
}
case 9:
{
switch (mtwocard[1].point)
{
case 2:return 1;
case 3:return 1;
case 4:return 1;
case 5:return 3;
case 6:return 4;
case 7:return 6;
case 8:return 8;
case 10:return 10;
case 11:return 9;
case 12:return 9;
case 13:return 9;
case 14:return 10;
}
}
case 10:
{
switch (mtwocard[1].point)
{
case 2:return 2;
case 3:return 2;
case 4:return 2;
case 5:return 2;
case 6:return 4;
case 7:return 6;
case 8:return 8;
case 9:return 10;
case 11:return 13;
case 12:return 12;
case 13:return 13;
case 14:return 13;
}
}
case 11:
{
switch (mtwocard[1].point)
{
case 2:return 2;
case 3:return 2;
case 4:return 3;
case 5:return 3;
case 6:return 3;
case 7:return 5;
case 8:return 7;
case 9:return 9;
case 10:return 13;
case 12:return 14;
case 13:return 14;
case 14:return 14;
}
}
case 12:
{
switch (mtwocard[1].point)
{
case 2:return 3;
case 3:return 3;
case 4:return 4;
case 5:return 4;
case 6:return 4;
case 7:return 5;
case 8:return 7;
case 9:return 9;
case 10:return 12;
case 11:return 14;
case 13:return 16;
case 14:return 16;
}
}
case 13:
{
switch (mtwocard[1].point)
{
case 2:return 4;
case 3:return 5;
case 4:return 5;
case 5:return 5;
case 6:return 6;
case 7:return 6;
case 8:return 7;
case 9:return 9;
case 10:return 13;
case 11:return 14;
case 12:return 16;
case 14:return 19;
}
}
case 14:
{
switch (mtwocard[1].point)
{
case 2:return 7;
case 3:return 7;
case 4:return 8;
case 5:return 8;
case 6:return 7;
case 7:return 8;
case 8:return 9;
case 9:return 10;
case 10:return 13;
case 11:return 14;
case 12:return 16;
case 13:return 19;
}
}
}
}
}
策略方面:
1)。依據自己所處的不同位置,採取不同的策略,比如莊家,小盲,大盲位,以及其他位置;
2)。依據本局還在玩牌的人數(也就還沒有出局的人數),玩法不同。例如:人少,手牌可以玩的寬鬆一點,即牌力較小的牌都可以玩。人多的時候可以玩的緊一點;
3)。依據在你之前說話的人數,加註的人數,棄牌的人數,策略會有所不同;
ps:總決賽過後,還玩了好久手機版德州撲克,其實覺得,拿AA贏的概率大,然而23(同花或者不同花),都可以贏
所以總結一句:以儘可能小的代價來增加入局率