/// <summary> /// 添加一个投注号码到列表 /// </summary> /// <param name="gameTypeName">玩法</param> /// <param name="anteNumber">投注号码</param> /// <param name="amount">倍数</param> public void AddAntecode(string gameTypeName, string anteNumber, int amount = 1) { var antecode = new Antecode() { GameType = gameTypeName, AnteNumber = anteNumber, }; AntecodeList.Add(antecode); }
/// <summary> /// 解析一注投注号码,如为复式且必须拆为单式的情况,以|分隔 /// </summary> /// <param name="ante"></param> /// <returns></returns> public static string ToAnteString_CQCenter(this Antecode ante) { if (ante.GameCode.Equals("CQSSC", StringComparison.OrdinalIgnoreCase)) { switch (ante.GameType.ToUpper()) { case "1XDX": return(ante.AnteNumber.Replace("-,-,-,-,", "")); case "2XDX": return(ante.AnteNumber.Replace("-,-,-,", "").Replace(",", ":")); case "3XDX": return(ante.AnteNumber.Replace("-,-,", "").Replace(",", ":")); case "5XDX": case "2XZXDS": case "2XBAODAN": case "ZX3DS": case "ZX3FS": case "ZX6": case "5XTX": case "DXDS": return(ante.AnteNumber.Replace(",", ":")); default: break; } return(ante.AnteNumber); } if (ante.GameCode.Equals("FC3D", StringComparison.OrdinalIgnoreCase)) { return(ante.AnteNumber.Replace(",", ":")); } if (ante.GameCode.Equals("SSQ", StringComparison.OrdinalIgnoreCase)) { return(ante.AnteNumber.Replace("|", ":")); } return(ante.AnteNumber); }
public static string ToAnteString_HuaYang(this Antecode ante, string gameCode) { if (gameCode.Equals("SSQ", StringComparison.OrdinalIgnoreCase) && ante.GameType.Equals("DT", StringComparison.OrdinalIgnoreCase)) { var tmp = ante.AnteNumber.Split('|'); if (tmp.Length != 3) { throw new ArgumentException("双色球胆拖玩法号码错误 - " + ante.AnteNumber); } var dan = tmp[0]; var tuo = tmp[1]; var lan = tmp[2]; return(string.Format("{0}*{1}|{2}", dan, tuo, lan).Replace(",", "")); } else if (gameCode.Equals("SSQ", StringComparison.OrdinalIgnoreCase) && (ante.GameType.Equals("DS", StringComparison.OrdinalIgnoreCase) || ante.GameType.Equals("FS", StringComparison.OrdinalIgnoreCase))) { return(ante.AnteNumber.Replace(",", "*")); } else if (gameCode.Equals("DLT", StringComparison.OrdinalIgnoreCase) && (ante.GameType.Equals("DS", StringComparison.OrdinalIgnoreCase) || ante.GameType.Equals("FS", StringComparison.OrdinalIgnoreCase))) { return(ante.AnteNumber.Replace(",", "*")); } else if (gameCode.Equals("DLT", StringComparison.OrdinalIgnoreCase) && ante.GameType.Equals("DT", StringComparison.OrdinalIgnoreCase)) { //05,06,17,18|01,02,13,14|06|01,05 var tmp = ante.AnteNumber.Split('|'); if (tmp.Length != 4) { throw new ArgumentException("大乐透胆拖玩法号码错误 - " + ante.AnteNumber); } var hongdan = tmp[0]; var hongtuo = tmp[1]; var landan = tmp[2]; var lantuo = tmp[3]; return(string.Format("{0}*{1}|{2}*{3}", hongdan, hongtuo, landan, lantuo).Replace(",", "")); } else if (gameCode.Equals("CTZQ", StringComparison.OrdinalIgnoreCase) && ante.GameType.Equals("TR9", StringComparison.OrdinalIgnoreCase)) { return(ante.AnteNumber.Replace("*", "#").Replace(",", "*")); } #region CQSSC else if (gameCode.Equals("CQSSC", StringComparison.OrdinalIgnoreCase)) { char[] array; var touzhu = string.Empty; switch (ante.GameType.ToLower()) { case "1xdx": ante.AnteNumber = ante.AnteNumber.Replace("-,-,-,-,", ""); array = ante.AnteNumber.ToArray(); touzhu = string.Join(";", array); return(touzhu); case "2xdx": ante.AnteNumber = ante.AnteNumber.Replace("-,-,-,", ""); if (ante.AnteNumber.Length == 3) { return(ante.AnteNumber.Replace(",", "")); } else if (ante.AnteNumber.Length > 3) { } return(ante.AnteNumber); case "3xdx": ante.AnteNumber = ante.AnteNumber.Replace("-,-,", ""); if (ante.AnteNumber.Length == 5) { return(ante.AnteNumber.Replace(",", "")); } return(ante.AnteNumber); case "5xdx": if (ante.AnteNumber.Length == 9) { return(ante.AnteNumber.Replace(",", "")); } else if (ante.AnteNumber.Length > 9) { return(ante.AnteNumber); } return(ante.AnteNumber); case "2xzxfs": case "2xbaodan": case "3xzxzh": case "zx3ds": case "zx3fs": case "3xzxhz": case "3xbaodan": case "2xzxfw": case "5xtx": case "zx6": return(ante.AnteNumber.Replace(",", "")); case "2xhz": case "3xhz": return(ante.AnteNumber); case "dxds": return(ante.AnteNumber.Replace("5", "3").Replace(",", "")); default: break; } return(ante.AnteNumber); } #endregion #region JX11X5 else if (gameCode.Equals("JX11X5", StringComparison.OrdinalIgnoreCase)) { switch (ante.GameType.ToLower()) { case "rx2": case "RX3": case "RX4": case "RX5": case "RX6": case "RX7": case "RX8": case "q2zux": case "q3zux": return(ante.AnteNumber); case "q2zhix": if (ante.AnteNumber.Length == "04|10".Length) { return(ante.AnteNumber.Replace(",", "|")); } else { ante.AnteNumber = ante.AnteNumber.Replace(",", "|"); ante.AnteNumber = ante.AnteNumber.Replace(" ", ","); return(ante.AnteNumber); } case "q3zhix": if (ante.AnteNumber.Length == "05|08|11".Length) { return(ante.AnteNumber.Replace(",", "|")); } else { ante.AnteNumber = ante.AnteNumber.Replace(",", "|"); ante.AnteNumber = ante.AnteNumber.Replace(" ", ","); return(ante.AnteNumber); } default: break; } return(ante.AnteNumber); } #endregion else if (gameCode.Equals("FC3D", StringComparison.OrdinalIgnoreCase)) { switch (ante.GameType.ToLower()) { case "ds": case "fs": case "hz": case "zx3fs": case "zx3ds": case "zx6": return(ante.AnteNumber.Replace(",", "*")); default: break; } return(ante.AnteNumber); } else if (gameCode.Equals("PL3", StringComparison.OrdinalIgnoreCase)) { switch (ante.GameType.ToLower()) { case "ds": case "fs": case "hz": case "zx3fs": case "zx3ds": case "zx6": return(ante.AnteNumber.Replace(",", "*")); default: break; } return(ante.AnteNumber); } else { return(ante.AnteNumber); } //todo: }
public static string ToAnteString_LiangCai(this Antecode ante, string gameCode, string gameType) { if (gameCode.Equals("SSQ", StringComparison.OrdinalIgnoreCase) && ante.GameType.Equals("DS", StringComparison.OrdinalIgnoreCase)) { return(ante.AnteNumber.Replace("|", "-").Replace(",", " ")); } if (gameCode.Equals("SSQ", StringComparison.OrdinalIgnoreCase) && ante.GameType.Equals("FS", StringComparison.OrdinalIgnoreCase)) { var hong = ante.AnteNumber.Split('|')[0]; var lan = ante.AnteNumber.Split('|')[1]; if (lan.Length > 35) { var lan1 = ante.AnteNumber.Split('|')[1].Substring(0, 17); var lan2 = ante.AnteNumber.Split('|')[1].Substring(18); return(hong.Replace(",", " ") + "-" + lan1.Replace(",", " ") + ";" + hong.Replace(",", " ") + "-" + lan2.Replace(",", " ")); } return(ante.AnteNumber.Replace("|", "-").Replace(",", " ")); } if (gameCode.Equals("SSQ", StringComparison.OrdinalIgnoreCase) && ante.GameType.Equals("DT", StringComparison.OrdinalIgnoreCase)) { var tmp = ante.AnteNumber.Split('|'); if (tmp.Length != 3) { throw new LogicException("大乐透胆拖玩法号码错误 - " + ante.AnteNumber); } var hongdan = tmp[0]; var hongtuo = tmp[1]; var lan = tmp[2]; if (lan.Length > 35) { var lan1 = lan.Substring(0, 17); var lan2 = lan.Substring(18); return(hongdan.Replace(",", " ") + "$" + hongtuo.Replace(",", " ") + "-" + lan1.Replace(",", " ") + ";" + hongdan.Replace(",", " ") + "$" + hongtuo.Replace(",", " ") + "-" + lan2.Replace(",", " ")); } return(string.Format("{0}${1}-{2}", hongdan.Replace(",", " "), hongtuo.Replace(",", " "), lan.Replace(",", " "))); } if (gameCode.Equals("DLT", StringComparison.OrdinalIgnoreCase) && (ante.GameType.Equals("DS", StringComparison.OrdinalIgnoreCase) || ante.GameType.Equals("FS", StringComparison.OrdinalIgnoreCase))) { return(ante.AnteNumber.Replace("|", "-").Replace(",", " ")); } if (gameCode.Equals("DLT", StringComparison.OrdinalIgnoreCase) && ante.GameType.Equals("DT", StringComparison.OrdinalIgnoreCase)) { var tmp = ante.AnteNumber.Replace(",", " ").Split('|'); if (tmp.Length != 4) { throw new LogicException("大乐透胆拖玩法号码错误 - " + ante.AnteNumber); } //05,06,07,08|01,02,03,04,09|01|02,03 //(05,06,07,08),01,02,03,04,09+(01),02,03 var hongdan = tmp[0]; var hongtuo = tmp[1]; var landan = tmp[2]; var lantuo = tmp[3]; return(string.Format("{0}${1}-{2}${3}", hongdan, hongtuo, landan, lantuo)); } if (gameCode.Equals("CTZQ", StringComparison.OrdinalIgnoreCase)) { switch (ante.GameType.ToUpper()) { case "T14C": if (ante.AnteNumber.Replace(",", "").Length > 38) { throw new LogicException("传统足球14场玩法号码错误 - " + ante.AnteNumber); } return(ante.AnteNumber); case "TR9": if (ante.AnteNumber.Replace(",", "").Length > 27) { throw new LogicException("传统足球任选9场玩法号码错误 - " + ante.AnteNumber); } return(ante.AnteNumber.Replace("*", "#")); case "T6BQC": if (ante.AnteNumber.Replace(",", "").Length > 32) { throw new LogicException("传统足球6场半全场玩法号码错误 - " + ante.AnteNumber); } return(ante.AnteNumber); case "T4CJQ": if (ante.AnteNumber.Replace(",", "").Length > 32) { throw new LogicException("传统足球4场进球玩法号码错误 - " + ante.AnteNumber); } return(ante.AnteNumber); default: return(ante.AnteNumber); } } #region 重庆时时彩 if (gameCode.Equals("CQSSC", StringComparison.OrdinalIgnoreCase)) { var touzhu = string.Empty; switch (ante.GameType.ToLower()) { case "1xdx": var dx1xL = ante.AnteNumber.Replace("-,-,-,-,", ""); if (dx1xL.Length > 5) { return(ConvertGameType(gameCode, gameType) + "|" + "-,-,-,-," + dx1xL.Substring(0, 5) + ";" + ConvertGameType(gameCode, gameType) + "|" + "-,-,-,-," + dx1xL.Substring(5)); } return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); case "2xdx": var dx2xL = ante.AnteNumber.Replace("-,-,-,", "").Split(','); if (dx2xL[0].Length + dx2xL[1].Length > 12) { var list = new List <char[]>(); list.Add(dx2xL[0].ToArray()); list.Add(dx2xL[1].ToArray()); var strL = new List <string>(); var c = new ArrayCombination(); c.Calculate(list.ToArray(), a => { strL.Add(ConvertGameType(gameCode, gameType) + "|" + "-,-,-," + string.Join(",", a)); }); return(string.Join(";", strL)); } return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); case "3xdx": var dx3xL = ante.AnteNumber.Replace("-,-,", "").Split(','); if (dx3xL[0].Length + dx3xL[1].Length + dx3xL[2].Length > 24) { var list = new List <char[]>(); list.Add(dx3xL[0].ToArray()); list.Add(dx3xL[1].ToArray()); list.Add(dx3xL[2].ToArray()); var strL = new List <string>(); var c = new ArrayCombination(); c.Calculate(list.ToArray(), a => { strL.Add(ConvertGameType(gameCode, gameType) + "|" + "-,-," + string.Join(",", a)); }); return(string.Join(";", strL)); } return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); case "5xdx": var dx5xL = ante.AnteNumber.Split(','); if (ante.AnteNumber.Replace(",", "").Length > 45) { var list = new List <char[]>(); list.Add(dx5xL[0].ToArray()); list.Add(dx5xL[1].ToArray()); list.Add(dx5xL[2].ToArray()); list.Add(dx5xL[3].ToArray()); list.Add(dx5xL[4].ToArray()); var strL = new List <string>(); var c = new ArrayCombination(); c.Calculate(list.ToArray(), a => { strL.Add(ConvertGameType(gameCode, gameType) + "|" + string.Join(",", a)); }); return(string.Join(";", strL)); } return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); case "2xzxfs": return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber.Replace(",", "")); case "5xtx": return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); case "dxds": return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber.Replace(",", "")); default: return(ante.AnteNumber); } } #endregion #region 江西11选5 if (gameCode.Equals("JX11X5", StringComparison.OrdinalIgnoreCase)) { switch (ante.GameType.ToLower()) { case "rx2": case "rx3": case "rx4": case "rx5": case "rx6": case "rx7": case "q2zux": case "q3zux": return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber.Replace(",", " ")); case "q2zhix": if (ante.AnteNumber.Replace(",", " ").Split(' ').Length > 11) { var q2zhix = ante.AnteNumber.Replace(" ", "-").Split(','); var list = new List <string[]>(); list.Add(q2zhix[0].Split('-')); list.Add(q2zhix[1].Split('-')); var strL = new List <string>(); var c = new ArrayCombination(); c.Calculate(list.ToArray(), a => { if (a[0] != a[1]) { strL.Add(ConvertGameType(gameCode, gameType) + "|" + string.Join(",", a)); } }); return(string.Join(";", strL)); } return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); case "q3zhix": if (ante.AnteNumber.Replace(",", " ").Split(' ').Length > 3) { var q3zhix = ante.AnteNumber.Replace(" ", "-").Split(','); var list = new List <string[]>(); list.Add(q3zhix[0].Split('-')); list.Add(q3zhix[1].Split('-')); list.Add(q3zhix[2].Split('-')); var strL = new List <string>(); var c = new ArrayCombination(); c.Calculate(list.ToArray(), a => { if (a.Distinct().ToArray().Length == 3) { strL.Add(ConvertGameType(gameCode, gameType) + "|" + string.Join(",", a)); } }); return(string.Join(";", strL)); } return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); default: return(ante.AnteNumber); } } #endregion #region 排列三、福彩3D if (gameCode.Equals("PL3", StringComparison.OrdinalIgnoreCase) || gameCode.Equals("FC3D", StringComparison.OrdinalIgnoreCase)) { switch (ante.GameType.ToLower()) { case "ds": case "fs": var pl = ante.AnteNumber.Replace(",", ""); if (pl.Length > 24) { var pl3fs = ante.AnteNumber.Split(','); var list = new List <char[]>(); list.Add(pl3fs[0].ToArray()); list.Add(pl3fs[1].ToArray()); list.Add(pl3fs[2].ToArray()); var strL = new List <string>(); var c = new ArrayCombination(); c.Calculate(list.ToArray(), a => { strL.Add(ConvertGameType(gameCode, gameType) + "|" + string.Join(",", a)); }); return(string.Join(";", strL)); } return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); case "hz": return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); case "zx3ds": return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); case "zx6": if (ante.AnteNumber.Replace(",", "").Length > 3) { var num = ante.AnteNumber.Replace(",", ""); var c = new Combination(); var strL = new List <string>(); c.Calculate(num.ToArray(), 3, a => { strL.Add(ConvertGameType(gameCode, gameType) + "|" + string.Join(",", a)); }); return(string.Join(";", strL)); } return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber); case "zx3fs": return(ConvertGameType(gameCode, gameType) + "|" + ante.AnteNumber.Replace(",", "")); default: return(ante.AnteNumber); } } #endregion return(ante.AnteNumber); }
public static string ToAnteString_Shop(this Antecode ante, string gameCode) { if (gameCode.Equals("DLT", StringComparison.OrdinalIgnoreCase) && ante.GameType.Equals("DS", StringComparison.OrdinalIgnoreCase)) { return(string.Format("{0}^", ante.AnteNumber.Replace(",", ""))); } else if (gameCode.Equals("DLT", StringComparison.OrdinalIgnoreCase) && ante.GameType.Equals("FS", StringComparison.OrdinalIgnoreCase)) { return(string.Format("*{0}^", ante.AnteNumber.Replace(",", "").Replace("|", "|*"))); } else if (gameCode.Equals("DLT", StringComparison.OrdinalIgnoreCase) && ante.GameType.Equals("DT", StringComparison.OrdinalIgnoreCase)) { //05,06,17,18|01,02,13,14|06|01,05 //102035*182328|07*0102030405060809101112^ var tmp = ante.AnteNumber.Split('|'); if (tmp.Length != 4) { throw new ArgumentException("大乐透胆拖玩法号码错误 - " + ante.AnteNumber); } var hongdan = tmp[0]; var hongtuo = tmp[1]; var landan = tmp[2]; var lantuo = tmp[3]; return(string.Format("{0}*{1}|{2}*{3}^", hongdan, hongtuo, landan, lantuo).Replace(",", "")); } else if (gameCode.Equals("CTZQ", StringComparison.OrdinalIgnoreCase)) { if (ante.GameType.Equals("TR9", StringComparison.OrdinalIgnoreCase)) { return(ante.AnteNumber.Replace("*", "4").Replace(",", "*") + "^"); } else { return(string.Format("{0}^", ante.AnteNumber.Replace(",", "*"))); } } else if (gameCode.Equals("PL3", StringComparison.OrdinalIgnoreCase)) { switch (ante.GameType.ToLower()) { case "ds": case "fs": case "zx3ds": case "zx6ds": return(ante.AnteNumber.Replace(",", "*") + "^"); case "zx6": //return ante.AnteNumber.Length > 5 ? string.Format("**{0}^", ante.AnteNumber.Replace(",", "")) : ante.AnteNumber.Replace(",", "*") + "^";// ante.AnteNumber.Replace(",", "*") + "^"; return(string.Format("**{0}^", ante.AnteNumber.Replace(",", ""))); case "hz": case "zxhz": return(string.Format("**{0}^", ante.AnteNumber.Length == 1 ? "0" + ante.AnteNumber : ante.AnteNumber)); case "zx3fs": return(string.Format("**{0}^", ante.AnteNumber.Replace(",", ""))); default: break; } return(ante.AnteNumber); } #region JX11X5 //else if (gameCode.Equals("JX11X5", StringComparison.OrdinalIgnoreCase)) //{ // switch (ante.GameType.ToLower()) // { // case "rx2": // case "RX3": // case "RX4": // case "RX5": // case "RX6": // case "RX7": // case "RX8": // case "q2zux": // case "q3zux": // return ante.AnteNumber; // case "q2zhix": // if (ante.AnteNumber.Length == "04|10".Length) // { // return ante.AnteNumber.Replace(",", "|"); // } // else // { // ante.AnteNumber = ante.AnteNumber.Replace(",", "|"); // ante.AnteNumber = ante.AnteNumber.Replace(" ", ","); // return ante.AnteNumber; // } // case "q3zhix": // if (ante.AnteNumber.Length == "05|08|11".Length) // { // return ante.AnteNumber.Replace(",", "|"); // } // else // { // ante.AnteNumber = ante.AnteNumber.Replace(",", "|"); // ante.AnteNumber = ante.AnteNumber.Replace(" ", ","); // return ante.AnteNumber; // } // default: // break; // } // return ante.AnteNumber; //} #endregion else { return(ante.AnteNumber); } //todo: }