示例#1
0
    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);
    }
示例#2
0
    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;
        }
    }
示例#3
0
    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
    }