private ISimulacaoCallPreFlop SimulaJogosUmaMao(ISimulacaoCallPreFlop simulacao, ICroupier croupier, IJogador jogador)
        {
            for (int i = 0; i < this.QuantidadeJogosSimuladosPretendidos; i++)
            {
                if (!croupier.HaParticipantesParaJogar())
                {
                    break;
                }

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

                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);
        }
        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);
        }