/// <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; } } }
/// <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); }
/// <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); }