private PK10_Buy CreateBuy(int uid, string uname, PK10_List list) //随机生成购买记录 { PK10_Buy buy = new PK10_Buy(); try { #region 取到购买类型 PK10_BuyType buytype = GetBuyType(); if (buytype == null) { Response.Write("不能取到购买类型!" + "</br>"); return(null); } #endregion #region 生成购买记录 buy.ListID = list.ID; buy.ListNo = list.No; buy.uID = uid; buy.uName = uname; buy.isRobot = 1; buy.isTest = myIsTest; buy.BuyType = buytype.ID; buy.BuyPrice = GetPrice(); buy.BuyTime = DateTime.Now; buy.BuyMulti = 1; // new Random().Next(1, 5);//下注陪数(该游戏用直接填写下注单价的形式,不需要倍数); int ntype = new Random().Next(1, 10); //用Random().Next(0,1)总返回0; buy.NumType = (ntype > 5) ? 1 : 0; //号码组合类型(随机0单式1复式) // if (buytype.MultiSelect == 0 && buy.NumType == 1) //如果购买类型不允许复式的,重置当前购买组合类型为单式 { buy.NumType = 0; } // CreateBuyNums(buy, buytype); //随机生成号码组号,并计算注数 string numtype = (buy.NumType == 0) ? "单式" : "复式"; string descript = "[" + buytype.Name.Trim() + "-" + numtype + "][" + buy.BuyCount.ToString().Trim() + "注]#" + buy.Nums.Trim() + "#[" + buy.BuyMulti + "倍]"; //例:[猜冠军-复式][4注]#03,04|07,09#[4倍] buy.BuyDescript = descript; buy.PayMoney = buy.BuyPrice * buy.BuyCount * buy.BuyMulti; #endregion if (buy.BuyCount == 0) { buy = null; } } catch { buy = null; } return(buy); }
private void CreateBuyNums(PK10_Buy buy, PK10_BuyType buytype)//生成号码组号 { string strAll = "01,02,03,04,05,06,07,08,09,10"; string newNums = ""; int nums = buytype.NumsCount; int parentid = buytype.ParentID; switch (parentid) { case 1: #region 号码买法 if (buy.NumType == 0) //单式,例子(直选前三):02|04|03 { #region 直接生成号码组号 newNums = CreateRandomString(null, strAll, nums, ""); newNums = newNums.Replace(',', '|'); buy.Nums = newNums; buy.NumsDetail = newNums; buy.BuyCount = 1; #endregion } else //复式,例子(前三复式):02,03|03,05,06|09 { #region 生成号码组号 Random rd0 = new Random(); Random rd1 = new Random(); for (int i = 0; i < nums; i++) { int randNums = rd0.Next(1, 3); string result = CreateRandomString(rd1, strAll, randNums, ""); //随机选择几个数字(机器人复式的每一位最多为3个号码) if (i == 0) { newNums = result; } else { newNums += "|" + result; } } buy.Nums = newNums; #endregion #region 拆分复式成每一注有效的单式号码,并变换成字符串格式,例猜前二位:01|02#01|03#01#04 List <string> list = new PK10().GenBuyNums(newNums, buytype.NumsCount); buy.BuyCount = list.Count; if (list.Count > 0) { string details = ""; for (int i = 0; i < list.Count; i++) { if (i == 0) { details = list[i]; } else { details += "#" + list[i]; } Response.Write(list[i] + " </br>"); } buy.NumsDetail = details; } #endregion } #endregion break; case 2: //大小玩法 case 3: //单双玩法 case 4: //龙虎玩法 #region 大小/单双/龙虎玩法 int ntype = new Random().Next(1, 10); //用Random().Next(0,1)总返回0; newNums = (ntype > 5) ? "1" : "0"; buy.Nums = newNums; buy.NumsDetail = newNums; buy.BuyCount = 1; #endregion break; case 5: //任选 #region 直接生成号码组号 newNums = CreateRandomString(null, strAll, nums, ""); newNums = newNums.Replace(',', '|'); buy.Nums = newNums; buy.NumsDetail = newNums; buy.BuyCount = 1; #endregion break; case 6: #region 冠亚军玩法 switch (buytype.Type) { case 2: //和值大小 case 3: //和值单双 #region ntype = new Random().Next(1, 10); //用Random().Next(0,1)总返回0; newNums = (ntype > 5) ? "1" : "0"; buy.Nums = newNums; buy.NumsDetail = newNums; buy.BuyCount = 1; #endregion break; default: //和值 #region 直接生成号码组号 strAll = "3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19"; newNums = CreateRandomString(null, strAll, nums, ""); newNums = newNums.Replace(',', '|'); buy.Nums = newNums; buy.NumsDetail = newNums; buy.BuyCount = 1; #endregion break; } #endregion break; } }
private void OpenRobot() { #region 取到机器人 int RobotID = GetRobot(); if (RobotID == 0) { Response.Write("没有可用的机器人!!!" + "</br>"); return; } string RobotName = new BCW.BLL.User().GetUsName(RobotID); #endregion #region 更新机器人在线时间 try { new BCW.BLL.User().UpdateTime(RobotID, 5); } catch { } #endregion // #region 注 PK10_List list = new PK10().GetCurrentSaleData();//取到可下注的期号记录 if (list == null) { Response.Write("没有开售记录!" + "</br>"); } else { PK10_Stutas status = new PK10().GetListStatus(list); if (status != PK10_Stutas.在售) { Response.Write("没有开售记录!" + "</br>"); } else { Response.Write("第" + list.No.Trim() + "期" + "</br>"); #region 注 PK10_Buy buy = CreateBuy(RobotID, RobotName, list);//生成购买记录 if (buy == null) { Response.Write("不能生成购买记录!" + "</br>"); } else { Response.Write(buy.BuyDescript + ",每注下:" + buy.BuyPrice.ToString().Trim() + "</br>"); #region 付款 string cPay = new PK10().Pay(buy, Utils.getPageUrl()); if (string.IsNullOrEmpty(cPay)) { Response.Write("成功付款!" + "</br>"); } else { Response.Write("付款失败...." + "</br>"); Response.Write(cPay.Replace("\n", "</br>") + "</br>"); } #endregion } #endregion } } #endregion // #region 兑奖 string caseFlag = _logic.CaseRobot(Utils.getPageUrl()); if (caseFlag == "") { Response.Write("成功兑奖!" + "</br>"); } else { Response.Write("兑奖失败...." + "</br>"); Response.Write(caseFlag.Replace("\n", "</br>") + "</br>"); } #endregion }