版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pengnanzheng/article/details/88878113
//S_CARD_BIG 1 0000 0001
//S_CARD_SMALL 2 0000 0010
//S_CARD_PAIR 4 0000 0100
BYTE GetSpecialCardType(const BYTE cbCardData[], BYTE cbCardCount)
{
AssertReturn(cbCardData != NULL, return S_CARD_BIG;);
AssertReturn(cbCardCount == 2, return S_CARD_BIG);
BYTE bCardValue1 = GetCardValue(cbCardData[0]);
BYTE bCardValue2 = GetCardValue(cbCardData[1]);
BYTE cardType = 0;
bCardValue1 = bCardValue1 >= 0x0A ? 10 : bCardValue1;
bCardValue2 = bCardValue2 >= 0x0A ? 10 : bCardValue2;
if (bCardValue1 == bCardValue2)
{
cardType |= S_CARD_PAIR;
}
if (bCardValue1 + bCardValue2 > CT_POINT_13)
{
cardType |= S_CARD_BIG;
}
else if(bCardValue1 + bCardValue2 < CT_POINT_13)
{
cardType |= S_CARD_SMALL;
}
else
{
cardType |= S_CARD_13;
}
return cardType;
}
int GetSpecialCardTypeMultiple(BYTE cardType, UserBetTypeEnum betType)
{
int Multi = -1;
if (betType == CMD_S_UserBet_PAIR)
{
if (cardType & S_CARD_PAIR)
Multi = 11;
}
else
{
if (betType == CMD_S_UserBet_BIG13 && (cardType & S_CARD_BIG))
Multi = 1;
if (betType == CMD_S_UserBet_SMALL13 && (cardType & S_CARD_SMALL))
Multi = 1;
}
return Multi;
}
//cardType 0000 0000
// |=S_CARD_PAIR 0000 0100 后可以让cardType变为 0000 0100
// |=S_CARD_BIG 0000 0001 后可以让cardType变为 0000 0101
//这样让cardType中包含了 两种类型 ,当然你也可以根据自己需要BYTE 有8位