关于或等于运算运用简单说明

//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位
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒德久远

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值