上篇:两人斗地主客户端源码(一)
下面继续……
//
int CCardParserDDZ::CPtrListN::GetMaxPaiCount()
{
int maxdd=0;
for(POSITION pos=mList.GetHeadPosition ();pos != NULL;)
{
PSTypeNode * ps = (PSTypeNode *) mList.GetNext(pos);
if (!ps) continue;
if(ps->mcount > maxdd)maxdd = ps->mcount;
}
return maxdd;
}
bool CCardParserDDZ::CPtrListN::bSucceed()
{
bool bAll=true;
for(POSITION pos=mList.GetHeadPosition ();pos != NULL;)
{
PSTypeNode * ps = (PSTypeNode *) mList.GetNext(pos);
if (!ps) continue;
if (ps->mps > 0) return -1;/未完
if (ps->mcount > 0) return false;;/未完
}
return true;
}
bool CCardParserDDZ::CPtrListN::bFailed()
{
三个状态:
-1:有ps->mps > 0说明还有三张可以检测,未完
/0:没三张可以检测,但还有ps->mcount > 0,说明该LIST不满足三顺条件
/1:没三张可以检测,无ps->mcount > 0,说明该LIST满足三顺条件(但还要lzcnt == 0)
bool bAll=true;
for(POSITION pos=mList.