/// <summary>
 /// 任选直选复式
 /// </summary>
 public static void rxzxfs(List <List <int> > b1, out int winTimes, List <int> openCode, int zhongCount)
 {
     winTimes = 0;
     for (int i = 0; i < openCode.Count; i++)
     {
         if (i >= b1.Count)
         {
             break;
         }
         //if (i<b1.Count-1&& b1[i] != null)
         if (b1[i] != null)
         {
             winTimes += b1[i].Contains(openCode[i]) ? 1 : 0;
         }
     }
     if (zhongCount > 1)
     {
         if (winTimes >= zhongCount)
         {
             winTimes = MyTool.CalculateCombination(zhongCount, winTimes);
         }
         else
         {
             winTimes = 0;
         }
     }
 }
예제 #2
0
        /// <summary>
        /// 任选算法复式
        /// </summary>
        /// <param name="b1">下注号</param>
        /// <param name="b2">开奖号</param>
        /// <param name="need">中几个号才算中</param>
        /// <returns></returns>
        static int rxPlay(List <int> b1, List <int> b2, int need, int choice)
        {
            int zhong = (from a in b1//匹配中奖号码
                         from b in b2
                         where a == b
                         select a).Count();

            if (zhong >= need)
            {
                if (choice > need)
                {
                    return(MyTool.CalculateCombination(choice - need, b1.Count - need));
                }
                return(MyTool.CalculateCombination(need, zhong));
            }
            return(0);
        }
예제 #3
0
        /// <summary>
        /// 胆拖玩法
        /// </summary>
        /// <param name="b1">下注号</param>
        /// <param name="b2">开奖号</param>
        /// <param name="need">中几个号才算中</param>
        /// <returns></returns>
        static int dtPlay(List <List <int> > b1, List <int> b2, int need, int choice)
        {
            var dt = (from a in b1[0]//匹配胆码
                      from b in b2
                      where a == b
                      select a).Count();

            if (choice > need)//玩法任选X>中Y时
            {
                if (dt == 5)
                {
                    return(MyTool.CalculateCombination(choice - b1[0].Count, b1[1].Count)); //胆码全中
                }
                return(rxPlay(b1[1], b2, need - dt, choice - b1[0].Count));                 //胆码未全中
            }
            //玩法任选X中X时
            if (dt == b1[0].Count)                                          //胆码全中则匹配拖码
            {
                return(rxPlay(b1[1], b2, need - dt, choice - b1[0].Count)); //胆码全中后相当于任选X中X
            }
            return(0);
        }