private void btnIniciarExperimento_Click(object sender, EventArgs e) { var participante = CriaParticipantePelosCampos(); var experimentador = CriaExperimentadorPelosCampos(); var experimentoUm = CriaExperimentoUmPelosCampos(); var experimentoDois = CriarExperimentoDoisPelosCampos(); var experimentoUmRealizado = new ExperimentoUmRealizado() { ExperimentoUm = experimentoUm }; var experimentoDoisRealizado = new ExperimentoDoisRealizado() { ExperimentoDois = experimentoDois }; var experimentoRealizado = new ExperimentoRealizado { Participante = participante, Experimentador = experimentador, ExperimentoUmRealizado = experimentoUmRealizado, ExperimentoDoisRealizado = experimentoDoisRealizado, DateTimeInicio = DateTime.Now }; var telaBackgroud = new TelaMensagem("") { BackColor = Color.Black }; telaBackgroud.Show(); new TelaMensagem(experimentoUm.InstrucaoInicial, true).ShowDialog(); new ExperimentoView(experimentoRealizado).ShowDialog(); var grauFinal = experimentoDoisRealizado.GrauAtual(); new TelaMensagem($"Fim do Experimento! O seu grau final foi {grauFinal}!\nPor favor, chamar o experimentador.").ShowDialog(); telaBackgroud.Close(); }
private async void IniciarNovoNumero() { string novoNumero; if (experimentoAtual == 1) { novoNumero = experimentoUmRealizado.GeraNumero(); // Iniciamos o experimento 2 if (novoNumero == null) { experimentoAtual++; experimentoDoisRealizado.SetTamanhoSequencia(experimentoUmRealizado.tamanhoMaximoLinhaDeBase); experimentoDoisRealizado.SetTamanhoBlocoTentativas(experimentoUm.TamanhoBlocoTentativas); experimentoDoisRealizado.DateTimeInicio = DateTime.Now; ExperimentoDoisRealizadoService.Salvar(experimentoDoisRealizado); Opacity = 0; RegistrarEvento($"Tela preta para instrução do experimento dois. Opacidade: {Opacity}", true); new TelaMensagem(experimentoDois.InstrucaoInicial, true).ShowDialog(); IniciarNovaFase(); return; } } else { novoNumero = experimentoDoisRealizado.GerarNumero(); // Acabou o experimento if (novoNumero == null) { ExperimentoRealizadoService.Salvar(experimentoRealizado); var geradorRelatorio = new GeradorRelatorios(experimentoRealizado); geradorRelatorio.GerarRelatorio(); Close(); return; } if (experimentoDoisRealizado.faseAtual > 0) { MostrarMensagem(experimentoDoisRealizado.GrauAtual()); } } lblNumero.Font = new Font(lblNumero.Font.Name, tamanhoFonteOriginal, lblNumero.Font.Style); lblNumero.Text = novoNumero; while (TextRenderer.MeasureText(lblNumero.Text, lblNumero.Font).Width >= pnNumero.Size.Width) { var novaFonte = new Font(lblNumero.Font.Name, lblNumero.Font.Size - 1, lblNumero.Font.Style); lblNumero.Font = novaFonte; tbInput.Font = novaFonte; } lblNumero.Location = new Point { Y = (pnNumero.Size.Height - lblNumero.Size.Height) / 2, X = (pnNumero.Size.Width - lblNumero.Size.Width) / 2 }; RegistrarEvento($"Inciando apresentação de um novo número: {novoNumero}"); pnNumero.Visible = true; await FadeIn(this, 1); await Task.Delay(experimentoUm.TempoApresentacaoEstimulo * 1000); pnNumero.Visible = false; if (experimentoAtual == 1 && experimentoUmRealizado.faseAtual == 0) { PreparaParaReceberInput(); } else { SortearPosicaoBotoes(); btnCerteza.Visible = true; btnTalvez.Visible = true; btnCerteza.Enabled = true; btnTalvez.Enabled = true; btnInvisivel.Focus(); } }