public static bool ExisteItemUnico(IAcaoProbabilidade acao) { StringBuilder strBuilder = new StringBuilder() .AppendFormat("SELECT count(*) FROM probabilidade.acao_probabilidade WHERE " + "val_call_pre_flop = {0}" + Environment.NewLine + "AND val_raise_pre_turn = {1}" + Environment.NewLine + "AND val_raise_pre_river = {2}" + Environment.NewLine, acao.probabilidadeMinicaSeeFlop.ToString(), acao.probabilidadeMinimaRaisePreTurn.ToString(), acao.probabilidadeMinimaRaisePreRiver.ToString() ); try { DBConnect.AbreConexaoSeNaoEstiverAberta(); IDbCommand command = DBConnect.Connection.CreateCommand(); command.CommandText = strBuilder.ToString(); IDataReader d = command.ExecuteReader(); d.Read(); long numeroDeLinhas = (long)d.GetValue(0); d.Close(); DBConnect.FecharConexao(); return(numeroDeLinhas > 0); } catch (Exception e) { throw e; } }
public static IAcaoProbabilidade GetItem(float callPreFlop, float raisePreTurn, float raisePreRiver) { IAcaoProbabilidade acaoProbailidade = null; StringBuilder strBuilder = new StringBuilder() .AppendFormat("SELECT * FROM probabilidade.acao_probabilidade WHERE " + "val_call_pre_flop = {0}" + Environment.NewLine + "AND val_raise_pre_turn = {1}" + Environment.NewLine + "AND val_raise_pre_river = {2}", callPreFlop.ToString(), raisePreTurn.ToString(), raisePreRiver.ToString() ); DBConnect.AbreConexaoSeNaoEstiverAberta(); IDbCommand command = DBConnect.Connection.CreateCommand(); command.CommandText = strBuilder.ToString(); using (IDataReader dataReader = command.ExecuteReader()) { if (dataReader.Read()) { acaoProbailidade = AcaoProbabilidadeContexto.GetItem(dataReader); } } DBConnect.FecharConexao(); return(acaoProbailidade); }
public ISimulacaoJogosResumo SimulaJogos(IJogador jogador, IAcaoProbabilidade acao = null) { ISimulacaoJogosResumo simulacao = new SimulacaoJogosResumo() { QuantidadeJogosSimuladosPretendidos = this.QuantidadeJogosSimuladosPretendidos, StackInicial = this.StackInicial, QuantidadeJogosSimulados = 0, QuantidadeJogosGanhos = 0, QuantidadeJogosPerdidos = 0, QuantidadeJogosEmpatados = 0, DescricaoInteligencia = "Foge se não tiver chance vencer maior que 50% em qualquer decisão tomada", StackFinal = 0, AcaoProbabilidade = acao }; IJogador banca = new Banca(this.Config); Comum.Mesa m = new Comum.Mesa(this.Config); ICroupier croupier = new Croupier(new CroupierConstructParam() { Jogador = jogador, Banca = banca, ConfiguracaoPoker = this.Config } ); simulacao = this.GeraUmaSimulacao(simulacao, croupier, jogador); return(simulacao); }
public static bool ExisteItem(IAcaoProbabilidade acao) { if (AcaoProbabilidadeContexto.AcoesJaRealizadas.Count == 0) { AcaoProbabilidadeContexto.GetAllItems(); } return(AcaoProbabilidadeContexto.AcoesJaRealizadas.Contains(acao)); }
public JogadorProbabilistico(IConfiguracaoPoker Config, IAcaoProbabilidade acaoProbabilidade, IRetornaProbabilidade RetornaProbabilidade, uint valorStackInicial = 200, IAcoesDecisao inteligencia = null) : base(valorStackInicial) { if (inteligencia == null) { inteligencia = new Inteligencia.InteligenciaProb(acaoProbabilidade, RetornaProbabilidade); } inteligencia.JogadorStack = this.JogadorStack; inteligencia.Corrida = this.Corrida; this.Mente.Add(inteligencia); this.ConfiguracaoPoker = Config; }
public bool Equals(IAcaoProbabilidade other) { if (this.probabilidadeMinicaSeeFlop == other.probabilidadeMinicaSeeFlop && this.probabilidadeMinimaRaisePreRiver == other.probabilidadeMinimaRaisePreRiver && this.probabilidadeMinimaRaisePreTurn == other.probabilidadeMinimaRaisePreTurn) { return(true); } return(false); }
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); } }
private static string ToInsertQuery(IAcaoProbabilidade acaoProbabilidade) { StringBuilder strBuilder = new StringBuilder() .Append("INSERT INTO probabilidade.acao_probabilidade (" + "val_call_pre_flop, " + Environment.NewLine + "val_raise_pre_turn, " + Environment.NewLine + "val_raise_pre_river " + Environment.NewLine + ")" + Environment.NewLine ); strBuilder.AppendFormat("VALUES (" + "{0}," + Environment.NewLine + "{1}," + Environment.NewLine + "{2}" + Environment.NewLine + ")", acaoProbabilidade.probabilidadeMinicaSeeFlop, acaoProbabilidade.probabilidadeMinimaRaisePreTurn, acaoProbabilidade.probabilidadeMinimaRaisePreRiver ); return(strBuilder.ToString()); }
public static IAcaoProbabilidade GetAllItems() { DBConnect.AbreConexaoSeNaoEstiverAberta(); IAcaoProbabilidade acaoProbailidade = null; StringBuilder strBuilder = new StringBuilder("SELECT * FROM probabilidade.acao_probabilidade"); IDbCommand command = DBConnect.Connection.CreateCommand(); command.CommandText = strBuilder.ToString(); using (IDataReader dataReader = command.ExecuteReader()) { while (dataReader.Read()) { AcaoProbabilidadeContexto.AcoesJaRealizadas.Add(AcaoProbabilidadeContexto.GetItem(dataReader)); } } DBConnect.FecharConexao(); return(acaoProbailidade); }
public static void Persiste(IAcaoProbabilidade simulacaoCallPreFlop) { if (simulacaoCallPreFlop == null) { return; } DBConnect.AbreConexaoSeNaoEstiverAberta(); try { IDbCommand command = DBConnect.Connection.CreateCommand(); command.CommandText = AcaoProbabilidadeContexto.ToInsertQuery(simulacaoCallPreFlop); command.ExecuteNonQuery(); } catch (Exception e) { throw e; } finally { DBConnect.FecharConexao(); } }