数组的运用
//用户操作 操作用户的ID 操作类型 操作麻将
bool CTableFrameSink::OnUserOperateCard(WORD wChairID, BYTE cbOperateCode, BYTE cbOperateCard)
{
switch (cbTargetAction)
{
case WIK_LEFT://上牌操作(左吃类型)
{
for(WORD i=0;i<4;i++)
{ //供应用户 操作用户的上一位
if(m_wProvideUser==(wChairID+GAME_PLAYER+1)%4)
{
m_wChiCount[wChairID]++;//左吃的次数+1
m_wChiUser[i]=wChairID; //把操作用户的ID保存到这个数组里面去(这句代码有没有问题?)
m_wUserChi[i]=m_wProvideUser;//把供应用户的ID保存到这个数组里面去
}
}
break;
}
}
//玩家积分计算
if (m_wProvideUser!=INVALID_CHAIR)
{
//自摸类型
if (m_ChiHuResult[m_wProvideUser].wChiHuKind!=CHK_NULL)
{
WORD wWinUser=m_wProvideUser;
for(WORD i=0;i<4;i++)
{
if(m_wChiCount[wWinUser]<3)//吃的次数少于三次
{
if(wWinUser!=i)
{
每一个个输的玩家都要付相同的分数;
}
}
else//如果吃的次数大于三次
{
if(wWinUser==m_wUserChi[i])//吃的玩家胡(这里的吃的玩家就相等于上面那个方法中的操作玩家,这句代码有 没有问题?)
{
} else if(i==m_wChiUser[i])//供应玩家,问题主要是在这里,为什么我这样写m_wChiUser[i]保存的数据并不是上面那个方法里面的这个数据m_wUserChi[i]=m_wProvideUser;,不知道我应该怎么改?
}
}
}
}