Пример #1
0
        //分组指数过滤的(分组指数和、分组指数积)
        List<string> GetGoupIndexSumProduct(string terms, int Types, List<string> ListR)
        {
            List<Netball> List = DataGrid1.ItemsSource as List<Netball>;

            List<SumIn> ListOdd = new List<SumIn>();
            for (int i = 0; i < List.Count; i++)
            {
                //胜平负的赔率类
                SumIn Odd = new SumIn();

                Odd.I0 = List[i].In0;
                Odd.I1 = List[i].In1;
                Odd.I2 = List[i].In2;
                Odd.I3 = List[i].In3;
                Odd.I4 = List[i].In4;
                Odd.I5 = List[i].In5;
                Odd.I6 = List[i].In6;
                Odd.I7 = List[i].In7;

                Odd.id = List[i].Id;
                ListOdd.Add(Odd);
            }

            List<string> ListStr = new List<string>();

            string[] arrTerms = terms.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string term in arrTerms)
            {
                string nums = term.Split('|')[0];
                string nums2 = term.Split('|')[1];
                string[] strs = nums.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                List<int> number = new List<int>();
                for (int i = 0; i < strs.Length; i++)
                {
                    if (strs[i] == "Y")
                    {
                        number.Add(i);
                    }
                }

                double Min = double.Parse(nums2.Split('-')[0]);
                double Max = double.Parse(nums2.Split('-')[1]);

                double Odds = 0;
                int j = 0;
                foreach (string s in ListR)
                {
                    bool isOk = false;
                    j = 0;
                    if (Types == 1)//Types = 1指数和
                    {
                        Odds = 0;
                    }
                    else
                    {
                        Odds = 1;
                    }
                    foreach (int i in number)
                    {
                        if (s[i] != '*')
                        {
                            isOk = false;
                            if (Types == 1)//Types = 1指数和
                            {
                                switch (s[i])
                                {
                                    case '0':
                                        Odds += ListOdd[i].I0;
                                        break;
                                    case '1':
                                        Odds += ListOdd[i].I1;
                                        break;
                                    case '2':
                                        Odds += ListOdd[i].I2;
                                        break;
                                    case '3':
                                        Odds += ListOdd[i].I3;
                                        break;
                                    case '4':
                                        Odds += ListOdd[i].I4;
                                        break;
                                    case '5':
                                        Odds += ListOdd[i].I5;
                                        break;
                                    case '6':
                                        Odds += ListOdd[i].I6;
                                        break;
                                    case '7':
                                        Odds += ListOdd[i].I7;
                                        break;
                                    default:
                                        Odds += 0.00;
                                        break;
                                }
                                j++;
                            }
                            else
                            {
                                switch (s[i])
                                {
                                    case '0':
                                        Odds *= ListOdd[i].I0;
                                        break;
                                    case '1':
                                        Odds *= ListOdd[i].I1;
                                        break;
                                    case '2':
                                        Odds *= ListOdd[i].I2;
                                        break;
                                    case '3':
                                        Odds *= ListOdd[i].I3;
                                        break;
                                    case '4':
                                        Odds *= ListOdd[i].I4;
                                        break;
                                    case '5':
                                        Odds *= ListOdd[i].I5;
                                        break;
                                    case '6':
                                        Odds *= ListOdd[i].I6;
                                        break;
                                    case '7':
                                        Odds *= ListOdd[i].I7;
                                        break;
                                    default:
                                        Odds *= 1;
                                        break;
                                }
                                j++;
                            }
                        }
                        else
                        {
                            isOk = true;
                        }
                    }


                    if (isOk || Odds >= Min && Odds <= Max)
                    {
                        ListStr.Add(s);
                    }
                }

                ListR.Clear();
                ListR.AddRange(ListStr);
                ListStr.Clear();
            }
            ListStr = ListR;


            return ListStr;
        }
Пример #2
0
        //范围截取的(奖金最高、 概率最高)Types = 1 是奖金最高 Types = 2是概率最高
        List<string> GetRangeBonus(int Min, int Types, List<string> ListR)
        {
            List<Netball> List = DataGrid1.ItemsSource as List<Netball>;

            List<SumIn> ListOdd = new List<SumIn>();
            for (int i = 0; i < List.Count; i++)
            {
                //胜平负的赔率类
                SumIn Odd = new SumIn();

                Odd.I0 = List[i].In0;
                Odd.I1 = List[i].In1;
                Odd.I2 = List[i].In2;
                Odd.I3 = List[i].In3;
                Odd.I4 = List[i].In4;
                Odd.I5 = List[i].In5;
                Odd.I6 = List[i].In6;
                Odd.I7 = List[i].In7;

                Odd.id = List[i].Id;
                ListOdd.Add(Odd);
            }

            List<string> ListStr = new List<string>();
            List<NumOrders> ListNumOrder = new List<NumOrders>();

            int j = 0;
            double Odds = 1.00;
            #region
            foreach (string s in ListR)
            {
                NumOrders Orders = new NumOrders();
                foreach (char c in s)
                {
                    switch (c)
                    {
                        case '0':
                            Odds *= ListOdd[j].I0;
                            break;
                        case '1':
                            Odds *= ListOdd[j].I1;
                            break;
                        case '2':
                            Odds *= ListOdd[j].I2;
                            break;
                        case '3':
                            Odds *= ListOdd[j].I3;
                            break;
                        case '4':
                            Odds *= ListOdd[j].I4;
                            break;
                        case '5':
                            Odds *= ListOdd[j].I5;
                            break;
                        case '6':
                            Odds *= ListOdd[j].I6;
                            break;
                        case '7':
                            Odds *= ListOdd[j].I7;
                            break;
                        default:
                            Odds *= 1;
                            break;
                    }
                    j++;
                }

                Orders.Nums = s;
                Orders.Odds = Odds * 2;
                ListNumOrder.Add(Orders);//ListNumOrder里放的是 投注号码和号码赔率

                j = 0;
                Odds = 1.00;
            }
            #endregion

            ListNumOrder.Sort(delegate(NumOrders order1, NumOrders order2) { return Comparer<double>.Default.Compare(order1.Odds, order2.Odds); });

            if (Types == 1)
            {
                int k = 1;
                for (int i = ListNumOrder.Count - 1; i >= 0; i--)
                {
                    if (k <= Min)
                    {
                        ListStr.Add(ListNumOrder[i].Nums);
                        k++;
                    }
                    else
                    {
                        break;
                    }
                }
            }
            else
            {
                for (int n = 0; n < ListNumOrder.Count; n++)
                {
                    if (n < Min)
                    {
                        ListStr.Add(ListNumOrder[n].Nums);
                    }
                    else
                    {
                        break;
                    }
                }
            }

            return ListStr;
        }
Пример #3
0
        // 指数命中
        List<string> GetIndex(int Min, int Max, string Types, List<string> ListR)
        {
            List<Netball> List = DataGrid1.ItemsSource as List<Netball>;

            List<List<NumOrders2>> listSort = new List<List<NumOrders2>>();
            List<SumIn> ListOdd = new List<SumIn>();
            for (int i = 0; i < List.Count; i++)
            {
                SumIn Odd = new SumIn();
                List<NumOrders2> Num = new List<NumOrders2>();

                Num.Add(new NumOrders2 { Nums = "0", Odds = Odd.I0 });
                Num.Add(new NumOrders2 { Nums = "1", Odds = Odd.I1 });
                Num.Add(new NumOrders2 { Nums = "2", Odds = Odd.I2 });
                Num.Add(new NumOrders2 { Nums = "3", Odds = Odd.I3 });
                Num.Add(new NumOrders2 { Nums = "4", Odds = Odd.I4 });
                Num.Add(new NumOrders2 { Nums = "5", Odds = Odd.I5 });
                Num.Add(new NumOrders2 { Nums = "6", Odds = Odd.I6 });
                Num.Add(new NumOrders2 { Nums = "7", Odds = Odd.I7 });
                Num.Sort(sortMethond);
                Odd.id = List[i].Id;
                ListOdd.Add(Odd);

                listSort.Add(Num);
            }

            List<string> ListStr = new List<string>();

            int j = 0;
            #region

            string intdex1 = string.Empty;
            string intdex2 = string.Empty;

            List<List<NumOrders2>> listSelect = new List<List<NumOrders2>>();
            foreach (string s in ListR)
            {
                j = 0;
                int count = 0;
                foreach (char c in s)
                {

                    switch (Types)
                    {
                        case "第一二指数命中":
                            intdex1 = listSort[j][0].Nums;
                            intdex2 = listSort[j][1].Nums;
                            break;

                        case "第三四指数命中":
                            intdex1 = listSort[j][2].Nums;
                            intdex2 = listSort[j][3].Nums;
                            break;

                        case "第五六指数命中":
                            intdex1 = listSort[j][4].Nums;
                            intdex2 = listSort[j][5].Nums;
                            break;

                        case "第七八指数命中":
                            intdex1 = listSort[j][6].Nums;
                            intdex2 = listSort[j][7].Nums;
                            break;
                    }

                    if (c == intdex1[0] || c == intdex2[0])
                    {
                        count++;
                    }

                    //累加
                    j++;
                }

                if (count >= Min && count <= Max)
                {
                    ListStr.Add(s);
                }

            }
            #endregion

            return ListStr;
        }
Пример #4
0
        //指数过滤的(指数和、指数积)
        List<string> GetIndexSumProduct(double Min, double Max, int Types, List<string> ListR)
        {
            List<Netball> List = DataGrid1.ItemsSource as List<Netball>;

            List<SumIn> ListOdd = new List<SumIn>();
            for (int i = 0; i < List.Count; i++)
            {
                //胜平负的赔率类
                SumIn Odd = new SumIn();

                Odd.I0 = List[i].In0;
                Odd.I1 = List[i].In1;
                Odd.I2 = List[i].In2;
                Odd.I3 = List[i].In3;
                Odd.I4 = List[i].In4;
                Odd.I5 = List[i].In5;
                Odd.I6 = List[i].In6;
                Odd.I7 = List[i].In7;

                Odd.id = List[i].Id;
                ListOdd.Add(Odd);
            }

            List<string> ListStr = new List<string>();

            int j = 0;
            double Odds = 0.00;
            #region
            foreach (string s in ListR)
            {
                if (Types == 1)//Types = 1指数和
                {
                    foreach (char c in s)
                    {
                        switch (c)
                        {
                            case '0':
                                Odds += ListOdd[j].I0;
                                break;
                            case '1':
                                Odds += ListOdd[j].I1;
                                break;
                            case '2':
                                Odds += ListOdd[j].I2;
                                break;
                            case '3':
                                Odds += ListOdd[j].I3;
                                break;
                            case '4':
                                Odds += ListOdd[j].I4;
                                break;
                            case '5':
                                Odds += ListOdd[j].I5;
                                break;
                            case '6':
                                Odds += ListOdd[j].I6;
                                break;
                            case '7':
                                Odds += ListOdd[j].I7;
                                break;
                            default:
                                Odds += 0.00;
                                break;
                        }
                        j++;
                    }
                }
                else//指数积
                {
                    Odds = 1.00;
                    foreach (char c in s)
                    {
                        switch (c)
                        {
                            case '0':
                                Odds *= ListOdd[j].I0;
                                break;
                            case '1':
                                Odds *= ListOdd[j].I1;
                                break;
                            case '2':
                                Odds *= ListOdd[j].I2;
                                break;
                            case '3':
                                Odds *= ListOdd[j].I3;
                                break;
                            case '4':
                                Odds *= ListOdd[j].I4;
                                break;
                            case '5':
                                Odds *= ListOdd[j].I5;
                                break;
                            case '6':
                                Odds *= ListOdd[j].I6;
                                break;
                            case '7':
                                Odds *= ListOdd[j].I7;
                                break;
                            default:
                                Odds *= 1.00;
                                break;
                        }
                        j++;
                    }
                }
                if (Types == 3)
                {
                    //奖金
                    Odds *= 2;
                }
                if (Odds >= Min && Odds <= Max)
                {
                    ListStr.Add(s);
                }

                j = 0;
                Odds = 0.00;
            }
            #endregion

            return ListStr;
        }