-
Notifications
You must be signed in to change notification settings - Fork 0
/
quiz.js
234 lines (193 loc) · 6.93 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
let titulo = document.querySelector('h1')
let instrucoes = document.querySelector('#instrucoes')
let aviso = document.querySelector('#aviso')
//let respostaEsta = document.querySelector('#respostaEsta')
let pontos = 0 // pontos para o placar
let placar = 0 // placar
// PERGUNTA
let numQuestao = document.querySelector('#numQuestao')
let pergunta = document.querySelector('#pergunta')
// ALTERNATIVAS
let a = document.querySelector('#a')
let b = document.querySelector('#b')
let c = document.querySelector('#c')
// article com a class questoes
let articleQuestoes = document.querySelector('.questoes')
// ol li com as alternativas
let alternativas = document.querySelector('#alternativas')
const q0 = {
numQuestao : 0,
pergunta : "Pergunta",
alternativaA : "Alternativa A",
alternativaB : "Alternativa B",
alternativaC : "Alternativa C",
correta : "0",
}
const q1 = {
numQuestao : 1,
pergunta : "Por que o livro tem o nome de Extraordinário?",
alternativaA : "Porque a doença dele é extraordinariamente rara.",
alternativaB : "Porque a mãe e o pai de August acham-no extraordinário.",
alternativaC : "Por que ele vive com pessoas extraordinárias.",
correta : "Porque a mãe e o pai de August acham-no extraordinário.",
}
const q2 = {
numQuestao : 2,
pergunta : "De quem August ganhou o seu capacete de astronauta?",
alternativaA : "Miranda.",
alternativaB : "Cristopher.",
alternativaC : "Scheila.",
correta : "Miranda.",
}
const q3 = {
numQuestao : 3,
pergunta : "Quem era o diretor da escola de August?",
alternativaA : "Dire Dani.",
alternativaB : "Sr. Buzanfa.",
alternativaC : "Sr. Brown.",
correta : "Sr. Buzanfa.",
}
const q4 = {
numQuestao : 4,
pergunta : "Quais são os nomes das três crianças que apresentam a escola para August?",
alternativaA : "Jack Will, Summer e Reid.",
alternativaB : "Jack Will, Julian e Charlotte.",
alternativaC : "Charlotte, Julian e Via.",
correta : "Jack Will, Julian e Charlotte.",
}
const q5 = {
numQuestao : 5,
pergunta : "Qual foi o preceito do Sr. Browne em setembro, no primeiro dia?",
alternativaA : "Entre estar certo e ser gentil, escolha ser gentil.",
alternativaB : "Não mude sua vida, mude de amigos.",
alternativaC : "Insista, persista e nunca desista.",
correta : "Entre estar certo e ser gentil, escolha ser gentil.",
}
const q6 = {
numQuestao : 6,
pergunta : "Qual a matéria preferida de Auggie?",
alternativaA : "Ciências.",
alternativaB : "Arte.",
alternativaC : "Matemática.",
correta : "Ciências.",
}
const q7 = {
numQuestao : 7,
pergunta : "Os colegas de August tinham medo tocá-lo por medo de pegar a 'peste negra da feiura' como...",
alternativaA : "Toque do Mortadela em o Diário de um banana.",
alternativaB : "Toque do Queijo em o Diário de um banana.",
alternativaC : "Toque do Calabresa em o Diário de um banana.",
correta : "Toque do Queijo em o Diário de um banana.",
}
const q8 = {
numQuestao : 8,
pergunta : "A trança que August tinha fazia referência a...",
alternativaA : "Padawan.",
alternativaB : "Harry Potter.",
alternativaC : "Chewbaca.",
correta : "Padawan.",
}
const q9 = {
numQuestao : 9,
pergunta : "Auggie costumava observar os sapatos das pessoas porque…",
alternativaA : "Adorava moda.",
alternativaB : "Achava que o sapato revelava como a pessoa era.",
alternativaC : "Fazia coleção de sapatos.",
correta : "Achava que o sapato revelava como a pessoa era.",
}
const q10 = {
numQuestao : 10,
pergunta : "Qual é o nome do filme que August foi assistir no acampamento?",
alternativaA : "O mágico de Oz.",
alternativaB : "A noiva fantasma.",
alternativaC : "Titanic.",
correta : "O mágico de Oz.",
}
const questoes = [q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10]
let numero = document.querySelector('#numero')
let total = document.querySelector('#total')
numero.textContent = q1.numQuestao
let totalDeQuestoes = (questoes.length)-1
console.log("Total de questões " + totalDeQuestoes)
total.textContent = totalDeQuestoes
numQuestao.textContent = q1.numQuestao
pergunta.textContent = q1.pergunta
a.textContent = q1.alternativaA
b.textContent = q1.alternativaB
c.textContent = q1.alternativaC
a.setAttribute('value', '1A')
b.setAttribute('value', '1B')
c.setAttribute('value', '1C')
function proximaQuestao(nQuestao) {
numero.textContent = nQuestao
numQuestao.textContent = questoes[nQuestao].numQuestao
pergunta.textContent = questoes[nQuestao].pergunta
a.textContent = questoes[nQuestao].alternativaA
b.textContent = questoes[nQuestao].alternativaB
c.textContent = questoes[nQuestao].alternativaC
a.setAttribute('value', nQuestao+'A')
b.setAttribute('value', nQuestao+'B')
c.setAttribute('value', nQuestao+'C')
}
function bloquearAlternativas() {
a.classList.add('bloqueado')
b.classList.add('bloqueado')
c.classList.add('bloqueado')
}
function desbloquearAlternativas() {
a.classList.remove('bloqueado')
b.classList.remove('bloqueado')
c.classList.remove('bloqueado')
}
function verificarSeAcertou(nQuestao, resposta) {
let numeroDaQuestao = nQuestao.value
console.log("Questão " + numeroDaQuestao)
let respostaEscolhida = resposta.textContent
//console.log("RespU " + respostaEscolhida)
let certa = questoes[numeroDaQuestao].correta
//console.log("RespC " + certa)
if(respostaEscolhida == certa) {
//console.log("Acertou")
//respostaEsta.textContent = "Correta 😊"
pontos += 10 // pontos = pontos + 10
} else {
//console.log("Errou!")
//respostaEsta.textContent = "Errada 😢"
}
// atualizar placar
placar = pontos
instrucoes.textContent = "Pontos " + placar
// bloquear a escolha de opcoes
bloquearAlternativas()
setTimeout(function() {
//respostaEsta.textContent = '...'
proxima = numeroDaQuestao+1
if(proxima > totalDeQuestoes) {
console.log('Fim do Jogo!')
fimDoJogo()
} else {
proximaQuestao(proxima)
}
}, 250)
desbloquearAlternativas()
}
function fimDoJogo() {
instrucoes.textContent = "Fim de Jogo!"
numQuestao.textContent = ""
let pont = ''
pontos == 0 ? pont = 'ponto' : pont = 'pontos'
pergunta.textContent = "Você conseguiu " + pontos + " " + pont
aviso.textContent = "Você conseguiu " + pontos + " " + pont
a.textContent = ""
b.textContent = ""
c.textContent = ""
a.setAttribute('value', '0')
b.setAttribute('value', '0')
c.setAttribute('value', '0')
// OCULTAR O ARTICLE DA QUESTAO
articleQuestoes.style.display = 'none'
setTimeout(function() {
pontos = 0 // zerar placar
location.reload();
}, 2000)
}