コード例 #1
0
ファイル: CardCompare.cs プロジェクト: CharlexDF/Hunter
        public static int CompareCardList(List <Card> _CardListA, List <Card> _CardListB)
        {
            CardTypeCaculator cardTypeA = new CardTypeCaculator(_CardListA);
            CardTypeCaculator cardTypeB = new CardTypeCaculator(_CardListB);

            cardTypeA.iCardType = cardTypeA.CalcCardType();
            cardTypeB.iCardType = cardTypeB.CalcCardType();

            int iRet = 0;

            if (cardTypeA.iCardType > cardTypeB.iCardType)
            {
                iRet = 1;
            }
            else if (cardTypeA.iCardType < cardTypeB.iCardType)
            {
                iRet = 2;
            }
            else if (cardTypeA.iCardType == cardTypeB.iCardType)
            {
                if (cardTypeA.iCardType == CardType.StraightFlush)
                {
                    iRet = CompareHighCard(cardTypeA.iHighCard, cardTypeB.iHighCard);
                }
                else if (cardTypeA.iCardType == CardType.FourKind)
                {
                    return(CompareHighCard(cardTypeA.iHighCard, cardTypeB.iHighCard));
                }
                else if (cardTypeA.iCardType == CardType.FullHouse)
                {
                    if (cardTypeA.iFullHouse_Three != cardTypeB.iFullHouse_Three)
                    {
                        iRet = CompareHighCard(cardTypeA.iFullHouse_Three, cardTypeB.iFullHouse_Three);
                    }
                    else
                    {
                        iRet = CompareHighCard(cardTypeA.iFullHouse_Two, cardTypeB.iFullHouse_Two);
                    }
                }
                else if (cardTypeA.iCardType == CardType.Flush)
                {
                    iRet = CompareHighCard(cardTypeA.iHighCard, cardTypeB.iHighCard);
                }
                else if (cardTypeA.iCardType == CardType.Straight)
                {
                    iRet = CompareHighCard(cardTypeA.iHighCard, cardTypeB.iHighCard);
                }
                else if (cardTypeA.iCardType == CardType.ThreeKind)
                {
                    if (cardTypeA.iThreeKind_Three != cardTypeB.iThreeKind_Three)
                    {
                        iRet = CompareHighCard(cardTypeA.iThreeKind_Three, cardTypeB.iThreeKind_Three);
                    }
                    else
                    {
                        if (cardTypeA.iThreeKind_High1 != cardTypeB.iThreeKind_High1)
                        {
                            iRet = CompareHighCard(cardTypeA.iThreeKind_High1, cardTypeB.iThreeKind_High1);
                        }
                        else
                        {
                            iRet = CompareHighCard(cardTypeA.iThreeKind_High2, cardTypeB.iThreeKind_High2);
                        }
                    }
                }
                else if (cardTypeA.iCardType == CardType.TwoPairs)
                {
                    if (cardTypeA.iTwoPair_Pair1 != cardTypeB.iTwoPair_Pair1)
                    {
                        iRet = CompareHighCard(cardTypeA.iTwoPair_Pair1, cardTypeB.iTwoPair_Pair1);
                    }
                    else
                    {
                        if (cardTypeA.iTwoPair_Pair2 != cardTypeB.iTwoPair_Pair2)
                        {
                            iRet = CompareHighCard(cardTypeA.iTwoPair_Pair2, cardTypeB.iTwoPair_Pair2);
                        }
                        else
                        {
                            iRet = CompareHighCard(cardTypeA.iTwoPair_High, cardTypeB.iTwoPair_High);
                        }
                    }
                }
                else if (cardTypeA.iCardType == CardType.OnePairs)
                {
                    if (cardTypeA.iOnePair_Pair != cardTypeB.iOnePair_Pair)
                    {
                        iRet = CompareHighCard(cardTypeA.iOnePair_Pair, cardTypeB.iOnePair_Pair);
                    }
                    else
                    {
                        iRet = CompareHighCard(cardTypeA.iOnePair_High, cardTypeB.iOnePair_High);
                    }
                }
                else if (cardTypeA.iCardType == CardType.HighCard)
                {
                    iRet = CompareHighCard(cardTypeA.iHighCard, cardTypeB.iHighCard);
                }
            }

            return(iRet);
        }
コード例 #2
0
ファイル: TexasHoldemClass.cs プロジェクト: CharlexDF/Hunter
        public static int GetCardType(List <Card> _CardList)
        {
            CardTypeCaculator cardType = new CardTypeCaculator(_CardList);

            return(0);
        }