Ejemplo n.º 1
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            LuckyDiceGameLoop           luckyDiceGameLoop = GameManager.GetGameLoop(1);
            Dictionary <string, string> dic = new Dictionary <string, string>();

            dic["TotalBetTai"]        = luckyDiceGameLoop.TotalBetTai.ToString();
            dic["TotalBetXiu"]        = luckyDiceGameLoop.TotalBetXiu.ToString();
            dic["TotalUserBetTai"]    = luckyDiceGameLoop.TotalUserBetTai.ToString();
            dic["TotalUserBetXiu"]    = luckyDiceGameLoop.TotalUserBetXiu.ToString();
            dic["SessionID"]          = luckyDiceGameLoop.SessionID.ToString();
            dic["CurrentState"]       = luckyDiceGameLoop.CurrentState.ToString();
            dic["Ellapsed"]           = luckyDiceGameLoop.Ellapsed.ToString();
            dic["AdminControl"]       = luckyDiceGameLoop.AdminControlResult.ToString();
            dic["TaiWin"]             = luckyDiceGameLoop.IsTaiWin.ToString();
            dic["ResultNormal"]       = luckyDiceGameLoop.CheckStateMatch().ToString();
            dic["Fund"]               = luckyDiceGameLoop.GetFundBot().ToString();
            dic["Dice"]               = luckyDiceGameLoop.GetDice().ToString();
            dic["ResultAdminControl"] = luckyDiceGameLoop.GetResultAdminControl().ToString();
            context.Response.Write(JsonConvert.SerializeObject(dic));
        }
Ejemplo n.º 2
0
        public void Bet()
        {
            if (Monitor.TryEnter(_managerLock, 5000))
            {
                try
                {
                    LoadBetData();
                    LoadConfig();
                    if (!_configuration.Enable)
                    {
                        return;
                    }
                    // Kiểm tra config
                    var accountId = 10000;
                    _gameLoop = GameManager.GetGameLoop(1);
                    var _factory = new TaskFactory();
                    // Thay đổi số lượng bot bet

                    _botList.Shuffle();
                    var botChange = RandomUtil.NextInt(_configuration.MinBot, _configuration.MaxBot);
                    var betList   = _botList.ToList().GetRange(0, botChange);
                    var idleTime  = RandomUtil.NextInt(1, 48);
                    var idleTime2 = RandomUtil.NextInt(1, 48);
                    NLogManager.LogMessage($"Bot Bet | IdleTime :{idleTime} - {idleTime2}");
                    foreach (var bot in betList)
                    {
                        _factory.StartNew(async() =>
                        {
                            try
                            {
                                var time = RandomUtil.NextInt(1, 50);
                                bot.Check();
                                while (time >= idleTime && time <= idleTime + 2 && bot.BetSide == BetSide.Tai)
                                {
                                    time = RandomUtil.NextInt(1, 50);
                                }

                                while (time >= idleTime2 && time <= idleTime2 + 2 && bot.BetSide == BetSide.Xiu)
                                {
                                    time = RandomUtil.NextInt(1, 50);
                                }

                                await Task.Delay(time * 1000);


                                var betResponse = _gameLoop.Bet("", accountId++, bot.DisplayName, "", bot.BetSide,
                                                                bot.BetAmount, out var summaryBet,
                                                                out var balance, out var error, true);
                            }
                            catch (Exception e)
                            {
                                NLogManager.PublishException(e);
                                Console.WriteLine(e);
                            }
                        });
                    }
                }
                catch (Exception ex)
                {
                    NLogManager.PublishException(ex);
                }
                finally
                {
                    Monitor.Exit(_managerLock);
                }
            }
        }