public override bool IsCheckingFinished(DescendingHandCards whiteCards, DescendingHandCards blackCards)
        {
            if (!HasResult && whiteCards.IsFullHouseCards() && blackCards.IsFullHouseCards())
            {
                Result = CompareSameType(whiteCards, blackCards);
            }

            if (!HasResult && (whiteCards.IsFullHouseCards() || blackCards.IsFullHouseCards()))
            {
                Result = DirectlyWin(whiteCards, blackCards);
            }

            return(HasResult);
        }
        protected override string DirectlyWin(DescendingHandCards whiteCards, DescendingHandCards blackCards)
        {
            if (whiteCards.IsStraightCards() &&
                !blackCards.IsStraightFlushCards() &&
                !blackCards.IsFourOfAKindCards() &&
                !blackCards.IsFullHouseCards() &&
                !blackCards.IsFlushCards())
            {
                HasResult = true;

                return(string.Format(StringConstant.WHITE_WIN_TEMPLATE, StringConstant.STRAIGHT));
            }

            if (blackCards.IsStraightCards() &&
                !whiteCards.IsStraightFlushCards() &&
                !whiteCards.IsFourOfAKindCards() &&
                !whiteCards.IsFullHouseCards() &&
                !whiteCards.IsFlushCards())
            {
                HasResult = true;

                return(string.Format(StringConstant.BLACK_WIN_TEMPLATE, StringConstant.STRAIGHT));
            }

            return(StringConstant.CHEAT);
        }