Untitled
unknown
javascript
a year ago
6.7 kB
20
Indexable
// Elementos do DOM const caixaPrincipal = document.querySelector(".caixa-principal"); const caixaPerguntas = document.querySelector(".caixa-perguntas"); const caixaAlternativas = document.querySelector(".caixa-alternativas"); const caixaResultado = document.querySelector(".caixa-resultado"); const textoResultado = document.querySelector(".texto-resultado"); const botaoJogarNovamente = document.querySelector(".novamente-btn"); const botaoIniciar = document.querySelector(".iniciar-btn"); const telaInicial = document.querySelector(".tela-inicial"); // Variáveis de controle let atual = 0; let perguntaAtual; let historiaFinal = ""; // Nomes aleatórios const nomes = ["Ana", "Bruno", "Carla", "Daniel", "Eva", "Felipe", "Gabriela"]; function aleatorio(lista) { const posicao = Math.floor(Math.random() * lista.length); return lista[posicao]; } const nome = aleatorio(nomes); // Perguntas do jogo const perguntas = [ { enunciado: "Você encontra uma misteriosa caixa no meio da floresta. O que você faz?", alternativas: [ { texto: "Abre a caixa sem hesitar.", afirmacao: [ "Dentro da caixa, você encontra um mapa antigo.", "O mapa parece levar a um tesouro escondido." ], proxima: 1, }, { texto: "Deixa a caixa onde está.", afirmacao: [ "Você decide não se arriscar com algo desconhecido.", "Continua sua caminhada pela floresta, mas sente que perdeu uma grande oportunidade." ], proxima: 2, }, ] }, { enunciado: "O mapa leva a uma caverna escondida. Você decide entrar?", alternativas: [ { texto: "Sim, você entra na caverna.", afirmacao: [ "Dentro da caverna, você encontra pistas de um antigo tesouro.", "As paredes estão cobertas de inscrições antigas." ], proxima: 3, }, { texto: "Não, você volta para casa.", afirmacao: [ "Decide que é melhor não arriscar sua segurança.", "Conta a história da caixa misteriosa para seus amigos." ], proxima: 4, }, ] }, { enunciado: "Enquanto caminha pela floresta, você encontra um viajante perdido. O que você faz?", alternativas: [ { texto: "Oferece ajuda ao viajante.", afirmacao: [ "O viajante agradece e lhe dá um amuleto como presente.", "Vocês continuam a jornada juntos, em busca de aventuras." ], proxima: 5, }, { texto: "Ignora o viajante e continua sua caminhada.", afirmacao: [ "Você decide que é melhor seguir sozinho.", "A solidão da floresta começa a pesar em seus ombros." ], proxima: 6, }, ] }, { enunciado: "As inscrições na caverna mencionam um guardião do tesouro. O que você faz?", alternativas: [ { texto: "Procura pelo guardião.", afirmacao: [ "Você encontra o guardião e ele desafia você a um enigma.", "Se conseguir resolver o enigma, o tesouro será seu." ], proxima: 7, }, { texto: "Decide que é melhor não mexer com o guardião.", afirmacao: [ "Sai da caverna sem o tesouro, mas em segurança.", "A história da caverna fica como uma lenda para contar." ], proxima: 7, }, ] }, { enunciado: "Você decide explorar mais a floresta em busca de novas aventuras. O que você espera encontrar?", alternativas: [ { texto: "Novos desafios e mistérios.", afirmacao: [ "Você sente que cada dia é uma nova aventura.", "A floresta guarda muitos segredos esperando para serem descobertos." ], }, { texto: "Um caminho de volta para casa.", afirmacao: [ "Após tantas aventuras, você sente falta do conforto de casa.", "Decide que está na hora de voltar e contar suas histórias." ], }, ] } ]; // Funções do jogo function iniciaJogo() { atual = 0; historiaFinal = ""; telaInicial.style.display = 'none'; caixaPrincipal.style.display = 'flex'; mostraPergunta(); } function mostraPergunta() { if (atual >= perguntas.length) { mostraResultado(); return; } perguntaAtual = perguntas[atual]; caixaPerguntas.textContent = perguntaAtual.enunciado; caixaAlternativas.textContent = ""; mostraAlternativas(); } function mostraAlternativas() { for (const alternativa of perguntaAtual.alternativas) { const botaoAlternativas = document.createElement("button"); botaoAlternativas.textContent = alternativa.texto; botaoAlternativas.addEventListener("click", () => respostaSelecionada(alternativa)); caixaAlternativas.appendChild(botaoAlternativas); } } function respostaSelecionada(opcaoSelecionada) { const afirmacoes = aleatorio(opcaoSelecionada.afirmacao); historiaFinal += afirmacoes + " "; if (opcaoSelecionada.proxima !== undefined) { atual = opcaoSelecionada.proxima; } else { mostraResultado(); return; } mostraPergunta(); } function mostraResultado() { caixaPrincipal.style.display = 'none'; caixaResultado.classList.add("mostrar"); textoResultado.textContent = historiaFinal; botaoJogarNovamente.addEventListener("click", jogaNovamente); } function jogaNovamente() { atual = 0; historiaFinal = ""; caixaResultado.classList.remove("mostrar"); caixaPrincipal.style.display = 'flex'; mostraPergunta(); } // Inicialização do jogo botaoIniciar.addEventListener('click', iniciaJogo);
Editor is loading...
Leave a Comment