Como Criar um Quiz Bíblico Interativo com JavaScript

Seja muito bem-vindo à Academy Code Christ!



🌍 Este site está disponível em vários idiomas.
Fique à vontade para usar o tradutor no topo da página e aprender no seu idioma.

Quem não ama um bom quiz? 🎯



Desafiar o conhecimento, marcar pontos, acertar ou errar é envolvente, divertido e educativo.

Agora imagine um Quiz Bíblico onde você aprende sobre a Palavra de Deus enquanto pratica JavaScript de verdade.

Neste projeto você vai criar um quiz completo com perguntas, alternativas, pontuação e tela de resultado tudo do zero. 💻✝️


🎯 O Que Vamos Construir?


● ❓ 5 perguntas bíblicas com 4 alternativas cada

● ✅ Feedback imediato — verde pra certo, vermelho pra errado

● 📊 Pontuação calculada ao final

● 🏆 Tela de resultado com mensagem personalizada

● 🔄 Botão de reiniciar o quiz

● 📱 Responsivo e visualmente bonito


🔨 Passo 1 O HTML (index.html)


<!DOCTYPE html>

<html lang="pt-BR">

<head>

<meta charset="UTF-8">

<meta name="viewport"

content="width=device-width,

initial-scale=1.0">

<title>Quiz Bíblico ✝️</title>

<link rel="stylesheet"

href="style.css">

</head>

<body>



<div class="container">



<!-- Cabeçalho -->

<div class="header">

<h1>✝️ Quiz Bíblico</h1>

<div class="progresso">

<span id="atual">1</span> /

<span id="total">5</span>

</div>

</div>



<!-- Pergunta -->

<div class="card"

id="quiz-box">

<p class="pergunta"

id="pergunta"></p>

<div class="alternativas"

id="alternativas">

</div>

<p class="feedback"

id="feedback"></p>

<button class="btn"

id="btn-next"

onclick="proxima()"

style="display:none">

Próxima ➡️

</button>

</div>



<!-- Resultado (oculto no início) -->

<div class="resultado"

id="resultado"

style="display:none">

<h2 id="emoji-resultado"></h2>

<h3 id="msg-resultado"></h3>

<p id="pontos-resultado"></p>

<button class="btn"

onclick="reiniciar()">

🔄 Jogar Novamente

</button>

</div>



<p class="rodape">

✝️ Academy Code Christ —

Tecnologia guiada pela fé

</p>



</div>



<script src="script.js"></script>

</body>

</html>




🎨 Passo 2 O CSS (style.css)


* {

margin:0;

padding:0;

box-sizing:border-box;

}



body {

background: linear-gradient(

135deg, #5b0000, #1a0000

);

min-height: 100vh;

display: flex;

align-items: center;

justify-content: center;

font-family: 'Poppins', sans-serif;

padding: 20px;

}



.container {

max-width: 600px;

width: 100%;

}



.header {

display: flex;

justify-content: space-between;

align-items: center;

margin-bottom: 20px;

}



h1 {

color: #fff;

font-size: 1.8em;

}



.progresso {

background: rgba(255,255,255,0.2);

color: white;

padding: 8px 16px;

border-radius: 50px;

font-weight: bold;

}



.card {

background: white;

border-radius: 20px;

padding: 35px 30px;

box-shadow: 0 20px 60px

rgba(0,0,0,0.3);

}



.pergunta {

font-size: 1.2em;

color: #333;

font-weight: bold;

margin-bottom: 25px;

line-height: 1.6;

}



.alternativas {

display: flex;

flex-direction: column;

gap: 12px;

margin-bottom: 20px;

}



.alternativa {

background: #f8f8f8;

border: 2px solid #eee;

padding: 14px 18px;

border-radius: 10px;

cursor: pointer;

font-family: 'Poppins', sans-serif;

font-size: 0.95em;

transition: all 0.2s;

text-align: left;

}



.alternativa:hover {

background: #f0e0e0;

border-color: #5b0000;

transform: translateX(5px);

}



.alternativa.correta {

background: #d4edda;

border-color: #28a745;

color: #155724;

}



.alternativa.errada {

background: #f8d7da;

border-color: #dc3545;

color: #721c24;

}



.feedback {

font-weight: bold;

font-size: 1em;

margin-bottom: 15px;

min-height: 24px;

}



.resultado {

background: white;

border-radius: 20px;

padding: 40px;

text-align: center;

box-shadow: 0 20px 60px

rgba(0,0,0,0.3);

}



.btn {

background: #5b0000;

color: white;

border: none;

padding: 13px 30px;

font-size: 1em;

border-radius: 50px;

cursor: pointer;

font-family: 'Poppins', sans-serif;

transition: all 0.3s;

}



.btn:hover {

background: #800000;

transform: translateY(-2px);

}



.rodape {

color: rgba(255,255,255,0.5);

text-align: center;

margin-top: 20px;

font-size: 0.85em;

}




⚡ Passo 3 O JavaScript (script.js)


// 📖 Perguntas do Quiz

const perguntas = [

{

pergunta: "Quantos dias Deus levou

para criar o mundo?",

opcoes: ["3 dias", "6 dias",

"7 dias", "10 dias"],

correta: 1

},

{

pergunta: "Quem foi jogado na cova

dos leões?",

opcoes: ["Moisés", "Davi",

"Daniel", "Paulo"],

correta: 2

},

{

pergunta: "Quantos apóstolos

Jesus escolheu?",

opcoes: ["10", "12",

"7", "14"],

correta: 1

},

{

pergunta: "Qual era a profissão de

José, pai terreno de Jesus?",

opcoes: ["Pescador", "Carpinteiro",

"Pastor", "Médico"],

correta: 1

},

{

pergunta: "Qual versículo começa com

'Porque Deus amou o mundo'?",

opcoes: ["João 1:1", "Salmos 23:1",

"João 3:16",

"Filipenses 4:13"],

correta: 2

}

];



// Estado do quiz

let indiceAtual = 0;

let pontos = 0;

let respondeu = false;



// Carrega a pergunta atual

function carregarPergunta() {

respondeu = false;

const atual = perguntas[indiceAtual];



document.getElementById('pergunta')

.textContent = atual.pergunta;



document.getElementById('atual')

.textContent = indiceAtual + 1;



document.getElementById('feedback')

.textContent = '';



document.getElementById('btn-next')

.style.display = 'none';



// Cria os botões de alternativa

const div =

document.getElementById('alternativas');

div.innerHTML = '';



atual.opcoes.forEach((opcao, i) => {

const btn =

document.createElement('button');

btn.className = 'alternativa';

btn.textContent = opcao;

btn.onclick = () => responder(i, btn);

div.appendChild(btn);

});

}



// Verifica resposta

function responder(indice, btnClicado) {

if (respondeu) return;

respondeu = true;



const correta =

perguntas[indiceAtual].correta;



const feedback =

document.getElementById('feedback');



if (indice === correta) {

btnClicado.classList.add('correta');

feedback.textContent =

'✅ Correto! Muito bem! 🙌';

feedback.style.color = '#28a745';

pontos++;

} else {

btnClicado.classList.add('errada');

feedback.textContent =

'❌ Errou! Mas continue tentando!';

feedback.style.color = '#dc3545';



// Mostra a correta

const todos = document

.querySelectorAll('.alternativa');

todos[correta]

.classList.add('correta');

}



document.getElementById('btn-next')

.style.display = 'block';

}



// Avança para próxima pergunta

function proxima() {

indiceAtual++;



if (indiceAtual < perguntas.length) {

carregarPergunta();

} else {

mostrarResultado();

}

}



// Mostra resultado final

function mostrarResultado() {

document.getElementById('quiz-box')

.style.display = 'none';



const resultado =

document.getElementById('resultado');

resultado.style.display = 'block';



let emoji, msg;



if (pontos === 5) {

emoji = '🏆';

msg = 'Perfeito! Você é um

mestre bíblico!';

} else if (pontos >= 3) {

emoji = '🙌';

msg = 'Muito bem! Continue

estudando a Palavra!';

} else {

emoji = '📖';

msg = 'Continue estudando!

Deus abençoa quem busca!';

}



document.getElementById('emoji-resultado')

.textContent = emoji;

document.getElementById('msg-resultado')

.textContent = msg;

document.getElementById('pontos-resultado')

.textContent =

`Você acertou ${pontos} de

${perguntas.length} perguntas!`;

}



// Reinicia o quiz

function reiniciar() {

indiceAtual = 0;

pontos = 0;



document.getElementById('resultado')

.style.display = 'none';

document.getElementById('quiz-box')

.style.display = 'block';



carregarPergunta();

}



// Inicia o quiz

carregarPergunta();



📚 Conceitos JavaScript que Você Praticou

📦 Arrays e Objetos

Estrutura de dados para armazenar perguntas e alternativas

🔁 forEach

Iteração sobre arrays para criar botões dinamicamente

🧠 Lógica Condicional

if/else para verificar respostas e calcular pontuação

🖱️ DOM

Manipulação dinâmica de elementos HTML com JavaScript

✝️ Divertir-se Aprendendo a Palavra

Esse projeto prova que programação pode ser divertida, criativa e significativa ao mesmo tempo.

Com um quiz bíblico, você pratica JavaScript de verdade e ainda leva conhecimento da Palavra de Deus para quem jogar. 🙏

Compartilhe com sua igreja, seu grupo de jovens — e veja o impacto!
🚀 Quer Mais Projetos Assim?

Acompanhe a Academy Code Christ — projetos reais, conteúdo prático e sem enrolação!



Este conteúdo faz parte do Academy Code Christ. 

Um projeto criado para ajudar jovens e iniciantes a aprender programação do zero, de forma simples e gratuita.

Nossa missão é compartilhar conhecimento e incentivar mais pessoas a descobrir que também podem aprender tecnologia, criar projetos e desenvolver novas habilidades.
Todo o conteúdo é disponibilizado gratuitamente, de forma clara, prática e 
sem enrolação. 

Você pode apoiar o projeto se quiser 
com um café. 


Post a Comment

Postagem Anterior Próxima Postagem