当所有玩家下注结束进行比牌处理:
服务器端
//比牌事件
bool CTableFrameSink::OnBiPaiCard(BYTE bitwince)
{
for (WORD i=0;i<m_wPlayerCount;i++)
{
//没分牌自动分牌
if (m_bTableCardFenArray[0][0]==0)
{
memcpy(m_bTableCardFenArray[0],&m_bTableCardArray[0],2);
memcpy(m_bTableCardFenArray[1],&m_bTableCardArray[2],2);
}
}
WORD wWinerUser=DeduceWiner(0,1,bitwince);
for (WORD i=0;i<m_wPlayerCount;i++)
{
if (i==wWinerUser)
bBoolWin[bitwince]=true;
else
bBoolWin[bitwince]=false;
}
CMD_S_GAMEBI gamebi;
memset(&gamebi,0,sizeof(CMD_S_GAMEBI));
for (WORD i=0;i<m_wPlayerCount;i++)
{
memcpy(gamebi.bfCardData,m_bTableCardFenArray[0],sizeof(m_bTableCardFenArray[0]));
memcpy(gamebi.bnCardData,m_bTableCardFenArray[1],sizeof(m_bTableCardFenArray[1]));
memcpy(gamebi.bBoolWin,bBoolWin,sizeof(bBoolWin));
}
gamebi.bCardTwice=bitwince;
m_pITableFrame->SendTableData(INVALID_CHAIR,SUB_S_BI_CARD,&gamebi,sizeof(gamebi));
m_firstwinder=wWinerUser;
bicount=1;
//设置定时器
m_pITableFrame->SetGameTimer(IDI_BIPAITIME,1000L,1,NULL);
return true;
}
//二次比牌事件
bool CTableFrameSink::OnBiPaiTwoCard(BYTE bitwince)
{
for (WORD i=0;i<m_wPlayerCount;i++)
{
if (m