Exemplo n.º 1
0
 public int Compare(CardKindResolver x, CardKindResolver y)
 {
     if (x.MaxPoint == y.MaxPoint)
     {
         return(x.SecondMaxPoint - y.SecondMaxPoint);
     }
     return(x.MaxPoint - y.MaxPoint);
 }
Exemplo n.º 2
0
        public static int Compare(string xCards, string yCards)
        {
            var x = new CardKindResolver(xCards);
            var y = new CardKindResolver(yCards);

            if (x.Kind == y.Kind)
            {
                return(GetCardComparer(x).Compare(x, y));
            }
            return(x.Kind - y.Kind);
        }
Exemplo n.º 3
0
        private static ICardComparer GetCardComparer(CardKindResolver x)
        {
            ICardComparer comparer = null;

            if (x.Kind == CardKind.FlushStraight)
            {
                comparer = new FlushStraightComparer();
            }

            return(comparer);
        }