Exemplo n.º 1
0
    public void SuitRun()
    {
        if (_valueList.Count < 2)
        {
            return;
        }

        foreach (Suits s in Enum.GetValues(typeof(Suits)))
        {
            Card[] cc = _valueList.FindAll(p => p.cardInfo.cardSuit == s).ToArray();

            if (cc.Length < 4)
            {
                continue;
            }


            CardsInSet cs = new CardsInSet();
            cs.handRank  = HandRanks.Flush;
            cs.highValue = cc.Last().cardInfo.cardValue;
            foreach (Card card in cc)
            {
                cs.cardsInSet.Add(card);
            }
            handsToPlay.Add(cs);

            //handRankResult.suitRun = cc.Last().value;
        }
    }
Exemplo n.º 2
0
    public void HighCard()
    {
        if (_valueList.Count < 1)
        {
            return;
        }

        highCardValue = _valueList.Last().cardInfo.cardValue;

        CardsInSet cs = new CardsInSet();

        cs.handRank  = HandRanks.HighCard;
        cs.highValue = _valueList.Last().cardInfo.cardValue;
        cs.cardsInSet.Add(_valueList.Last());
        handsToPlay.Add(cs);
    }
Exemplo n.º 3
0
    public void ValueRun()
    {
        if (_valueList.Count < 2)
        {
            return;
        }

        foreach (Card card in _valueList)
        {
            List <Card> runFinder = new List <Card>();

            for (int j = 0; j < 7; j++)
            {
                Card runCard = _valueList.Find(p => p.cardInfo.cardValue == card.cardInfo.cardValue + j);
                if (runCard == null)
                {
                    break;
                }

                runFinder.Add(runCard);
            }

            if (runFinder.Count < 4)
            {
                continue;
            }

            CardsInSet cs = new CardsInSet();
            cs.handRank  = HandRanks.Straight;
            cs.highValue = runFinder.Last().cardInfo.cardValue;
            foreach (Card card1 in runFinder)
            {
                cs.cardsInSet.Add(card1);
            }
            handsToPlay.Add(cs);

            //handRankResult.valueRun = runFinder.Last().value;
        }
    }
Exemplo n.º 4
0
    public void Pairs()
    {
        if (_valueList.Count < 2)
        {
            return;
        }

        for (int i = 0; i < 14; i++)
        {
            var cardValue = _valueList.FindAll(p => p.cardInfo.cardValue == i).ToArray();
            if (cardValue.Length < 2)
            {
                continue;
            }

            CardsInSet cs;
            switch (cardValue.Length)
            {
            case 5:
                //handRankResult.quints.Add(i);
                continue;

            case 4:
                //handRankResult.quads.Add(i);
                cs           = new CardsInSet();
                cs.handRank  = HandRanks.FourOfAKind;
                cs.highValue = i;
                foreach (Card card in cardValue)
                {
                    cs.cardsInSet.Add(card);
                }
                handsToPlay.Add(cs);
                continue;

            case 3:
                //handRankResult.trips.Add(i);

                cs           = new CardsInSet();
                cs.handRank  = HandRanks.ThreeOfAKind;
                cs.highValue = i;
                foreach (Card card in cardValue)
                {
                    cs.cardsInSet.Add(card);
                }
                handsToPlay.Add(cs);
                continue;

            case 2:
                //handRankResult.pairs.Add(i);

                cs           = new CardsInSet();
                cs.handRank  = HandRanks.Pair;
                cs.highValue = i;
                foreach (Card card in cardValue)
                {
                    cs.cardsInSet.Add(card);
                }
                handsToPlay.Add(cs);
                continue;
            }
        }
    }