private bool IsStraight(IHand hand) { var sortedHand = hand.SortCards(); var expectedNextCardValue = sortedHand[0].GetCardValue() + 1; for (var x = 1; x < sortedHand.Count; x++) { var currentCard = sortedHand[x]; if (currentCard.GetCardValue() != expectedNextCardValue) { return false; } expectedNextCardValue++; } hand.SetRank(Rank.Straight); return true; }