示例#1
0
        protected override compareData Results(List <BridgeData> cards)
        {
            var compareData = new compareData();
            var group       = cards.GroupBy(x => x.Number).OrderByDescending(x => x.Key).ToList();

            compareData.Data.Add(group.First(x => x.Count() == 2).Key);
            compareData.Data.Add(group.Last(x => x.Count() == 2).Key);
            compareData.Data.Add(group.First(x => x.Count() == 1).Key);
            compareData.BridgeTypeDetail = BridgeType.TwoPairs;
            return(compareData);
        }
示例#2
0
        protected override compareData Results(List <BridgeData> cards)
        {
            var compareData = new compareData();

            cards.ForEach(x =>
            {
                if (!compareData.Data.Contains(x.Number))
                {
                    compareData.Data.Add(x.Number);
                }
            });

            compareData.Data.Sort((x, y) => - x.CompareTo(y));
            compareData.BridgeTypeDetail = BridgeType.Straight;
            return(compareData);
        }
示例#3
0
        protected override compareData Results(List <BridgeData> cards)
        {
            var compareData = new compareData();
            var group       = cards.GroupBy(x => x.Number).OrderByDescending(x => x.Key);

            compareData.Data.Add(group.First(x => x.Count() == 3).Key);
            cards.ForEach(x =>
            {
                if (cards.Count(y => y.Number == x.Number) != 3)
                {
                    compareData.Data.Add(x.Number);
                }
            });
            compareData.BridgeTypeDetail = BridgeType.ThreeKind;
            return(compareData);
        }
示例#4
0
        protected override compareData Results(List <BridgeData> cards)
        {
            var compareData = new compareData();

            cards.ForEach(x =>
            {
                if (!compareData.Data.Contains(x.Number))
                {
                    compareData.Data.Add(x.Number);
                }
            });
            if (cards.Count(x => x.Number == compareData.Data.First()) == 2)
            {
                compareData.Data.Reverse();
            }
            compareData.BridgeTypeDetail = BridgeType.FullHouse;
            return(compareData);
        }