示例#1
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("Tem certeza que quer começar uma rodada de repescagem?", "Confirmar", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         JogoStatic.Repescagem();
         Close();
     }
 }
示例#2
0
        private void btnJogar_Click(object sender, EventArgs e)
        {
            if (eqp.Select("ENABLED = 'True'").Count() < 1)
            {
                MessageBox.Show("Pelo menos um grupo deve estar participando!");
                return;
            }
            if (dif.Select("ENABLED = 'True'").Count() < 1)
            {
                MessageBox.Show("Pelo menos uma dificuldade deve estar habilitada!");
                return;
            }
            if (mat.Select("ENABLED = 'True'").Count() < 1)
            {
                MessageBox.Show("Pelo menos uma matéria deve estar habilitada!");
                return;
            }
            var stringAviso = "Dificuldades Selecionadas: ";

            var dificuldades = new List <string>();

            foreach (DataRow r in dif.Select("ENABLED = 'True'"))
            {
                dificuldades.Add(r["DIF_NOME"].ToString());
            }
            stringAviso += string.Join(",", dificuldades);

            var materias = new List <string>();

            foreach (DataRow r in mat.Select("ENABLED = 'True'"))
            {
                materias.Add(r["T_NOME"].ToString());
            }
            stringAviso += "\nMaterias Selecionadas: " + string.Join(",", materias);

            var grupos = new List <string>();

            foreach (DataRow r in eqp.Select("ENABLED = 'True'"))
            {
                grupos.Add(r["GP_NOME"].ToString());
            }
            stringAviso += "\nGrupos Selecionados: " + string.Join(",", grupos);
            stringAviso += "\n Deseja começar o Quiz?";

            if (MessageBox.Show(stringAviso, "Continuar?", MessageBoxButtons.OKCancel) != DialogResult.OK)
            {
                return;
            }
            var dc = new DataColumn();

            dc.DefaultValue = 0;
            dc.DataType     = typeof(int);
            dc.ColumnName   = "PONTOS";
            eqp.Columns.Add(dc);

            var dc1 = new DataColumn();

            dc1.DefaultValue = 0;
            dc1.ColumnName   = "ACERTOS";
            eqp.Columns.Add(dc1);


            JogoStatic.TempoQuestao         = (int)numericUpDown1.Value;
            JogoStatic.ErrosPermitidos      = (int)numericUpDown3.Value;
            JogoStatic.TimerAutomatic       = checkBox5.Checked;
            JogoStatic.MostrarDissertativas = checkBox4.Checked;
            JogoStatic.Equipes = eqp.Select("ENABLED = 'True'").CopyToDataTable();
            var listIds = new List <string>();

            foreach (DataRow r in JogoStatic.Equipes.Rows)
            {
                listIds.Add(r["GP_ID"].ToString());
            }
            try
            {
                JogoStatic.Participantes = parts.Select($"P_GP_ID IN ({string.Join(",", listIds)})").CopyToDataTable();
            }
            catch
            {
                MessageBox.Show("Não existem participantes em nenhum dos grupos!");
                return;
            }
            JogoStatic.Imagens       = QuizDBConnect.Query(Program.user, Program.pass, "dbQuiz2019", $"SELECT * FROM tbImagem", Program.env);
            JogoStatic.Dificuldades  = dif.Select("ENABLED = 'True'").CopyToDataTable();
            JogoStatic.DifTopQuiz    = dif.Rows[comboBox4.SelectedIndex];
            JogoStatic.DifRepescagem = dif.Rows[comboBox5.SelectedIndex];
            JogoStatic.Materias      = mat.Select("ENABLED = 'True'").CopyToDataTable();
            var c = new DataColumn("ERROS");
            var v = new DataColumn("VIDAS_EXTRA");

            c.DefaultValue = 0;
            v.DefaultValue = 0;
            JogoStatic.Equipes.Columns.Add(c);
            JogoStatic.Equipes.Columns.Add(v);

            var listIdsD = new List <string>();

            foreach (DataRow r in JogoStatic.Dificuldades.Rows)
            {
                listIdsD.Add(r["DIF_ID"].ToString());
            }

            var listIdsT = new List <string>();

            foreach (DataRow r in JogoStatic.Materias.Rows)
            {
                listIdsT.Add(r["T_ID"].ToString());
            }
            try
            {
                JogoStatic.Perguntas = pergs.Select($"DIF_ID IN ({string.Join(",", listIdsD)},{JogoStatic.DifTopQuiz["DIF_ID"]}) AND Q_TOPICO_ID IN ({string.Join(",", listIdsT)})").CopyToDataTable();
            }
            catch
            {
                MessageBox.Show("Não há nenhuma questão elegível para o Top Quiz");
                return;
            }
            JogoStatic.TopQuizNQ = (int)numericUpDown4.Value;
            var listIdsQ = new List <string>();

            foreach (DataRow r in JogoStatic.Perguntas.Rows)
            {
                listIdsQ.Add(r["Q_ID"].ToString());
            }
            JogoStatic.Alternativas = QuizDBConnect.Query(Program.user, Program.pass, "dbQuiz2019", $"SELECT * FROM tbAlternativas WHERE ALT_Q_ID IN ({string.Join(",", listIdsQ)})", Program.env);
            Hide();
            JogoStatic.GameLoop();
            Close();
        }