牌型分为9种,
杂牌,一对,两对,三条,顺子,同花,葫芦,四条,同花顺。
判断五张牌的牌型,其实代码页很简单,不需要很复杂。
#include<iostream>
#include<functional>
#include<algorithm>
#include<string>
using namespace std;
struct PorkType{
int type;
int card[5];
void setcard(int *p)
{
for(int i=0;i<5;i++)
{
card[i]=p[i];
}
}
int operator -(PorkType & pt)
{
if(type!=pt.type)
return type-pt.type;
for(int i=0;i<5;i++)
{
if(card[i]!=pt.card[i])
return card[i]-pt.card[i];
}
return 0;
}
};
struct State{
//high card 1, one pair 2, two pair 3,
/* 1 High Card: Highest value card.
2 One Pair: Two cards of the same value.
3 Two Pairs: Two different pairs.
4 Three of a Kind: Three cards of the same value.
5 Straight: All cards are consecutive values.
6 Flush: All cards of the same suit.
7 Full House: Three of a kind and a pair.
8 Four of a Kind: Four cards of the same value.
9 Straight Flush: All cards