/// <summary> ///Rank3 /// </summary> /// <param name="hands"></param> /// <returns></returns> internal override bool IsHand() { var previousHand = 0; var ranks = HandUtility.GeOrderedRanksAsIntegers(hands); HandUtility.ConvertOrOneDefault(ranks); //Utility to convert to Ace to either Ace or One for (int i = 0; i < 3; i++) { if (previousHand > 0 && ranks[i] - 1 != previousHand) { return(false); } previousHand = ranks[i]; } return(true); }
/// <summary> /// Rank3 /// </summary> /// <param name="hands"></param> /// <returns></returns> private static bool IsStraight(List <IHand> hands) { var previousHand = 0; //var ranks = hands.Select(i => (int)i.Rank).OrderBy(i => i).ToList(); var ranks = HandUtility.GeOrderedRanksAsIntegers(hands); HandUtility.ConvertOrOneDefault(ranks); //if (ranks.FirstOrDefault() == 2 && ranks.Contains(14)) //{ // ranks.Remove(14); // ranks.Insert(0, 1); //} for (int i = 0; i < 3; i++) { if (previousHand > 0 && ranks[i] - 1 != previousHand) { return(false); } previousHand = ranks[i]; } return(true); }