private string Ini_betstr(string sball) { //330106$$$33010620170525145853000001$1$0$$ $ $ $ $01$ $ #region 注释部分,串示例说明 /* * agentid 330106 * gamename ql515 * drawno 2017020 * ticket 33010620170525145853000001 * playtype 1 * money 2 * betdetail * name * phonenumber * idnumber * cardnumber * reserv1 * reserv2 * reserv3 */ #endregion DateTime.Now.ToShortTimeString(); DateTime dt = DateTime.Now; string agentid = AgentId.Text; //渠道编号 string gamename = GameName.Text; //玩法编号 string drawno = DrawNo.Text; //期号 string ticket = AgentId.Text + string.Format("{0:yyyyMMddHHmmss}", dt) + (_lsh.ToString()).PadLeft(6, '0'); //票ID BetNum betnum = new BetNum(); string playtype = ""; //投注方式 int money = 0; //金额 //int ret = betnum.cfof_check_ball(sball, ref playtype, ref money); //检查投注号码合法 + 计算投注方式和金额 if (0 == betnum.cfof_check_ball(sball, ref playtype, ref money)) { string betdetail = ((Multiple.Text == string.Empty) ? "1" : Multiple.Text).PadLeft(3, '0') + (sball.Length / 2).ToString().PadLeft(2, '0') + sball; //号码串 (倍数+号码个数+号码) money = money * Convert.ToInt16((Multiple.Text == string.Empty) ? "1" : Multiple.Text); string smoney = string.Format("{0:f2}", money); string betmsgbody = agentid + "$" + gamename + "$" + drawno + "$" + ticket + "$" + playtype + "$" + smoney + "$" + betdetail + "$" + "$" + "$" + "$" + "$" + "01" + "$" + "$"; textBox3.Text += "\r\nbetbody:" + betmsgbody; return(betmsgbody); } else if (-1 == betnum.cfof_check_ball(sball, ref playtype, ref money)) { textBox_test.Text += "\r\n[ERR]:" + "投注号码个数有误"; return(""); } else if (-3 == betnum.cfof_check_ball(sball, ref playtype, ref money)) { textBox_test.Text += "\r\n[ERR]:" + "投注号码有重复"; return(""); } else { textBox_test.Text += "\r\n[ERR]:" + betnum.cfof_check_ball(sball, ref playtype, ref money); return(""); } }
//c515玩法选号检测 public int cfof_check_ball(string sball, ref string str1, ref int str2) { int gameno = 1; string scfofball = sball; int sfofballen = sball.Length; if (sfofballen % 2 != 0 || sfofballen < 10 || sfofballen > 30) { return(-1); //投注号码个数有误 } int[] ckball = new int[sfofballen / 2]; for (int i = 0; i < sfofballen / 2; i++) { ckball[i] = Convert.ToInt16(scfofball.Substring((i * 2), 2)); Console.WriteLine("iickball[" + i + "] = " + ckball[i].ToString().PadLeft(2, '0')); if (i > 0) { foreach (int j in ckball) { Console.WriteLine("jjckball[" + j + "] = " + ckball[i].ToString().PadLeft(2, '0')); if (ckball[i] == j) { return(-3);//投注号码有重复 } } } //Console.WriteLine("ckball[" + i + "] = " + ckball[i].ToString().PadLeft(2, '0')); } if (sfofballen == 10) { str1 = "1"; str2 = 2 * 1; } if (sfofballen > 10) { str1 = "2"; BetNum betnum = new BetNum(); str2 = betnum.count_cfof_num(gameno, sfofballen) * 2; } return(0); }