const selector = document.getElementById("selector"); const quiz = document.getElementById("quiz"); const resultado = document.getElementById("resultado"); const feedback = document.getElementById("feedback"); const preguntaActualContenedor = document.getElementById("pregunta-actual"); let preguntasCargadas = []; let estado = { indiceActual: 0, aciertos: 0, fallos: 0 }; // --- CARGAR EXAMEN --- selector.addEventListener("change", async () => { const url = selector.value; if (!url) return; const datos = await fetch(url).then(r => r.json()); // Ajustamos por si el JSON viene con una propiedad .preguntas o es un array directo preguntasCargadas = datos.preguntas || datos; reiniciarEstadisticas(); mostrarSiguientePregunta(); }); function reiniciarEstadisticas() { estado.indiceActual = 0; estado.aciertos = 0; estado.fallos = 0; quiz.innerHTML = ""; // Limpiamos el modo "lista completa" resultado.textContent = ""; } // --- MOSTRAR UNA POR UNA --- function mostrarSiguientePregunta() { feedback.textContent = ""; if (estado.indiceActual >= preguntasCargadas.length) { finalizarExamen(); return; } const p = preguntasCargadas[estado.indiceActual]; actualizarMarcador(); preguntaActualContenedor.innerHTML = `
Pregunta ${estado.indiceActual + 1} de ${preguntasCargadas.length}
${p.pregunta}
${Object.entries(p.opciones).map(([letra, texto]) => ` `).join("")}Aciertos: ${estado.aciertos}
Fallos: ${estado.fallos}
Nota sobre 10: ${notaFinal}