Beispiel #1
0
        public static bool ExisteItemUnico(IAcaoProbabilidade acao)
        {
            StringBuilder strBuilder = new StringBuilder()
                                       .AppendFormat("SELECT count(*) FROM probabilidade.acao_probabilidade WHERE " +
                                                     "val_call_pre_flop = {0}" + Environment.NewLine +
                                                     "AND val_raise_pre_turn = {1}" + Environment.NewLine +
                                                     "AND val_raise_pre_river = {2}" + Environment.NewLine,
                                                     acao.probabilidadeMinicaSeeFlop.ToString(),
                                                     acao.probabilidadeMinimaRaisePreTurn.ToString(),
                                                     acao.probabilidadeMinimaRaisePreRiver.ToString()
                                                     );

            try
            {
                DBConnect.AbreConexaoSeNaoEstiverAberta();

                IDbCommand command = DBConnect.Connection.CreateCommand();

                command.CommandText = strBuilder.ToString();
                IDataReader d = command.ExecuteReader();
                d.Read();
                long numeroDeLinhas = (long)d.GetValue(0);
                d.Close();

                DBConnect.FecharConexao();

                return(numeroDeLinhas > 0);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Beispiel #2
0
        public static IAcaoProbabilidade GetItem(float callPreFlop, float raisePreTurn, float raisePreRiver)
        {
            IAcaoProbabilidade acaoProbailidade = null;

            StringBuilder strBuilder = new StringBuilder()
                                       .AppendFormat("SELECT * FROM probabilidade.acao_probabilidade WHERE " +
                                                     "val_call_pre_flop = {0}" + Environment.NewLine +
                                                     "AND val_raise_pre_turn = {1}" + Environment.NewLine +
                                                     "AND val_raise_pre_river = {2}",
                                                     callPreFlop.ToString(),
                                                     raisePreTurn.ToString(),
                                                     raisePreRiver.ToString()
                                                     );

            DBConnect.AbreConexaoSeNaoEstiverAberta();
            IDbCommand command = DBConnect.Connection.CreateCommand();

            command.CommandText = strBuilder.ToString();

            using (IDataReader dataReader = command.ExecuteReader())
            {
                if (dataReader.Read())
                {
                    acaoProbailidade = AcaoProbabilidadeContexto.GetItem(dataReader);
                }
            }

            DBConnect.FecharConexao();

            return(acaoProbailidade);
        }
        public ISimulacaoJogosResumo SimulaJogos(IJogador jogador, IAcaoProbabilidade acao = null)
        {
            ISimulacaoJogosResumo simulacao = new SimulacaoJogosResumo()
            {
                QuantidadeJogosSimuladosPretendidos = this.QuantidadeJogosSimuladosPretendidos,
                StackInicial             = this.StackInicial,
                QuantidadeJogosSimulados = 0,
                QuantidadeJogosGanhos    = 0,
                QuantidadeJogosPerdidos  = 0,
                QuantidadeJogosEmpatados = 0,
                DescricaoInteligencia    = "Foge se não tiver chance vencer maior que 50% em qualquer decisão tomada",
                StackFinal        = 0,
                AcaoProbabilidade = acao
            };

            IJogador banca = new Banca(this.Config);

            Comum.Mesa m = new Comum.Mesa(this.Config);

            ICroupier croupier = new Croupier(new CroupierConstructParam()
            {
                Jogador           = jogador,
                Banca             = banca,
                ConfiguracaoPoker = this.Config
            }
                                              );

            simulacao = this.GeraUmaSimulacao(simulacao, croupier, jogador);

            return(simulacao);
        }
Beispiel #4
0
        public static bool ExisteItem(IAcaoProbabilidade acao)
        {
            if (AcaoProbabilidadeContexto.AcoesJaRealizadas.Count == 0)
            {
                AcaoProbabilidadeContexto.GetAllItems();
            }

            return(AcaoProbabilidadeContexto.AcoesJaRealizadas.Contains(acao));
        }
Beispiel #5
0
 public JogadorProbabilistico(IConfiguracaoPoker Config, IAcaoProbabilidade acaoProbabilidade, IRetornaProbabilidade RetornaProbabilidade, uint valorStackInicial = 200, IAcoesDecisao inteligencia = null) : base(valorStackInicial)
 {
     if (inteligencia == null)
     {
         inteligencia = new Inteligencia.InteligenciaProb(acaoProbabilidade, RetornaProbabilidade);
     }
     inteligencia.JogadorStack = this.JogadorStack;
     inteligencia.Corrida      = this.Corrida;
     this.Mente.Add(inteligencia);
     this.ConfiguracaoPoker = Config;
 }
Beispiel #6
0
        public bool Equals(IAcaoProbabilidade other)
        {
            if (this.probabilidadeMinicaSeeFlop == other.probabilidadeMinicaSeeFlop &&
                this.probabilidadeMinimaRaisePreRiver == other.probabilidadeMinimaRaisePreRiver &&
                this.probabilidadeMinimaRaisePreTurn == other.probabilidadeMinimaRaisePreTurn)
            {
                return(true);
            }

            return(false);
        }
Beispiel #7
0
        static void SimulaJogadorProbabilistico(IAcaoProbabilidade acaoProbabilidade, uint qtdJogosPorSimulacao, uint qtdSimulacoesPorProbabilidade, uint stackInicial)
        {
            GeraSimulacaoJogosResumo geraSimulacao = new GeraSimulacaoJogosResumo(qtdJogosPorSimulacao);

            for (int i = 0; i < qtdSimulacoesPorProbabilidade; i++)
            {
                IJogador jogador = new JogadorProbabilistico(
                    Program.configPadrao,
                    acaoProbabilidade,
                    new RecuperarProbabilidade(),
                    stackInicial
                    );

                ISimulacaoJogosResumo s = geraSimulacao.SimulaJogos(jogador, acaoProbabilidade);
                geraSimulacao.PersisteSimulacao(s);
            }
        }
Beispiel #8
0
        private static string ToInsertQuery(IAcaoProbabilidade acaoProbabilidade)
        {
            StringBuilder strBuilder = new StringBuilder()
                                       .Append("INSERT INTO probabilidade.acao_probabilidade (" +
                                               "val_call_pre_flop, " + Environment.NewLine +
                                               "val_raise_pre_turn, " + Environment.NewLine +
                                               "val_raise_pre_river " + Environment.NewLine +
                                               ")" + Environment.NewLine
                                               );

            strBuilder.AppendFormat("VALUES (" +
                                    "{0}," + Environment.NewLine +
                                    "{1}," + Environment.NewLine +
                                    "{2}" + Environment.NewLine +
                                    ")",
                                    acaoProbabilidade.probabilidadeMinicaSeeFlop,
                                    acaoProbabilidade.probabilidadeMinimaRaisePreTurn,
                                    acaoProbabilidade.probabilidadeMinimaRaisePreRiver
                                    );

            return(strBuilder.ToString());
        }
Beispiel #9
0
        public static IAcaoProbabilidade GetAllItems()
        {
            DBConnect.AbreConexaoSeNaoEstiverAberta();

            IAcaoProbabilidade acaoProbailidade = null;
            StringBuilder      strBuilder       = new StringBuilder("SELECT * FROM probabilidade.acao_probabilidade");

            IDbCommand command = DBConnect.Connection.CreateCommand();

            command.CommandText = strBuilder.ToString();

            using (IDataReader dataReader = command.ExecuteReader())
            {
                while (dataReader.Read())
                {
                    AcaoProbabilidadeContexto.AcoesJaRealizadas.Add(AcaoProbabilidadeContexto.GetItem(dataReader));
                }
            }

            DBConnect.FecharConexao();

            return(acaoProbailidade);
        }
Beispiel #10
0
        public static void Persiste(IAcaoProbabilidade simulacaoCallPreFlop)
        {
            if (simulacaoCallPreFlop == null)
            {
                return;
            }

            DBConnect.AbreConexaoSeNaoEstiverAberta();

            try
            {
                IDbCommand command = DBConnect.Connection.CreateCommand();
                command.CommandText = AcaoProbabilidadeContexto.ToInsertQuery(simulacaoCallPreFlop);
                command.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                DBConnect.FecharConexao();
            }
        }