public enum PokerGroupType {
Single = 1, Pair = 2, DoubleJoker = 3, Triplet = 4, TripletWithOne = 5,
Bomb = 6, Straight5 = 7, Straight6 = 8, TripleStraight2 = 9, FourWithTwo = 10,
Plane2 = 11, Straight7 = 12, DoubleStraight4 = 13, Straight8 = 14, PlaneWithWings = 15,
Straight9 = 16, TripleStraight3 = 17, DoubleStraight5 = 18, Straight10 = 19,
Straight11 = 20, Straight12 = 21, Plane4 = 22, TripleStraight3Wings = 23, DoubleStraight6 = 24,
DoubleStraight7 = 25, Plane5 = 26, DoubleStraight8 = 27, Plane4Wings = 28,
DoubleStraight9 = 29, Plane6 = 30, DoubleStraight10 = 31, Plane5Wings = 32
}
IsStraight():檢查點數連續IsDoubleStraight():檢查連續對子IsPlane():檢查連續三張(飛機)SortPlaneWings():飛機帶翅膀排序,將翅膀移至主體後,便於比較public static bool operator >(PokerGroup L, PokerGroup R) {
if (L.Type != R.Type && L.Type != Bomb && L.Type != DoubleJoker) return false;
if (L.Type == Bomb && R.Type == Bomb) return L[0] > R[0];
if (L.Type == Bomb) return true; // 炸彈大於非炸彈
if (L.Type == DoubleJoker) return true; // 雙王最大
return L[0] > R[0]; // 同類型比主牌點數
}
IsRules() 識別類型並排序myGroup > lastGrouplastGroup完整識別代碼較長,文末提供下載連結。