该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
int change(int card[])
{
if(checkTongHuaShun(card))//同花顺牌型8
{
return 8;
}
else if(checkSiTiao(card))//四条牌型7
{
return 7;
}
else if(checkSanTiaoYiDui(card))//三条一对牌型6
{
return 6;
}
else if(checkTongHua(card))//同花牌型5
{
return 5;
}
else if(checkShunzi(card))//顺子牌型4
{
return 4;
}
else if(checkSanTiao(card))//三条牌型3
{
return 3;
}
else if(checkLiangDui(card))//两对牌型2
{
return 2;
}
else if(checkDuiZi(card))//对子牌型1
{
return 1;
}
else//散牌牌型0
{
return 0;
}
}
int cmpShunOrSanPai(int card1[],int card2[])
{
if(card1[M-1]/4!=card2[M-1]/4)//第5张牌不相等
{
return cmp(card1[M-1]/4,card2[M-1]/4);//返回第5张牌的大小比较
}
else
{
return cmp(card1[M-1]%4,card2[M-1]%4);//返回第5张牌的花色比较
}
}
int maxSiTiao(int card[])
{
int i;
for(i=0;i
{
if(card[i]/4==card[i+1]/4)//返回两张连续相等的牌对应的数字的编号
{
return card[i+1];
}
}
return 0;
}
int cmpSiTiao(int card1[],int card2[])
{
return cmp(maxSiTiao(card1)/4,maxSiTiao(card2)/4);
}
int maxSanTiao(int card[])
{
int i;
for(i=0;i
{
if(card[i]/4==card[i+1]/4&&card[i]/4==card[i+2]/4)//返回3张连续相等牌最大数字的编号
{
return card[i+2];
}
}
return 0;
}
int cmpSanTiao(int card1[],int card2[])
{
return cmp(maxSanTiao(card1)/4,maxSanTiao(card2)/4);
}
int maxLiangDui(int card[])
{
int a,i;
for(i=0;i
{
if(card[i]/4==card[i+1]/4)//最后的相等的数字为最大的数字
{
a=card[i+1];
}
}
return a;
}
int minLiangDui(int card[])
{
return maxSiTiao(card);//最前面的第2个数字
}
int cmpLiangDui(int card1[],int card2[])
{
if(maxLiangDui(card1)/4!=maxLiangDui(card2)/4)//最大对牌的大小不相等
{
return cmp(maxLiangDui(card1)/4,maxLiangDui(card2)/4);
}
else if(minLiangDui(card1)/4!=minLiangDui(card2)/4)//最小对牌的大小不相等
{
return cmp(minLiangDui(card1)/4,minLiangDui(card2)/4);
}
else//都相等返回最大对对应的最大花色
{
return cmp(maxLiangDui(card1)%4,maxLiangDui(card2)%4);
}
}
int cmpDuiZi(int card1[],int card2[])
{
if(maxLiangDui(card1)/4!=maxLiangDui(card2)/4)//直接调用两对中最大对的返回函数即可