public void ConfigurarQuiz(NivelDeEnsino nivelDeEnsino, Inteligencias inteligencias) { Afirmacao[] afirmacoesDisponiveis; string enunciadoDoQuiz; Sprite spriteDoIconeDoQuiz; // Sorteio entre 0 e 1. // Se sair 0, o quiz será sobre nível de ensino // Se sair 1, o quiz será sobre Inteligências Múltiplas //int zeroOuUm = Random.Range(0, 2); int zeroOuUm = 1; if (zeroOuUm == 0) { this.NivelDeEnsino = nivelDeEnsino; enunciadoDoQuiz = "Analise as afirmativas abaixo e selecione a(s) correta(s) sobre " + nivelDeEnsino.nome; spriteDoIconeDoQuiz = nivelDeEnsino.Sprite; afirmacoesDisponiveis = AfirmacaoSobreNivelDeEnsino.ObterTodasAsAfirmacoes(nivelDeEnsino); } else // ZeroOuUm == 1 { this.Inteligencias = inteligencias; enunciadoDoQuiz = "Analise as afirmativas abaixo e selecione a(s) correta(s) sobre o par de inteligências " + inteligencias.Nome; spriteDoIconeDoQuiz = inteligencias.SpriteGrande; afirmacoesDisponiveis = AfirmacaoSobreInteligencias.ObterTodasAsAfirmacoes(inteligencias); } // Selecionar algumas dessas afirmações para colocar no quiz var afirmacoesDoQuiz = new Afirmacao[quantidadeDeAfirmacoesNoQuiz]; // Selecionar pelo menos uma afirmação verdadeira var afirmacoesVerdadeiras = afirmacoesDisponiveis.Where(a => a.Verdadeira); var indiceAleatorio = Random.Range(0, afirmacoesVerdadeiras.Count()); afirmacoesDoQuiz[0] = afirmacoesVerdadeiras.ElementAt(indiceAleatorio); // Selecionar as outras afirmações do quiz, que podem ou não serem verdadeiras for (int i = 1; i < quantidadeDeAfirmacoesNoQuiz; i++) { // Remover das afirmações disponíveis as afirmações selecionadas afirmacoesDisponiveis = afirmacoesDisponiveis.Except(afirmacoesDoQuiz).ToArray(); indiceAleatorio = Random.Range(0, afirmacoesDisponiveis.Count()); var afirmacaoAleatoria = afirmacoesDisponiveis.ElementAt(indiceAleatorio); afirmacoesDoQuiz[i] = afirmacaoAleatoria; } formatoDoQuiz = Instantiate(prefabQuizVF, canvas.transform); formatoDoQuiz.TextoDoEnunciado = enunciadoDoQuiz; formatoDoQuiz.IconeDoQuiz.sprite = spriteDoIconeDoQuiz ? spriteDoIconeDoQuiz : spritePadraoDoIconeDoQuiz; formatoDoQuiz.DefinirAfirmacoes(afirmacoesDoQuiz); }
private void GerarQuiz() { // As informações sobre os enunciados e afirmações dos quizzes desta // metodologia foram retirados deste documento do drive // https://docs.google.com/document/d/1VQRlVu3IrM3_BZZWHb9cD6qSskkU-3zsUSs_m1YI9lY/edit int quantidadeDeQuizzesDisponiveis = 4; var quizSorteado = Random.Range(0, quantidadeDeQuizzesDisponiveis); // Gerar apenas o quiz sorteado if (quizSorteado == 1) { var quizMultiplaEscolha = Instantiate(prefabQuizMultiplaEscolha, canvas.transform); quizMultiplaEscolha.TextoDoEnunciado = "Sobre os papéis do aluno e do professor em ABP é correto afirmar:"; Afirmacao[] afirmacoes = { new Afirmacao(true, "O docente organiza seu planejamento em etapas, partindo do entendimento do problema proposto, até a apresentação do trabalho e análises dos resultados."), new Afirmacao(false, "O professor deve ser simples e objetivo, para permitir que o grupo não fique atento no assunto o tempo todo."), new Afirmacao(false, "Os alunos devem selecionar as hipóteses mais adequadas a partir das instruções apresentadas pelo professor."), new Afirmacao(false, "É importante que os alunos se mantenham curiosos sobre o conteúdo, então o professor deve manter as respostas em segredo até a avaliação dos resultados."), }; formatoDoQuiz = quizMultiplaEscolha; quizMultiplaEscolha.DefinirAfirmacoes(afirmacoes); } else if (quizSorteado == 2) { var quizMultiplaEscolha = Instantiate(prefabQuizMultiplaEscolha, canvas.transform); quizMultiplaEscolha.TextoDoEnunciado = "Sobre ABP é correto afirmar:"; Afirmacao[] afirmacoes = { new Afirmacao(true, "O problema deve estar relacionado com uma situação bem prática."), new Afirmacao(false, "Deve ser criado um enigma que exija muito trabalho para ser identificado pelos alunos."), new Afirmacao(false, "O problema precisa ser real, um caso que tenha ocorrido em situação verídica."), new Afirmacao(false, "Os alunos se deparam com um problema e precisam encontrar a solução correta."), }; formatoDoQuiz = quizMultiplaEscolha; quizMultiplaEscolha.DefinirAfirmacoes(afirmacoes); } else if (quizSorteado == 3) { var quizMultiplaEscolha = Instantiate(prefabQuizMultiplaEscolha, canvas.transform); quizMultiplaEscolha.TextoDoEnunciado = "Na metodologia ABP, assinale a alternativa que mostra quais devem ser as características do problema apresentado aos alunos?"; Afirmacao[] afirmacoes = { new Afirmacao(true, "Apresentar tema e nível de complexidade compatíveis com o conhecimento prévio dos alunos."), new Afirmacao(false, "Apresentar uma situação totalmente nova e desconhecida pelos alunos."), new Afirmacao(false, "Para não inviabilizar as discussões em grupo, é melhor que poucos alunos relatem suas experiências prévias com o problema."), new Afirmacao(false, "Um enunciado completo e complexo para permitir a visualização da questão principal como um todo."), }; formatoDoQuiz = quizMultiplaEscolha; quizMultiplaEscolha.DefinirAfirmacoes(afirmacoes); } else // quizSorteado == 0 { var quizOrdenar = Instantiate(prefabQuizOrdenar, canvas.transform); quizOrdenar.TextoDoEnunciado = "Clique e arraste as etapas da metodologia Aprendizagem Baseada em Problemas para formar a ordem correta de execução."; Afirmacao[] afirmacoesNaOrdemCorreta = { new Afirmacao(true, "Apresentar as respostas e avaliar os resultados."), new Afirmacao(true, "Buscar novas referências para qualificar as propostas, debater e buscar consenso sobre as possíveis soluções."), new Afirmacao(true, "Analisar as variáveis do problema e propor possíveis soluções."), new Afirmacao(true, "Apresentar o problema e levantar os conhecimentos sobre o assunto."), }; formatoDoQuiz = quizOrdenar; quizOrdenar.DefinirAfirmacoes(afirmacoesNaOrdemCorreta); } formatoDoQuiz.IconeDoQuiz.sprite = spriteDoIconeDoQuiz; }