コード例 #1
0
        public override PlaceCrashBet CalculateNextCrashBet(CrashBet PreviousBet, bool Win)
        {
            PlaceCrashBet NextBet = new PlaceCrashBet();

            dynamic result = Scope.DoCrashBet(PreviousBet, Win, NextBet);

            return(result);
        }
コード例 #2
0
        public override PlaceCrashBet CalculateNextCrashBet(CrashBet PreviousBet, bool Win)
        {
            PlaceCrashBet NextBet   = new PlaceCrashBet();
            DynValue      DoDiceBet = CurrentRuntime.Globals.Get("DoCrashBet");

            if (DoDiceBet != null)
            {
                DynValue Result = CurrentRuntime.Call(DoDiceBet, PreviousBet, Win, NextBet);
            }
            return(NextBet);
        }
コード例 #3
0
 public virtual PlaceCrashBet CalculateNextCrashBet(CrashBet PreviousBet, bool Win)
 {
     throw new NotImplementedException();
 }
コード例 #4
0
ファイル: EtherCrash.cs プロジェクト: hbernaciak/Doormat
        private void Sock_MessageReceived(object sender, MessageReceivedEventArgs e)
        {
            if (e.Message == "3probe")
            {
                (sender as WebSocket).Send("5");
                //Sock.Send("420[\"join\",{\"ott\":\"" + ott + "\",\"api_version\":1}]");
            }
            else
            {
                Logger.DumpLog(e.Message, -1);
                if (e.Message.StartsWith("42[\"game_starting\","))
                {
                    //42["game_starting",{"game_id":214035,"max_win":3782817516,"time_till_start":5000}]
                    string id = e.Message.Substring(e.Message.IndexOf("\"game_id\":") + "\"game_id\":".Length);
                    id        = id.Substring(0, id.IndexOf(","));
                    GameId    = id;
                    cashedout = false;
                    this.guid = "";
                    //open betting for user
                    betsOpen = true;
                    callGameMessage("Game starting - waiting for bet");
                }
                else if (e.Message.StartsWith("42[\"game_started\","))
                {
                    //close betting and wait for result
                    betsOpen = false;
                }
                else if (e.Message.StartsWith("42[\"game_crash\",") && guid != "")
                {
                    //if not cashed out yet, it's a loss and debit balance

                    CrashBet bet = new CrashBet
                    {
                        TotalAmount = (decimal)LastBet.TotalAmount,
                        Profit      = -(decimal)LastBet.TotalAmount,
                        Currency    = CurrentCurrency,
                        DateValue   = DateTime.Now,
                        BetID       = GameId != "" ? GameId : Guid.NewGuid().ToString(),
                        Guid        = guid,
                        Payout      = LastBet.Payout,
                        Crash       = 0//get crash payout from game message
                    };

                    Stats.Balance -= (decimal)LastBet.TotalAmount;
                    Stats.Profit  -= (decimal)LastBet.TotalAmount;
                    Stats.Wagered += (decimal)LastBet.TotalAmount;
                    Stats.Losses++;
                    Stats.Bets++;
                    guid = "";
                    callBetFinished(bet);
                    //Parent.updateStatus("Game crashed - Waiting for next game");
                }
                else if (e.Message.StartsWith("42[\"cashed_out\"") && guid != "")
                {
                    //check if the cashed out user is the current user, if it is, it's a win.

                    if (e.Message.Contains("\"" + username + "\""))
                    {
                        cashedout = true;
                        CrashBet bet = new CrashBet
                        {
                            TotalAmount = (decimal)LastBet.TotalAmount,
                            Profit      = LastBet.Payout * LastBet.TotalAmount - LastBet.TotalAmount,
                            Currency    = CurrentCurrency,
                            DateValue   = DateTime.Now,
                            BetID       = GameId != "" ? GameId : Guid.NewGuid().ToString(),
                            Guid        = guid,
                            Payout      = LastBet.Payout,
                        };
                        this.guid      = "";
                        Stats.Balance += bet.Profit;
                        Stats.Profit  += bet.Profit;
                        Stats.Wagered += LastBet.TotalAmount;
                        Stats.Wins++;
                        Stats.Bets++;
                        callBetFinished(bet);
                    }
                }
                else if (e.Message.StartsWith("430[null,{\"state"))
                {
                    string content = e.Message.Substring(e.Message.IndexOf("{"));
                    content = content.Substring(0, content.LastIndexOf("}"));
                    ECLogin tmplogin = json.JsonDeserialize <ECLogin>(content);
                    if (tmplogin != null)
                    {
                        username      = tmplogin.username;
                        Stats.Balance = (tmplogin.balance_satoshis) / 100000000m;
                    }
                }
                else if (e.Message.StartsWith("42[\"game_tick\""))
                {
                    if (guid != "" || cashedout)
                    {
                        //42["game_tick",13969]
                        string x = e.Message.Substring(e.Message.IndexOf(",") + 1);
                        x = x.Substring(0, x.LastIndexOf("]"));
                        decimal tickval = 0;
                        if (decimal.TryParse(x, out tickval))
                        {
                            double mult = 0;
                            mult = Math.Floor(100 * Math.Pow(Math.E, 0.00006 * (double)tickval));
                            string message = "";

                            if (guid != null)
                            {
                                message = string.Format("Game running - {0:0.00000000} at {1:0.0000} - {2:0.00}x", LastBet.TotalAmount, LastBet.Payout, mult / 100);
                            }
                            else
                            {
                                message = string.Format("Game running - Cashed out - {2:0.00}x", LastBet.TotalAmount, LastBet.Payout, mult / 100);
                            }

                            callGameMessage(message);
                        }
                    }
                }
            }
        }