public IList <ISimulacaoCallPreFlop> GeraListaGanhosPerdas(int idGrupo)
        {
            IList <IMaoBasica>            listaMao       = MaoBasica.GetTodasMaosPossiveis();
            IList <ISimulacaoCallPreFlop> listaSimulacao = new List <ISimulacaoCallPreFlop>();
            IJogador banca = new Banca(this.Config);
            IRetornaProbabilidade retornaProbabilidade = new RecuperarProbabilidade();

            Comum.Mesa         m       = new Comum.Mesa(this.Config);
            IList <IMaoBasica> novaMao = new List <IMaoBasica>();

            //foreach (IMaoBasica mao in listaMao)
            //    if (mao.NumCarta1 > 10) novaMao.Add(mao);
            //listaMao = novaMao;


            foreach (IMaoBasica mao in listaMao)
            {
                ISimulacaoCallPreFlop simulacao = new SimulacaoCallPreFlop()
                {
                    IdGrupo = idGrupo,
                    ProbabilidadeMaoInicial = ProbabilidadeMaoInicialContext.GetItem(mao),
                    MaoBasica = mao,
                    QuantidadeJogosSimuladosPretendidos = this.QuantidadeJogosSimuladosPretendidos,
                    StackInicial             = this.StackInicial,
                    QuantidadeJogosSimulados = 0,
                    QuantidadeJogosGanhos    = 0,
                    QuantidadeJogosPerdidos  = 0,
                    QuantidadeJogosEmpatados = 0,
                    RaiseFlop     = false,
                    RaiseFlopTurn = false
                };

                IJogador jogador = new JogadorProbabilistico(
                    this.Config,
                    this.GetAcaoProbabilidade(simulacao.ProbabilidadeMaoInicial),
                    retornaProbabilidade,
                    this.StackInicial
                    );

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

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

                SimulacaoCallPreFlopProbabilidadeContext.Persiste(simulacao);

                Console.WriteLine(mao.NumCarta1 + " " + mao.NumCarta2 + " - " + mao.OffOrSuited);
            }

            return(listaSimulacao);
        }
Ejemplo n.º 2
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);
            }
        }