-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquiz.js
58 lines (50 loc) · 2.02 KB
/
quiz.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// quiz.js
export class Quiz {
constructor(perguntas) {
this.perguntas = perguntas;
this.pontos = 0;
}
// Método para verificar a resposta
verificarResposta(inputValue, respostaCorreta) {
return inputValue.trim().toLowerCase() === respostaCorreta.toLowerCase();
}
// Método para processar a resposta e atualizar a pontuação
processarResposta(input, respostaCorreta) {
if (this.verificarResposta(input.value, respostaCorreta)) {
this.pontos++;
alert('Resposta correta!');
} else {
alert('Resposta incorreta. Tente novamente.');
}
this.atualizarPontuacao();
input.value = ''; // Limpa o campo de entrada
}
// Método para atualizar a pontuação exibida
atualizarPontuacao() {
const pontuacaoElemento = document.getElementById('pontuacao');
pontuacaoElemento.textContent = `Pontuação: ${this.pontos}`;
}
// Método para renderizar perguntas dinamicamente
renderizarPerguntas() {
const questoesElemento = document.getElementById('questoes');
this.perguntas.forEach(({ pergunta, respostaCorreta }, index) => {
// Cria elementos para cada pergunta
const li = document.createElement('li');
const b = document.createElement('b');
b.textContent = pergunta;
const input = document.createElement('input');
input.type = 'text';
input.id = `resposta${index}`;
const button = document.createElement('button');
button.type = 'button';
button.textContent = 'Enviar';
button.addEventListener('click', () => this.processarResposta(input, respostaCorreta));
// Adiciona os elementos ao li
li.appendChild(b);
li.appendChild(input);
li.appendChild(button);
// Adiciona o li à lista de questões
questoesElemento.appendChild(li);
});
}
}