Esempio n. 1
0
        public static void Persiste(ISimulacaoJogosResumo simulacaoCallPreFlop)
        {
            if (!AcaoProbabilidadeContexto.ExisteItem(simulacaoCallPreFlop.AcaoProbabilidade))
            {
                AcaoProbabilidadeContexto.Persiste(simulacaoCallPreFlop.AcaoProbabilidade);
            }

            simulacaoCallPreFlop.AcaoProbabilidade.id =
                AcaoProbabilidadeContexto.GetItem(
                    simulacaoCallPreFlop.AcaoProbabilidade.probabilidadeMinicaSeeFlop,
                    simulacaoCallPreFlop.AcaoProbabilidade.probabilidadeMinimaRaisePreTurn,
                    simulacaoCallPreFlop.AcaoProbabilidade.probabilidadeMinimaRaisePreRiver).id;

            DBConnect.AbreConexaoSeNaoEstiverAberta();

            try
            {
                IDbCommand command = DBConnect.Connection.CreateCommand();
                command.CommandText = SimulacaoJogosResumoContext.ToInsertQuery(simulacaoCallPreFlop);
                command.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                DBConnect.FecharConexao();
            }
        }
 public void SimulaJogosResumoPersiste(int quantidadeSimulacoes, IJogador jogador)
 {
     for (int i = 0; i < quantidadeSimulacoes; i++)
     {
         ISimulacaoJogosResumo s = this.SimulaJogos(jogador);
         this.PersisteSimulacao(s);
     }
 }
        private ISimulacaoJogosResumo GeraUmaSimulacao(ISimulacaoJogosResumo simulacao, ICroupier croupier, IJogador jogador)
        {
            string impressaoModoVerboso = string.Empty;
            int    quantTestesSeguidos  = 0;

            for (int i = 0; i < this.QuantidadeJogosSimuladosPretendidos; i++)
            {
                Uteis.ImprimeAgora = string.Empty;

                if (!croupier.HaParticipantesParaJogar())
                {
                    break;
                }

                if (this.ModoVerboso && (i % 50) == 0)
                {
                    if (quantTestesSeguidos-- <= 0)
                    {
                        Uteis.ModoVerboso = false;
                    }
                    else
                    {
                        //this.PrintaProgressoConsole(string.Format("{0}/{1}", i, this.QuantidadeJogosSimuladosPretendidos));
                        Uteis.ModoVerboso   = true;
                        quantTestesSeguidos = 2;
                    }
                }

                croupier.ExecutarNovaPartidaCompleta();
                simulacao.QuantidadeJogosSimulados++;
                IPartida p = jogador.Historico.Last();

                if (Uteis.ModoVerboso)
                {
                    Console.WriteLine(Uteis.ImprimeAgora + " " + p.Jogador.Stack.ToString("0,00"));
                }

                if (p.JogadorGanhador == Enuns.VencedorPartida.Jogador)
                {
                    simulacao.QuantidadeJogosGanhos++;
                }
                else if (p.JogadorGanhador == Enuns.VencedorPartida.Banca)
                {
                    simulacao.QuantidadeJogosPerdidos++;
                }
                else
                {
                    simulacao.QuantidadeJogosEmpatados++;
                }
            }

            simulacao.StackFinal = jogador.JogadorStack.Stack;

            return(simulacao);
        }
Esempio n. 4
0
        private static string ToInsertQuery(ISimulacaoJogosResumo simulacaoCallPreFlop)
        {
            int sequence_id_grupo = 0;

            StringBuilder strBuilder = new StringBuilder()
                                       .Append("INSERT INTO probabilidade.tb_simulacao_jogos_resumo (" +
                                               "val_stack_inicial, " + Environment.NewLine +
                                               "val_stack_final, " + Environment.NewLine +
                                               "qtd_jogos_simulados, " + Environment.NewLine +
                                               "qtd_jogos_simulados_pretendidos, " + Environment.NewLine +
                                               "qtd_jogos_ganhos, " + Environment.NewLine +
                                               "qtd_jogos_perdidos, " + Environment.NewLine +
                                               "qtd_jogos_empatados, " + Environment.NewLine +
                                               "ds_inteligencia"

                                               );

            if (simulacaoCallPreFlop.AcaoProbabilidade != null)
            {
                strBuilder.Append(", id_acao_probabilidade" + Environment.NewLine);
            }

            strBuilder.Append(") ");

            strBuilder.AppendFormat("VALUES (" +
                                    "{0}," + Environment.NewLine +
                                    "{1}," + Environment.NewLine +
                                    "{2}," + Environment.NewLine +
                                    "{3}," + Environment.NewLine +
                                    "{4}," + Environment.NewLine +
                                    "{5}," + Environment.NewLine +
                                    "{6}," + Environment.NewLine +
                                    "\'{7}\'",
                                    simulacaoCallPreFlop.StackInicial,
                                    simulacaoCallPreFlop.StackFinal,
                                    simulacaoCallPreFlop.QuantidadeJogosSimulados,
                                    simulacaoCallPreFlop.QuantidadeJogosSimuladosPretendidos,
                                    simulacaoCallPreFlop.QuantidadeJogosGanhos,
                                    simulacaoCallPreFlop.QuantidadeJogosPerdidos,
                                    simulacaoCallPreFlop.QuantidadeJogosEmpatados,
                                    simulacaoCallPreFlop.DescricaoInteligencia
                                    );

            if (simulacaoCallPreFlop.AcaoProbabilidade != null)
            {
                strBuilder.AppendFormat(", {0} ", simulacaoCallPreFlop.AcaoProbabilidade.id);
            }

            strBuilder.Append(")");

            return(strBuilder.ToString());
        }
Esempio n. 5
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);
            }
        }
 public void PersisteSimulacao(ISimulacaoJogosResumo simulacao) => SimulacaoJogosResumoContext.Persiste(simulacao);