首先计算最大下注,在游戏开始计算玩家中最少积分的玩家积分数
//发送开始
CMD_S_GameStart GameStart;
memset(&GameStart,0,sizeof(GameStart));
//计算下注
bool bCalculateGold=false;
for (WORD i=0;i<m_wPlayerCount;i++)
{
pIServerUserItem=m_pITableFrame->GetServerUserItem(i);
if (pIServerUserItem!=NULL)
{
m_bPlayStatus=true;
m_lTableGold[i*2+1]=m_pGameServiceOption->lCellScore;
if (bCalculateGold==false)
{
bCalculateGold=true;
pUserScore=pIServerUserItem->GetUserScore();
ASSERT(pUserScore->lScore>m_pGameServiceOption->lCellScore);
m_lMaxGold=pUserScore->lScore;
}
else
{
pUserScore=pIServerUserItem->GetUserScore();
ASSERT(pUserScore->lScore>1L);
m_lMaxGold=__min(m_lMaxGold,pUserScore->lScore);
}
}
}
GameStart.lMaxGold=m_lMaxGold;
GameStart.lTurnMaxGold=m_lMaxGold/4L;
GameStart.lTurnBasicGold=m_lTurnBasicGold;
计算出最少积分玩家的积分除4为最大下注数,游戏开始时发送给玩家
客户端在游戏到游戏开始时
m_GameClientView.SetUserGoldInfo(wViewChairID,true,lBaseGold);
//用户筹码
void CGameClientView::SetUserGoldInfo(WORD wViewChairID, bool bTableGold, DWORD dwGold)
{
//参数判断
WORD wGoldPos=wViewChairID*2+((bTableGold==true)?1:0);
if (wGoldPos>=CountArray(m_GoldStation)) return;
//设置变量
DWORD m_dwAllGold=0L;
m_GoldView[wGoldPos].SetGold(dwGold);
for (int i=0;i<CountArray(m_GoldStation);i++) m_dwAllGold+=m_GoldView.GetGold();
//更新视图
UpdateGameView(NULL);
return;
}
设置加注按扭的值,此处是根据客户的要求设定的方法。只有4个值可以下注
第一次为庄家下注,然后下家下注,下家下注只能大于等于上家
最后就是处理比牌了