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(); } }
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(); }