Exemple #1
0
        public static IProbabilidadeMaoInicial GetItem(IMaoBasica mao, int qtdJogosSimulacao = 500000)
        {
            IProbabilidadeMaoInicial probMaoInicial = null;
            StringBuilder            strSelect      = ProbabilidadeMaoInicialContext.GetSelectQuery();

            strSelect.AppendFormat(" WHERE " + Environment.NewLine +
                                   "(" + Environment.NewLine +
                                   "   (m.numero_carta_1 = {0} AND m.numero_carta_2 = {1}) OR" + Environment.NewLine +
                                   "   (m.numero_carta_2 = {2} AND m.numero_carta_1 = {3})" + Environment.NewLine +
                                   ") AND " + Environment.NewLine +
                                   "m.offorsuited like \'{4}\' " + Environment.NewLine,
                                   mao.NumCarta1,
                                   mao.NumCarta2,
                                   mao.NumCarta1,
                                   mao.NumCarta2,
                                   mao.OffOrSuited
                                   );

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

            command.CommandText = strSelect.ToString();

            using (IDataReader dataReader = command.ExecuteReader())
            {
                if (dataReader.Read())
                {
                    probMaoInicial = ProbabilidadeMaoInicialContext.GetItem(dataReader);
                }
            }

            return(probMaoInicial);
        }
Exemple #2
0
        public bool Equals(IMaoBasica other)
        {
            if (this.OffOrSuited != other.OffOrSuited)
            {
                return(false);
            }

            if ((this.NumCarta1 == other.NumCarta1 && this.NumCarta2 == other.NumCarta2) ||
                (this.NumCarta1 == other.NumCarta2 && this.NumCarta2 == other.NumCarta1))
            {
                return(true);
            }

            return(false);
        }
        private Carta [] GetCartas(IMaoBasica mao)
        {
            Carta[] cartas = new Carta[2];

            if (mao.OffOrSuited == 'O')
            {
                cartas[1] = new Carta(mao.NumCarta1, Enuns.Naipe.Copas);
                cartas[0] = new Carta(mao.NumCarta2, Enuns.Naipe.Espadas);
            }
            else if (mao.OffOrSuited == 'S')
            {
                cartas[1] = new Carta(mao.NumCarta1, Enuns.Naipe.Copas);
                cartas[0] = new Carta(mao.NumCarta2, Enuns.Naipe.Copas);
            }
            else
            {
                throw new Exception("Tipo de carta não encontrada");
            }

            return(cartas);
        }
        public static bool JaExisteProbabilidadeCadastrada(IMaoBasica mb, uint?qtdJogosJogados = null)
        {
            DBConnect.AbreConexaoSeNaoEstiverAberta();

            uint?jogosJogados = (qtdJogosJogados ?? qtdJogosPadrao);

            StringBuilder strBuilder = new StringBuilder()
                                       .AppendFormat("" +
                                                     "SELECT COUNT(*) " +
                                                     "FROM " +
                                                     "probabilidade.simulacao_call_pre_flop sc" +
                                                     "left join probabilidade.mao_duas_cartas mao ON sc.id_mao_duas_cartas = mao.id" +
                                                     "WHERE " +
                                                     "numero_carta_1 = {0} AND" + Environment.NewLine +
                                                     "numero_carta_2 = {1} AND" + Environment.NewLine +
                                                     "offorsuited = \'{2}\' AND" + Environment.NewLine +
                                                     "qtd_jogos_simulados = {3}",
                                                     mb.NumCarta1,
                                                     mb.NumCarta2,
                                                     mb.OffOrSuited,
                                                     jogosJogados
                                                     );

            try
            {
                IDbCommand command = DBConnect.Connection.CreateCommand();

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

                return(numeroDeLinhas > 0);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
 private bool ExisteSimulacao(IMaoBasica maoBasica, uint qtdJogosSimulacao = 500000)
 {
     return(SimulacaoCallPreFlopProbabilidadeContext.JaExisteProbabilidadeCadastrada(maoBasica));
 }