Ejemplo n.º 1
0
        public void getStackSaldoFinalTest()
        {
            ConfiguracaoTHBonus config = Configuracao.configPadrao;

            Comum.Mesa m      = new Comum.Mesa(config);
            ICroupier  dealer = new Croupier(m, new Banca(config));

            IJogador j = new DummyJogadorTHB(config, 1500);

            m.AddParticipante(j);

            int stackInicial = 1500, stackFinal = 1500, saldoFinal = 0;
            int qtdPerdida = 0, qtdGanho = 0, qtdEmpate = 0, numJogos = 100;

            for (int i = 0; i < numJogos; i++)
            {
                dealer.ExecutarNovaPartidaCompleta();
            }

            qtdPerdida = j.Historico.Where(x => x.JogadorGanhador == Enuns.VencedorPartida.Banca).Count();
            qtdGanho   = j.Historico.Where(x => x.JogadorGanhador == Enuns.VencedorPartida.Jogador).Count();
            qtdEmpate  = j.Historico.Where(x => x.JogadorGanhador == Enuns.VencedorPartida.Empate).Count();

            stackFinal -= (15 * qtdPerdida);
            stackFinal += (10 * qtdGanho);
            saldoFinal  = (stackFinal - stackInicial);

            Assert.IsTrue(saldoFinal == j.Estatistica.getStackSaldoFinal());
        }
        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.º 3
0
        public void getStackInicialTest()
        {
            ConfiguracaoTHBonus config = Configuracao.configPadrao;

            Comum.Mesa m      = new Comum.Mesa(config);
            ICroupier  dealer = new Croupier(m, new Banca(config));

            IJogador j = new DummyJogadorTHB(config, 1500);

            m.AddParticipante(j);
            int stackInicial = 1500;

            dealer.ExecutarNovaPartidaCompleta();

            Assert.IsTrue(stackInicial == j.Estatistica.getStackInicial());
        }
Ejemplo n.º 4
0
        internal IPartida GetBancaGanhou()
        {
            uint stackInicialJogador = 20000;

            Comum.Mesa m       = new Comum.Mesa(this.ConfiguracaoPadrao);
            ICroupier  dealer  = new Croupier(m, new Banca(this.ConfiguracaoPadrao));
            IJogador   jogador = new DummyJogadorTHB(this.ConfiguracaoPadrao, stackInicialJogador);

            m.AddParticipante(jogador);
            dealer.ExecutarNovaPartidaCompleta();

            while (dealer.HaParticipantesParaJogar() && jogador.Historico.Last().JogadorGanhador != Enuns.VencedorPartida.Banca)
            {
                dealer.ExecutarNovaPartidaCompleta();
            }

            return(jogador.Historico.Last());
        }
Ejemplo n.º 5
0
        public void getQuantidadeJogosJogadosTest()
        {
            ConfiguracaoTHBonus config = Configuracao.configPadrao;

            Comum.Mesa m = new Comum.Mesa(config);
            int        numeroPartidas = 5;
            ICroupier  dealer         = new Croupier(m, new Banca(config));

            IJogador j = new DummyJogadorTHB(config);

            m.AddParticipante(j);

            dealer.ExecutarNovaPartidaCompleta();
            dealer.ExecutarNovaPartidaCompleta();
            dealer.ExecutarNovaPartidaCompleta();
            dealer.ExecutarNovaPartidaCompleta();
            dealer.ExecutarNovaPartidaCompleta();

            Assert.IsTrue(numeroPartidas == j.Estatistica.getQuantidadeJogosJogados());
        }
Ejemplo n.º 6
0
        internal IPartida GetJogadorGanhou(IJogador j = null)
        {
            uint stackInicialJogador = 20000;

            Comum.Mesa m      = new Comum.Mesa(this.ConfiguracaoPadrao);
            IJogador   banca  = new Banca(this.ConfiguracaoPadrao);
            ICroupier  dealer = new Croupier(m, banca);

            dealer.DealerPartida = new DealerPartidaMock(m, banca, Enuns.VencedorPartida.Jogador);

            IJogador jogador = j ?? new DummyJogadorTHB(this.ConfiguracaoPadrao, stackInicialJogador);

            m.AddParticipante(jogador);

            dealer.ExecutarNovaPartidaCompleta();

            //while(jogador.Historico.Last().JogadorGanhador != Enuns.VencedorPartida.Jogador)
            //    dealer.ExecutarNovaPartidaCompleta();

            return(jogador.Historico.Last());
        }
Ejemplo n.º 7
0
 public DealerPartidaMock(Comum.Mesa m, IJogador banca, VencedorPartida jogadorQueDeveGanharPartida) : base(m, banca)
 {
     this.JogadorQueDeveGanharPartida = jogadorQueDeveGanharPartida;
 }