public override bool IsCheckingFinished(DescendingHandCards whiteCards, DescendingHandCards blackCards) { if (!HasResult && whiteCards.IsFourOfAKindCards() && blackCards.IsFourOfAKindCards()) { Result = CompareSameType(whiteCards, blackCards); } if (!HasResult && (whiteCards.IsFourOfAKindCards() || blackCards.IsFourOfAKindCards())) { 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); }
protected override string DirectlyWin(DescendingHandCards whiteCards, DescendingHandCards blackCards) { if (whiteCards.IsFourOfAKindCards() && !blackCards.IsFourOfAKindCards() && !blackCards.IsStraightFlushCards()) { HasResult = true; return(string.Format(StringConstant.WHITE_WIN_TEMPLATE, StringConstant.FOUR_OF_A_KIND)); } if (blackCards.IsFourOfAKindCards() && !whiteCards.IsFourOfAKindCards() && !whiteCards.IsStraightFlushCards()) { HasResult = true; return(string.Format(StringConstant.BLACK_WIN_TEMPLATE, StringConstant.FOUR_OF_A_KIND)); } return(StringConstant.TIE); }