基于网狐架构台州四张游戏的开发-下注

来源:互联网 发布:mac 重新编译php 编辑:程序博客网 时间:2024/05/11 04:30

首先计算最大下注,在游戏开始计算玩家中最少积分的玩家积分数

//发送开始
 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个值可以下注

第一次为庄家下注,然后下家下注,下家下注只能大于等于上家

  最后就是处理比牌了

原创粉丝点击