/// <summary> /// 获取指定数组的权值 /// </summary> /// <param name="cards"></param> /// <param name="rule"></param> /// <returns></returns> public int GetWeight(Card[] cards, CardsType rule) { int totalWeight = 0; if (rule == CardsType.ThreeAndOne || rule == CardsType.ThreeAndTwo || rule == CardsType.FourAndTwo) { for (int i = 0; i < cards.Length; i++) { if (i < cards.Length - 2) { if (cards[i].GetCardWeight == cards[i + 1].GetCardWeight && cards[i].GetCardWeight == cards[i + 2].GetCardWeight) { totalWeight += (int)cards[i].GetCardWeight; totalWeight *= 3; break; } } } } else if (rule == CardsType.TripleStraightDaiOne || rule == CardsType.TripleStraightDaiTwo) { List <Card> cardlist = new List <Card>(); cardlist.AddRange(cards); CardRules.SortFly(cardlist); totalWeight = (int)cardlist[0].GetCardWeight; } else { for (int i = 0; i < cards.Length; i++) { totalWeight += (int)cards[i].GetCardWeight; } } return(totalWeight); }