Esempio n. 1
0
    /// <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);
    }