C++ 棋牌转换

来源:互联网 发布:spark python部署 编辑:程序博客网 时间:2024/05/17 09:31
//麻将数据
BYTE const CGameLogic::m_cbCardDataArray[MAX_REPERTORY]=
{
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,//万子
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,//万子
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,//万子
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,//万子
0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,//索子
0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,//索子
0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,//索子
0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,//索子
0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,//同子
0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,//同子
0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,//同子
0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,//同子
0x31,0x32,0x33,0x34,0x35,0x36,0x37,//字
0x31,0x32,0x33,0x34,0x35,0x36,0x37,
0x31,0x32,0x33,0x34,0x35,0x36,0x37,
0x31,0x32,0x33,0x34,0x35,0x36,0x37,

};


//麻将转换

BYTE CGameLogic::SwitchToCardIndex(BYTE cbCardData[], BYTE cbCardCount, BYTE cbCardIndex[MAX_INDEX])
{
//设置变量
ZeroMemory(cbCardIndex,sizeof(BYTE)*MAX_INDEX);


//转换麻将
for (BYTE i=0;i<cbCardCount;i++)
{
ASSERT(IsValidCard(cbCardData[i]));
cbCardIndex[SwitchToCardIndex(cbCardData[i])]++;
}


return cbCardCount;
}

//麻将转换
BYTE CGameLogic::SwitchToCardIndex(BYTE cbCardData)
{
ASSERT(IsValidCard(cbCardData));
return ((cbCardData&MASK_COLOR)>>4)*9+(cbCardData&MASK_VALUE)-1;  //把棋牌转换为对应的0~33
}

0 0
原创粉丝点击