該樓層疑似違規已被系統折疊 隐藏此樓檢視此樓
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)//直接調用兩對中最大對的傳回函數即可