/// <summary> /// 后三组选包胆 /// </summary> public static void hszxbd(int BetPlayTypeCode, List <List <int> > b1, List <ZXLB> zxlbList, out int winTimes, out decimal BackMoney, List <int> openCode) { winTimes = 0; BackMoney = 0; var lb = LotteryPlayArithmetic.pd(openCode, out zxlbList); if (lb > 0) { winTimes = openCode.Contains(b1[0][0]) ? 1 : 0; BackMoney = winTimes * LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[lb]; } }
/// <summary> /// 直选组合 /// </summary> public static void Zxzh(int BetPlayTypeCode, List <List <int> > b1, out int winTimes, out decimal BackMoney, List <int> openCode) { winTimes = 0; BackMoney = 0; for (int i = 1; i <= openCode.Count; i++) { if (b1[openCode.Count - i].Contains(openCode[openCode.Count - i])) { winTimes++; BackMoney += LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[i]; } } }
/// <summary> /// 后三混合组选 /// </summary> public static void hshhzx(int BetPlayTypeCode, string betNum, List <ZXLB> zxlbList, out int winTimes, out decimal BackMoney, List <int> openCode) { winTimes = 0; BackMoney = 0; var lb = LotteryPlayArithmetic.pd(openCode, out zxlbList); if (lb > 0) { var str = ""; foreach (var item in openCode.OrderBy(n => n)) { str += item; } winTimes = betNum.Contains(str) ? 1 : 0; BackMoney = winTimes * LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[lb]; } }
public static decimal GetAgentBackMoney_SSC(int code, decimal percent) { var key = code + "," + percent; if (!AgentBackMoneyDic2_SSC.Keys.Contains(key)) //若不再字典则计算和添加 { var j = LotteryInfo_SSC.LpList().FirstOrDefault(n => n.BetPlayTypeCode == code); if (j == null) { return(0); } AgentBackMoneyDic2_SSC.Add(key, GetAgentBackMoney_SSC(j.PayBack, percent)); } return(AgentBackMoneyDic2_SSC[key]); }
public static List <LotteryPlay> GetLotteryPlayList(string LotteryType) { List <LotteryPlay> list = new List <LotteryPlay>(); switch (LotteryType) { case "ssc": list = LotteryInfo_SSC.LpList(); break; case "11x5": list = LotteryOpenTool_11x5.LpList(); break; case "dpc": list = LotteryOpenTool_3D.LpList(); break; } return(list); }
/// <summary> /// 后三特殊号 /// </summary> public static void hstsh(int BetPlayTypeCode, List <List <int> > b1, List <ZXLB> zxlbList, out int winTimes, out decimal BackMoney, List <int> openCode) { winTimes = 0; BackMoney = 0; var lb = LotteryPlayArithmetic.pd(openCode, out zxlbList); if (lb == 6 && b1[0].Contains(1)) { var list = openCode.OrderBy(n => n).ToList(); winTimes = 1; for (int i = 1; i < list.Count; i++) { if (list[i] - list[0] != 1) { winTimes = 0; break; } } } //顺子1 else if (lb == 3 && b1[0].Contains(2))//对子2 { winTimes = 1; } else if (lb == 0 && b1[0].Contains(3))//豹子3 { winTimes = 1; } switch (lb) { case 6: lb = 1; break; case 3: lb = 2; break; case 0: lb = 3; break; } BackMoney = winTimes * LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[lb]; }
/// <summary> /// 获取返点奖金 /// </summary> /// <param name="BetPlayTypeCode"></param> /// <param name="percent"></param> /// <returns></returns> public List <string> GetAgentBackMoneyByCode(int BetPlayTypeCode, decimal percent, string lotteryType) { List <string> list = new List <string>(); switch (lotteryType) { case "ssc": list.Add(AgentCalculateTool.GetAgentBackMoney_SSC(BetPlayTypeCode, percent) + "-0%"); list.Add(LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PayBack + "-" + percent + "%"); break; case "11x5": list.Add(AgentCalculateTool.GetAgentBackMoney_11x5(BetPlayTypeCode, percent) + "-0%"); list.Add(LotteryOpenTool_11x5.LpList()[BetPlayTypeCode - 1].PayBack + "-" + percent + "%"); break; case "dpc": list.Add(AgentCalculateTool.GetAgentBackMoney_3D(BetPlayTypeCode, percent) + "-0%"); list.Add(LotteryOpenTool_3D.LpList()[BetPlayTypeCode - 1].PayBack + "-" + percent + "%"); break; } return(list); }
/// <summary> /// 开奖判断 /// </summary> public static int isWin(int BetPlayTypeCode, string betNum, List <int> rxdswz, List <int> openCode, List <int> h2, List <int> q2, int dan, int da, out decimal BackMoney) { int winTimes = 0; List <ZXLB> zxlbList = null; BackMoney = 0; var b1 = new List <List <int> >();//投注号 if (!LotteryInfo_SSC.LpList().FirstOrDefault(n => n.BetPlayTypeCode == BetPlayTypeCode).LotteryPlayName.Contains("单式")) { b1 = betNum.Split('|').Select( n => n.Split(' ').Select(w => Convert.ToInt32(w)).ToList() ).ToList(); } switch (BetPlayTypeCode) { #region 定位胆 case 1: //定位胆 for (int i = 0; i < openCode.Count; i++) { winTimes += b1[i].Contains(openCode[i]) ? 1 : 0; } break; #endregion #region 星 case 2: //三星直选复式 winTimes = b1[0].Contains(openCode[0]) && b1[1].Contains(openCode[1]) && b1[2].Contains(openCode[2]) ? 1 : 0; break; case 3: //三星直选单式 winTimes = betNum.Contains(string.Format("{0}{1}{2}", openCode[0], openCode[1], openCode[2])) ? 1 : 0; break; case 4: //三星直选和值 winTimes = b1[0].Contains(openCode[0] + openCode[1] + openCode[2]) ? 1 : 0; break; case 5: //三星组三复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 3, 2, openCode); break; case 6: //三星组三单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 3, openCode); break; case 7: //三星组六复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 6, 3, openCode); break; case 8: //三星组六单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 6, openCode); break; case 9: //三星混合组选 LotteryPlayArithmetic.hshhzx(BetPlayTypeCode, betNum, zxlbList, out winTimes, out BackMoney, openCode); break; case 10: //三星组选和值 LotteryPlayArithmetic.hszxhz(BetPlayTypeCode, b1, zxlbList, out winTimes, out BackMoney, openCode); break; #endregion #region 二星 case 11: //前二直选复式 winTimes = b1[0].Contains(openCode[0]) && b1[1].Contains(openCode[1]) ? 1 : 0; break; case 12: //前二直选单式 winTimes = betNum.Contains(string.Format("{0}{1}", openCode[0], openCode[1])) ? 1 : 0; break; case 13: //后二直选复式 winTimes = b1[0].Contains(openCode[0]) && b1[1].Contains(openCode[1]) ? 1 : 0; break; case 14: //后二直选单式 winTimes = betNum.Contains(string.Format("{0}{1}", openCode[0], openCode[1])) ? 1 : 0; break; case 15: //前二组选复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 1, 2, q2); break; case 16: //前二组选单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 1, q2); break; case 17: //后二组选复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 1, 2, h2); break; case 18: //后二组选单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 1, h2); break; #endregion #region 定位 case 19: //一码不定位 winTimes = LotteryPlayArithmetic.bdw(b1, 1, openCode); break; case 20: //二码不定位 winTimes = LotteryPlayArithmetic.bdw(b1, 1, openCode); break; #endregion #region 大(6)小(5)单(1)双(0) case 21: //前二大小单双 winTimes = LotteryPlayArithmetic.pd_dxds(openCode[0], b1[0]) && LotteryPlayArithmetic.pd_dxds(openCode[1], b1[1]) ? 1 : 0; break; case 22: //后二大小单双 winTimes = LotteryPlayArithmetic.pd_dxds(openCode[1], b1[0]) && LotteryPlayArithmetic.pd_dxds(openCode[2], b1[1]) ? 1 : 0; break; #endregion } //不具有奖级玩法类型的中奖金额 if (LpList()[BetPlayTypeCode - 1].PrizeClass == null) { BackMoney = winTimes * LpList()[BetPlayTypeCode - 1].PayBack; } return(winTimes); }
/// <summary> /// 开奖判断 /// </summary> /// <param name="rxdswz">任选单式位置</param> /// <returns></returns> public static int isWin(int BetPlayTypeCode, string betNum, List <int> rxdswz, List <int> openCode, List <int> h4, List <int> h3, List <int> z3, List <int> q3, List <int> h2, List <int> q2, int dan, int da, int bjh, List <ZXLB> zxlbList, out decimal BackMoney) { if (TSHPlayId.Contains(BetPlayTypeCode)) { betNum = MyTool.ChangeBetNumTSH(betNum); } int winTimes = 0; BackMoney = 0; var b1 = new List <List <int> >();//投注号 //if (BetPlayTypeCode == 1) //{ //} //else if (!LotteryInfo_SSC.LpList().FirstOrDefault(n => n.BetPlayTypeCode == BetPlayTypeCode).LotteryPlayName.Contains("单式")) { //b1 = betNum.Split('|').Select( // n => n.Split(' ').Select(w => Convert.ToInt32(w)).ToList() // ).ToList(); if (betNum.IndexOf('|') > -1) { foreach (var item in betNum.Split('|')) { if (item.Length > 0) { b1.Add(item.Split(' ').Select(w => Convert.ToInt32(w)).ToList()); } else { b1.Add(null); } } } else { b1.Add(betNum.Split(' ').Select(w => Convert.ToInt32(w)).ToList()); } } switch (BetPlayTypeCode) { #region 定位胆 case 1: //定位胆 rxzxfs(b1, out winTimes, openCode, 1); //任选1中1 break; #endregion #region 五星 case 2: //五星直选复式 winTimes = b1[0].Contains(openCode[0]) && b1[1].Contains(openCode[1]) && b1[2].Contains(openCode[2]) && b1[3].Contains(openCode[3]) && b1[4].Contains(openCode[4]) ? 1 : 0; break; case 3: //五星直选单式 winTimes = betNum.Contains(string.Format("{0}{1}{2}{3}{4}", openCode[0], openCode[1], openCode[2], openCode[3], openCode[4])) ? 1 : 0; break; case 4: //五星直选组合 Zxzh(BetPlayTypeCode, b1, out winTimes, out BackMoney, openCode); break; case 5: //五星组选120(全不同号) if (bjh == 120) { winTimes = zxpd(zxlbList, 5, 0, 1, 0, b1[0], null) ? 1 : 0; } break; case 6: //五星组选60(一对) if (bjh == 60) { winTimes = zxpd(zxlbList, 2, 3, 2, 1, b1[0], b1[1]) ? 1 : 0; } break; case 7: //五星组选30(两对) if (bjh == 30) { winTimes = zxpd(zxlbList, 4, 1, 2, 1, b1[0], b1[1]) ? 1 : 0; } break; case 8: //五星组选20(三条) if (bjh == 20) { winTimes = zxpd(zxlbList, 3, 2, 3, 1, b1[0], b1[1]) ? 1 : 0; } break; case 9: //五星组选10(三带二) if (bjh == 10) { winTimes = zxpd(zxlbList, 3, 2, 3, 2, b1[0], b1[1]) ? 1 : 0; } break; case 10: //五星组选5(四条) if (bjh == 5) { winTimes = zxpd(zxlbList, 4, 1, 4, 1, b1[0], b1[1]) ? 1 : 0; } break; case 11: //五星一帆风顺 case 12: //五星好事成双 case 13: //五星三星报喜 case 14: //五星四季发财 winTimes = wxts(b1, zxlbList, BetPlayTypeCode - 10); break; #endregion #region 四星 case 15: //四星直选复式 winTimes = b1[0].Contains(openCode[1]) && b1[1].Contains(openCode[2]) && b1[2].Contains(openCode[3]) && b1[3].Contains(openCode[4]) ? 1 : 0; break; case 16: //四星直选单式 winTimes = betNum.Contains(string.Format("{0}{1}{2}{3}", openCode[1], openCode[2], openCode[3], openCode[4])) ? 1 : 0; break; case 17: //四星直选组合 Zxzh(BetPlayTypeCode, b1, out winTimes, out BackMoney, h4); break; case 18: //四星组选24(全不同号) if (LotteryPlayArithmetic.pd(h4, out zxlbList) == 24) { winTimes = zxpd(zxlbList, 4, 0, 1, 0, b1[0], null) ? 1 : 0; } break; case 19: //四星组选12(一对) if (LotteryPlayArithmetic.pd(h4, out zxlbList) == 12) { winTimes = zxpd(zxlbList, 2, 2, 2, 1, b1[0], b1[1]) ? 1 : 0; } break; case 20: //四星组选6(两对) if (LotteryPlayArithmetic.pd(h4, out zxlbList) == 6) { winTimes = zxpd(zxlbList, 4, 0, 2, 0, b1[0], null) ? 1 : 0; } break; case 21: //四星组选4(三条) if (LotteryPlayArithmetic.pd(h4, out zxlbList) == 4) { winTimes = zxpd(zxlbList, 3, 1, 3, 1, b1[0], b1[1]) ? 1 : 0; } break; #endregion #region 百家 case 22: //百家重复号 foreach (var item in b1[0]) { if (bjh >= 0) { switch (item) { case 120: //单号 if (bjh == item) { winTimes++; } BackMoney += LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[item]; break; case 60: //一对 if (bjh <= item) { winTimes++; } BackMoney += LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[item]; break; case 30: //两对 if (bjh <= item && bjh != 20) { winTimes++; } BackMoney += LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[item]; break; case 20: //三条 if (bjh <= item) { winTimes++; } BackMoney += LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[item]; break; case 10: //三带二 if (bjh <= item && bjh != 5) { winTimes++; } BackMoney += LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[item]; break; case 5: //四条 if (bjh <= item) { winTimes++; } BackMoney += LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[item]; break; } } } break; case 23: //百家顺子号 if (bjh == 120) { winTimes = 1; openCode = openCode.OrderBy(n => n).ToList(); for (int i = 1; i < openCode.Count; i++) { if (openCode[i] - openCode[i - 1] != 1) { winTimes = 0; break; } } } break; case 24: //百家单双号 if (b1[0].Contains(dan)) { winTimes = 1; BackMoney = LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[dan]; } break; case 25: //百家大小号 if (b1[0].Contains(da)) { winTimes = 1; BackMoney = LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[da]; } break; #endregion #region 后三 case 26: //后三直选复式 winTimes = b1[0].Contains(openCode[2]) && b1[1].Contains(openCode[3]) && b1[2].Contains(openCode[4]) ? 1 : 0; break; case 27: //后三直选单式 winTimes = betNum.Contains(string.Format("{0}{1}{2}", openCode[2], openCode[3], openCode[4])) ? 1 : 0; break; case 28: //后三直选组合 Zxzh(BetPlayTypeCode, b1, out winTimes, out BackMoney, h3); break; case 29: //后三直选和值 winTimes = b1[0].Contains(openCode[2] + openCode[3] + openCode[4]) ? 1 : 0; break; case 30: //后三直选跨度 winTimes = b1[0].Contains(h3.Max() - h3.Min()) ? 1 : 0; break; case 31: //后三组三复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 3, 2, h3); break; case 32: //后三组三单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 3, h3); break; case 33: //后三组六复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 6, 3, h3); break; case 34: //后三组六单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 6, h3); break; case 35: //后三混合组选 LotteryPlayArithmetic.hshhzx(BetPlayTypeCode, betNum, zxlbList, out winTimes, out BackMoney, h3); break; case 36: //后三组选和值 LotteryPlayArithmetic.hszxhz(BetPlayTypeCode, b1, zxlbList, out winTimes, out BackMoney, h3); break; case 37: //后三组选包胆 hszxbd(BetPlayTypeCode, b1, zxlbList, out winTimes, out BackMoney, h3); break; case 38: //后三和值尾数 winTimes = b1[0].Contains((openCode[2] + openCode[3] + openCode[4]) % 10) ? 1 : 0; break; case 39: //后三特殊号 hstsh(BetPlayTypeCode, b1, zxlbList, out winTimes, out BackMoney, h3); break; #endregion #region 中三 case 40: //中三直选复式 winTimes = b1[0].Contains(openCode[1]) && b1[1].Contains(openCode[2]) && b1[2].Contains(openCode[3]) ? 1 : 0; break; case 41: //中三直选单式 winTimes = betNum.Contains(string.Format("{0}{1}{2}", openCode[1], openCode[2], openCode[3])) ? 1 : 0; break; case 42: //中三直选组合 Zxzh(BetPlayTypeCode, b1, out winTimes, out BackMoney, z3); break; case 43: //中三直选和值 winTimes = b1[0].Contains(openCode[1] + openCode[2] + openCode[3]) ? 1 : 0; break; case 44: //中三直选跨度 winTimes = b1[0].Contains(z3.Max() - z3.Min()) ? 1 : 0; break; case 45: //中三组三复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 3, 2, z3); break; case 46: //中三组三单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 3, z3); break; case 47: //中三组六复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 6, 3, z3); break; case 48: //中三组六单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 6, z3); break; case 49: //中三混合组选 LotteryPlayArithmetic.hshhzx(BetPlayTypeCode, betNum, zxlbList, out winTimes, out BackMoney, z3); break; case 50: //中三组选和值 LotteryPlayArithmetic.hszxhz(BetPlayTypeCode, b1, zxlbList, out winTimes, out BackMoney, z3); break; case 51: //中三组选包胆 hszxbd(BetPlayTypeCode, b1, zxlbList, out winTimes, out BackMoney, z3); break; case 52: //中三和值尾数 winTimes = b1[0].Contains((openCode[1] + openCode[2] + openCode[3]) % 10) ? 1 : 0; break; case 53: //中三特殊号 hstsh(BetPlayTypeCode, b1, zxlbList, out winTimes, out BackMoney, z3); break; #endregion #region 前三 case 54: //前三直选复式 winTimes = b1[0].Contains(openCode[0]) && b1[1].Contains(openCode[1]) && b1[2].Contains(openCode[2]) ? 1 : 0; break; case 55: //前三直选单式 winTimes = betNum.Contains(string.Format("{0}{1}{2}", openCode[0], openCode[1], openCode[2])) ? 1 : 0; break; case 56: //前三直选组合 Zxzh(BetPlayTypeCode, b1, out winTimes, out BackMoney, q3); break; case 57: //前三直选和值 winTimes = b1[0].Contains(openCode[0] + openCode[1] + openCode[2]) ? 1 : 0; break; case 58: //前三直选跨度 winTimes = b1[0].Contains(q3.Max() - q3.Min()) ? 1 : 0; break; case 59: //前三组三复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 3, 2, q3); break; case 60: //前三组三单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 3, q3); break; case 61: //前三组六复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 6, 3, q3); break; case 62: //前三组六单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 6, q3); break; case 63: //前三混合组选 LotteryPlayArithmetic.hshhzx(BetPlayTypeCode, betNum, zxlbList, out winTimes, out BackMoney, q3); break; case 64: //前三组选和值 LotteryPlayArithmetic.hszxhz(BetPlayTypeCode, b1, zxlbList, out winTimes, out BackMoney, q3); break; case 65: //前三组选包胆 hszxbd(BetPlayTypeCode, b1, zxlbList, out winTimes, out BackMoney, q3); break; case 66: //前三和值尾数 winTimes = b1[0].Contains((openCode[0] + openCode[1] + openCode[2]) % 10) ? 1 : 0; break; case 67: //前三特殊号 hstsh(BetPlayTypeCode, b1, zxlbList, out winTimes, out BackMoney, q3); break; #endregion #region 后二 case 68: //后二直选复式 winTimes = b1[0].Contains(openCode[3]) && b1[1].Contains(openCode[4]) ? 1 : 0; break; case 69: //后二直选单式 winTimes = betNum.Contains(string.Format("{0}{1}", openCode[3], openCode[4])) ? 1 : 0; break; case 70: //后二直选和值 winTimes = b1[0].Contains(openCode[3] + openCode[4]) ? 1 : 0; break; case 71: //后二直选跨度 winTimes = b1[0].Contains(Math.Abs(openCode[3] - openCode[4])) ? 1 : 0; break; case 72: //后二组选复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 1, 2, h2); break; case 73: //后二组选单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 1, h2); break; case 74: //后二组选和值 h2zxhz(b1, out winTimes, h2); break; case 75: //后二组选包胆 h2zxbd(b1, out winTimes, h2); break; #endregion #region 前二 case 76: //前二直选复式 winTimes = b1[0].Contains(openCode[0]) && b1[1].Contains(openCode[1]) ? 1 : 0; break; case 77: //前二直选单式 winTimes = betNum.Contains(string.Format("{0}{1}", openCode[0], openCode[1])) ? 1 : 0; break; case 78: //前二直选和值 winTimes = b1[0].Contains(openCode[0] + openCode[1]) ? 1 : 0; break; case 79: //前二直选跨度 winTimes = b1[0].Contains(Math.Abs(openCode[0] - openCode[1])) ? 1 : 0; break; case 80: //前二组选复式 winTimes = LotteryPlayArithmetic.zxfs(b1, zxlbList, 1, 2, q2); break; case 81: //前二组选单式 winTimes = LotteryPlayArithmetic.zxds(betNum, zxlbList, 1, q2); break; case 82: //前二组选和值 h2zxhz(b1, out winTimes, q2); break; case 83: //前二组选包胆 h2zxbd(b1, out winTimes, q2); break; #endregion #region 定位 case 84: //后三一码 winTimes = LotteryPlayArithmetic.bdw(b1, 1, h3); break; case 85: //前三一码 winTimes = LotteryPlayArithmetic.bdw(b1, 1, q3); break; case 86: //后三二码 winTimes = LotteryPlayArithmetic.bdw(b1, 2, h3); break; case 87: //前三二码 winTimes = LotteryPlayArithmetic.bdw(b1, 2, q3); break; case 88: //四星一码 winTimes = LotteryPlayArithmetic.bdw(b1, 1, h4); break; case 89: //四星二码 winTimes = LotteryPlayArithmetic.bdw(b1, 2, h4); break; case 90: //五星二码 winTimes = LotteryPlayArithmetic.bdw(b1, 2, openCode); break; case 91: //五星三码 winTimes = LotteryPlayArithmetic.bdw(b1, 3, openCode); break; #endregion #region 大(6)小(5)单(1)双(0) case 92: //前二大小单双 winTimes = LotteryPlayArithmetic.pd_dxds(openCode[0], b1[0]) && LotteryPlayArithmetic.pd_dxds(openCode[1], b1[1]) ? 1 : 0; break; case 93: //后二大小单双 winTimes = LotteryPlayArithmetic.pd_dxds(openCode[3], b1[0]) && LotteryPlayArithmetic.pd_dxds(openCode[4], b1[1]) ? 1 : 0; break; case 94: //前三大小单双 winTimes = LotteryPlayArithmetic.pd_dxds(openCode[0], b1[0]) && LotteryPlayArithmetic.pd_dxds(openCode[1], b1[1]) && LotteryPlayArithmetic.pd_dxds(openCode[2], b1[2]) ? 1 : 0; break; case 95: //后三大小单双 winTimes = LotteryPlayArithmetic.pd_dxds(openCode[2], b1[0]) && LotteryPlayArithmetic.pd_dxds(openCode[3], b1[1]) && LotteryPlayArithmetic.pd_dxds(openCode[4], b1[2]) ? 1 : 0; break; #endregion #region 任选二 case 96: //任选二直选复式 rxzxfs(b1, out winTimes, openCode, 2); break; case 97: //任选二直选单式 rxzxds(betNum, rxdswz, out winTimes, openCode, 2); break; case 98: //任选二直选和值 foreach (var item in pl_rx(rxdswz, 2)) { winTimes += b1[0].Contains(openCode[item[0]] + openCode[item[1]]) ? 1 : 0; } break; case 99: //任选二组选复式 foreach (var item in pl_rx(rxdswz, 2)) { winTimes += (openCode[item[0]] != openCode[item[1]]) && b1[0].Contains(openCode[item[0]]) && b1[0].Contains(openCode[item[1]]) ? 1 : 0; } break; case 100: //任选二组选单式 foreach (var item in pl_rx(rxdswz, 2)) { var rxzhCode = ""; winTimes += (pd_rxzh(rxzhCode, openCode[item[0]], openCode[item[1]]) == 1) && betNum.Contains(rxzhCode) ? 1 : 0; } break; case 101: //任选二组选和值 foreach (var item in pl_rx(rxdswz, 2)) { winTimes += (openCode[item[0]] != openCode[item[1]]) && b1[0].Contains(openCode[item[0]] + openCode[item[1]]) ? 1 : 0; } break; #endregion #region 任选三 case 102: //任选三直选复式 rxzxfs(b1, out winTimes, openCode, 3); break; case 103: //任选三直选单式 rxzxds(betNum, rxdswz, out winTimes, openCode, 3); break; case 104: //任选三直选和值 foreach (var item in pl_rx(rxdswz, 3)) { winTimes += b1[0].Contains(openCode[item[0]] + openCode[item[1]] + openCode[item[2]]) ? 1 : 0; } break; case 105: //任选三组三复式 foreach (var item in pl_rx(rxdswz, 3)) { winTimes += (pd_rxzh("", openCode[item[0]], openCode[item[1]], openCode[item[2]]) == 3) && b1[0].Contains(openCode[item[0]]) && b1[0].Contains(openCode[item[1]]) && b1[0].Contains(openCode[item[2]]) ? 1 : 0; } break; case 106: //任选三组三单式 foreach (var item in pl_rx(rxdswz, 3)) { var rxzhCode = ""; winTimes += (pd_rxzh(rxzhCode, openCode[item[0]], openCode[item[1]], openCode[item[2]]) == 3) && betNum.Contains(rxzhCode) ? 1 : 0; } break; case 107: //任选三组六复式 foreach (var item in pl_rx(rxdswz, 3)) { winTimes += (pd_rxzh("", openCode[item[0]], openCode[item[1]], openCode[item[2]]) == 6) && b1[0].Contains(openCode[item[0]]) && b1[0].Contains(openCode[item[1]]) && b1[0].Contains(openCode[item[2]]) ? 1 : 0; } break; case 108: //任选三组六单式 foreach (var item in pl_rx(rxdswz, 3)) { var rxzhCode = ""; winTimes += (pd_rxzh(rxzhCode, openCode[item[0]], openCode[item[1]], openCode[item[2]]) == 6) && betNum.Contains(rxzhCode) ? 1 : 0; } break; case 109: //任选三混合组选 foreach (var item in pl_rx(rxdswz, 3)) { var rxzhCode = ""; var lb1 = pd_rxzh(rxzhCode, openCode[item[0]], openCode[item[1]], openCode[item[2]]); if (lb1 > 0) { winTimes += betNum.Contains(rxzhCode) ? 1 : 0; BackMoney += LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[lb1]; } } break; case 110: //任选三组选和值 foreach (var item in pl_rx(rxdswz, 3)) { var lb1 = pd_rxzh("", openCode[item[0]], openCode[item[1]], openCode[item[2]]); if (lb1 > 0) { winTimes += b1[0].Contains(openCode[item[0]] + openCode[item[1]] + openCode[item[2]]) ? 1 : 0; BackMoney += LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass[lb1]; } } break; #endregion #region 任选四 case 111: //任选四直选复式 rxzxfs(b1, out winTimes, openCode, 4); break; case 112: //任选四直选单式 rxzxds(betNum, rxdswz, out winTimes, openCode, 4); break; case 113: //任选四组选24 rszx(b1, rxdswz, openCode, zxlbList, 24, out winTimes); break; case 114: //任选四组选12 rszx(b1, rxdswz, openCode, zxlbList, 12, out winTimes); break; case 115: //任选四组选6 rszx(b1, rxdswz, openCode, zxlbList, 6, out winTimes); break; case 116: //任选四组选4 rszx(b1, rxdswz, openCode, zxlbList, 4, out winTimes); break; #endregion } //不具有奖级玩法类型的中奖金额 if (LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PrizeClass == null) { BackMoney = winTimes * LotteryInfo_SSC.LpList()[BetPlayTypeCode - 1].PayBack; } return(winTimes); }