Exemplo n.º 1
0
    override public int GetMadeNumericRank()
    {
        DuplicateRankCounter tDuplicateRankCounter = GetDuplicateCards(0, 3);

        // a 5-card hand. will set all card masks true in GetMade2NumericRank
        return(tDuplicateRankCounter.duplicateCardNumericRank);
    }
Exemplo n.º 2
0
    override public int GetMade2NumericRank()
    {
        // find the first set of 3 then exclude that rank from the following search for a pair.
        DuplicateRankCounter tThreeOfAKind = GetDuplicateCards(0, 3);

        // a 5-card hand
        SetAllUsedCardMaskTrue();

        return(GetDuplicateCards(0, 2, tThreeOfAKind.duplicateCardNumericRank).duplicateCardNumericRank);
    }
Exemplo n.º 3
0
    override public int GetMadeNumericRank()
    {
        DuplicateRankCounter tDuplicateRankCounter = GetDuplicateCards(0, 2);

        if (tDuplicateRankCounter.duplicateCardNumericRank >= 0)
        {
            _usedCardMask[tDuplicateRankCounter.duplicateCardLastIndex - 1] = true;
            _usedCardMask[tDuplicateRankCounter.duplicateCardLastIndex]     = true;
        }

        return(tDuplicateRankCounter.duplicateCardNumericRank);
    }
Exemplo n.º 4
0
    override public int GetMade2NumericRank()
    {
        // Find the first pair and its index then add 2 to pick the index to start searching for the second pair
        int tStartIndex = GetDuplicateCards(0, 2).duplicateCardLastIndex + 1;
        DuplicateRankCounter tDuplicateRankCounter = GetDuplicateCards(tStartIndex, 2);

        if (tDuplicateRankCounter.duplicateCardNumericRank >= 0)
        {
            _usedCardMask[tDuplicateRankCounter.duplicateCardLastIndex - 1] = true;
            _usedCardMask[tDuplicateRankCounter.duplicateCardLastIndex]     = true;
        }

        return(tDuplicateRankCounter.duplicateCardNumericRank);
    }
Exemplo n.º 5
0
    // pExcludeRank is used for preventing the full house check from using the set of 3.
    protected DuplicateRankCounter GetDuplicateCards(int pStartIndex, int pLength, int pExcludeRank = -1)
    {
        int[] tRankCounter = new int[15] {
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
        };
        DuplicateRankCounter tDuplicateRankCounter = new DuplicateRankCounter();

        for (int i = pStartIndex; i < 5; i++)
        {
            int tNumericRank = _cards[i].NumericRank;
            tRankCounter[tNumericRank]++;

            if (tRankCounter[tNumericRank] == pLength && tNumericRank != pExcludeRank)
            {
                tDuplicateRankCounter.duplicateCardNumericRank = tNumericRank;
                tDuplicateRankCounter.duplicateCardCount       = tRankCounter[tNumericRank];
                tDuplicateRankCounter.duplicateCardLastIndex   = i;

                return(tDuplicateRankCounter);
            }
            ;
        }
        return(tDuplicateRankCounter);
    }