コード例 #1
0
        public void AdicionarJogoGerado(Jogo jogo, ValidadorGenerico validador)
        {
            DataTable gerados = ds.Tables["GERADOS"];

            DataRow linha = gerados.NewRow();

            linha["UUID"]      = Guid.NewGuid();
            linha["DATA_HORA"] = DateTime.Now;
            linha["BOLA01"]    = jogo.Bola01;
            linha["BOLA02"]    = jogo.Bola02;
            linha["BOLA03"]    = jogo.Bola03;
            linha["BOLA04"]    = jogo.Bola04;
            linha["BOLA05"]    = jogo.Bola05;
            linha["BOLA06"]    = jogo.Bola06;
            linha["BOLA07"]    = jogo.Bola07;
            linha["BOLA08"]    = jogo.Bola08;
            linha["BOLA09"]    = jogo.Bola09;
            linha["BOLA10"]    = jogo.Bola10;
            linha["BOLA11"]    = jogo.Bola11;
            linha["BOLA12"]    = jogo.Bola12;
            linha["BOLA13"]    = jogo.Bola13;
            linha["BOLA14"]    = jogo.Bola14;
            linha["BOLA15"]    = jogo.Bola15;
            linha["BOLA16"]    = jogo.Bola16;
            linha["BOLA17"]    = jogo.Bola17;
            linha["BOLA18"]    = jogo.Bola18;
            linha["REGRA"]     = validador.ToString();
            linha["TIPO"]      = TipoAposta.NENHUM;
            linha["APOSTADO"]  = false;
            gerados.Rows.Add(linha);

            jogo.AnalisarJogo();
        }
コード例 #2
0
        void BAdicionarRegraClick(object sender, EventArgs e)
        {
            // Adiciona à lista
            ValidadorGenerico validador = new ValidadorGenerico();

            validador.NumerosPares   = Convert.ToInt32(updPares.Value);
            validador.MaiorSequencia = Convert.ToInt32(updMaiorSequencia.Value);
            validador.MaiorIntervalo = Convert.ToInt32(updMaiorIntervalo.Value);

            validadores.Add(validador);

            // Adiciona na lista visual
            ListViewItem item = new ListViewItem(validador.MaiorSequencia.ToString());

            item.SubItems.Add(validador.MaiorIntervalo.ToString());
            item.SubItems.Add(validador.NumerosPares.ToString());
            item.SubItems.Add((15 - validador.NumerosPares).ToString());
            item.Tag = validador;

            lvRegras.Items.Add(item);
        }
コード例 #3
0
ファイル: Gerador.cs プロジェクト: AlexSJ/cs-lotofacil
        public void GerarJogos(int quantidadeJogos, int quantidadeNumeros)
        {
            DateTime inicio = DateTime.Now;

            System.Diagnostics.Debug.WriteLine("Início: " + inicio.ToString("HH:m:s tt zz"));

            List <Jogo> jogosValidos = new List <Jogo>();

            ValidadorGeral validadorGeral = new ValidadorGeral();

            ZerarContadores();
            try {
                if (jogosPassados == null)
                {
                    jogosPassados = Banco.ObterJogosPassados();
                }

                validadorGeral.JogosPassados = jogosPassados;
                validadorGeral.BancoAnalise.AddRange(jogosPassados);

                while (jogosValidos.Count < quantidadeJogos)
                {
                    RaiseOnGerarJogo(this, new EventArgs());
                    // Gerando as bolas
                    Jogo jogo = new Jogo();
                    while (jogo.Bolas.Count < quantidadeNumeros)
                    {
                        RaiseOnBolaSorteada(this, new EventArgs());
                        Random random = new Random(Seeder());
                        int    bola   = random.Next(1, 26);
                        if (!jogo.Bolas.Contains(bola))
                        {
                            jogo.Bolas.Add(bola);
                        }
                    }

                    jogo.Bolas.Sort();
                    for (int i = 1; i <= jogo.Bolas.Count; i++)
                    {
                        PropertyInfo propertyInfo = jogo.GetType().GetProperty("Bola" + i.ToString("00"));
                        propertyInfo.SetValue(jogo, jogo.Bolas[i - 1], null);
                    }

                    jogo.AnalisarJogo();

                    // Verificações para validação do jogo
                    MotivoReprovacao  motivo    = validadorGeral.Validar(jogo);
                    ValidadorGenerico validador = null;
                    if (motivo == MotivoReprovacao.NENHUM)
                    {
                        foreach (ValidadorGenerico validator in Validadores)
                        {
                            motivo = validator.Validar(jogo);
                            if (motivo == MotivoReprovacao.NENHUM)
                            {
                                validador = validator;
                                Banco.AdicionarJogoGerado(jogo, validador);
                                Banco.Salvar();
                                break;
                            }
                        }
                    }

                    if (motivo != MotivoReprovacao.NENHUM)
                    {
                        Banco.AdicionarJogoReprovado(jogo, motivo, Validadores);
                        Banco.Salvar();
                        RaiseOnJogoReprovado(this, new JogoReprovadoArgs(motivo));
                    }
                    else
                    {
                        RaiseOnJogoAprovado(this, new JogoAprovadoArgs(jogo, validador));
                    }
                }


                DateTime fim = DateTime.Now;
                System.Diagnostics.Debug.WriteLine("Fim: " + fim.ToString("HH:m:s tt zz"));
                TimeSpan diferenca = fim - inicio;
                System.Diagnostics.Debug.WriteLine("Tempo: " + diferenca.ToString("g"));
            } catch (Exception ex) {
                System.Diagnostics.Debug.WriteLine(ex.StackTrace);

                DateTime fim = DateTime.Now;
                System.Diagnostics.Debug.WriteLine("Fim: " + fim.ToString("HH:m:s tt zz"));
                TimeSpan diferenca = fim - inicio;
                System.Diagnostics.Debug.WriteLine("Tempo: " + diferenca.ToString("g"));
            }
        }