public static void Persiste(ISimulacaoJogosResumo simulacaoCallPreFlop) { if (!AcaoProbabilidadeContexto.ExisteItem(simulacaoCallPreFlop.AcaoProbabilidade)) { AcaoProbabilidadeContexto.Persiste(simulacaoCallPreFlop.AcaoProbabilidade); } simulacaoCallPreFlop.AcaoProbabilidade.id = AcaoProbabilidadeContexto.GetItem( simulacaoCallPreFlop.AcaoProbabilidade.probabilidadeMinicaSeeFlop, simulacaoCallPreFlop.AcaoProbabilidade.probabilidadeMinimaRaisePreTurn, simulacaoCallPreFlop.AcaoProbabilidade.probabilidadeMinimaRaisePreRiver).id; DBConnect.AbreConexaoSeNaoEstiverAberta(); try { IDbCommand command = DBConnect.Connection.CreateCommand(); command.CommandText = SimulacaoJogosResumoContext.ToInsertQuery(simulacaoCallPreFlop); command.ExecuteNonQuery(); } catch (Exception e) { throw e; } finally { DBConnect.FecharConexao(); } }
public void SimulaJogosResumoPersiste(int quantidadeSimulacoes, IJogador jogador) { for (int i = 0; i < quantidadeSimulacoes; i++) { ISimulacaoJogosResumo s = this.SimulaJogos(jogador); this.PersisteSimulacao(s); } }
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); }
private static string ToInsertQuery(ISimulacaoJogosResumo simulacaoCallPreFlop) { int sequence_id_grupo = 0; StringBuilder strBuilder = new StringBuilder() .Append("INSERT INTO probabilidade.tb_simulacao_jogos_resumo (" + "val_stack_inicial, " + Environment.NewLine + "val_stack_final, " + Environment.NewLine + "qtd_jogos_simulados, " + Environment.NewLine + "qtd_jogos_simulados_pretendidos, " + Environment.NewLine + "qtd_jogos_ganhos, " + Environment.NewLine + "qtd_jogos_perdidos, " + Environment.NewLine + "qtd_jogos_empatados, " + Environment.NewLine + "ds_inteligencia" ); if (simulacaoCallPreFlop.AcaoProbabilidade != null) { strBuilder.Append(", id_acao_probabilidade" + Environment.NewLine); } strBuilder.Append(") "); strBuilder.AppendFormat("VALUES (" + "{0}," + Environment.NewLine + "{1}," + Environment.NewLine + "{2}," + Environment.NewLine + "{3}," + Environment.NewLine + "{4}," + Environment.NewLine + "{5}," + Environment.NewLine + "{6}," + Environment.NewLine + "\'{7}\'", simulacaoCallPreFlop.StackInicial, simulacaoCallPreFlop.StackFinal, simulacaoCallPreFlop.QuantidadeJogosSimulados, simulacaoCallPreFlop.QuantidadeJogosSimuladosPretendidos, simulacaoCallPreFlop.QuantidadeJogosGanhos, simulacaoCallPreFlop.QuantidadeJogosPerdidos, simulacaoCallPreFlop.QuantidadeJogosEmpatados, simulacaoCallPreFlop.DescricaoInteligencia ); if (simulacaoCallPreFlop.AcaoProbabilidade != null) { strBuilder.AppendFormat(", {0} ", simulacaoCallPreFlop.AcaoProbabilidade.id); } strBuilder.Append(")"); return(strBuilder.ToString()); }
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); } }
public void PersisteSimulacao(ISimulacaoJogosResumo simulacao) => SimulacaoJogosResumoContext.Persiste(simulacao);