public bool IsValidHand(IHand hand) { if(hand.Cards.Count != 5) { return false; } for (int i = 0; i < hand.Cards.Count; i++) { for (int j = i + 1; j < hand.Cards.Count; j++) { if(hand.Cards[i].Face == hand.Cards[j].Face) { if (hand.Cards[i].Suit == hand.Cards[j].Suit) { return false; } } } int cardCounter = 0; for (int j = i + 1; j < hand.Cards.Count; j++) { if(hand.Cards[i].Face == hand.Cards[j].Face) { cardCounter++; if(cardCounter > 4) { return false; } } } } hand.SetValid(); return true; }