bool IsFlush(string card[])
{
int cnt=1;
for (int i=0;i<5;i++)
{
for (int j=0;j<5;j++)
{
if (i!=j)
{
if (card[i][1]==card[j][1])
{
cnt++;
cout<<i<<j<<endl;
}
}
}
if (cnt==5) return true;
else cnt=1;
}
return false;
}
输出是这样(上面是array,下面是输出,一旦五个符号相同就return true)
下面是扑克几个符号的Unicode,你把它们保存到std::string
里是按UTF-8编码保存的,每个符号占三个字节。
Symbol | Unicode | UTF-8 |
---|---|---|
♠ | U+2660 | 0xE2 0x99 0xA0 |
♣ | U+2663 | 0xE2 0x99 0xA3 |
♥ | U+2665 | 0xE2 0x99 0xA5 |
♦ | U+2666 | 0xE2 0x99 0xA6 |
if (card[i][1]==card[j][1])
比较的是字节0xE2
最好完整代码,可以调试一下。光是函数不好判断,也可能是传入参数错误