1
resposta

[Dúvida] Quiz

Boa tarde, tentei evoluir meu código, mas ele continua dando errado

<meta charset="UTF-8">

<script>

 function pulaLinha(){
        document.write("<br>");
        document.write("<br>");
    }

    function mostra(frase){
        document.write(frase);
        pulaLinha();
    }

do{
var facil = "fácil";
var mediaDois = "média";
var dificl = "dificil";
var nivelDeDificuldade = prompt("Digite o nível de dificuldade: fácil, média, difícil, ou sair");
var tentativas = 1;
var golsDoisMil= 32;
var quantidadeDeGolsDois = 10;

 if (nivelDeDificuldade == facil){
     while (tentativas <=3){
         var quantidadeDeGols = prompt ("Quantos gols o Neymar fez em 2022?");
         if (quantidadeDeGols == golsDoisMil){
             alert('Parabéns, você acertou!');
             mostra("Você acertou!");
             break;
         } else {
             alert("Você errou, tente novamente!");
             tentativas++;
         }
     }
 } while(nivelDeDificuldade != 'sair');

} 

if (nivelDeDificuldade == mediaDois){
    while(tentativas<=3){
        var quantidadeGolsChampions = prompt("Quanttos gols o Neymar fez na Champions de 2015?")
        if (quantidadeDeGolsChampions == quantidadeDeGolsDois ) {
            alert("Parábéns, você acertou ");
            mostra("Você acertou!");
        } else {
            alert("Você errou, tente novamente!");
            tentativas++;

        }
     }  while(nivelDeDificuldade != 'sair');
 }


 

 
</script>
1 resposta

Oi Flavio!

Seu código está bacana, mas pequenas coisas podem ser alteradas. Eu notei alguns pontos que podem estar causando problemas, o primeiro é que o loop do-while está sendo usado de uma forma que pode estar causando problemas na lógica do seu código. As variáveis e loops estão um pouco confusas e podem ser reorganizadas para melhor clareza e funcionalidade.

Por fim, batendo o olho tem algumas inconsistências nos nomes das variáveis, como quantidadeGolsChampions e quantidadeDeGolsChampions.

Refiz aqui parte do seu código e acredito que esteja melhor:

<meta charset="UTF-8">

<script>
    function pulaLinha(){
        document.write("<br>");
        document.write("<br>");
    }

    function mostra(frase){
        document.write(frase);
        pulaLinha();
    }

    var facil = "fácil";
    var media = "média";
    var dificil = "difícil";
    var nivelDeDificuldade;
    var tentativas;
    var golsDoisMil = 32;
    var quantidadeDeGolsDois = 10;

    do {
        nivelDeDificuldade = prompt("Digite o nível de dificuldade: fácil, média, difícil, ou sair");
        tentativas = 1;

        if (nivelDeDificuldade == facil) {
            while (tentativas <= 3) {
                var quantidadeDeGols = prompt("Quantos gols o Neymar fez em 2022?");
                if (quantidadeDeGols == golsDoisMil) {
                    alert('Parabéns, você acertou!');
                    mostra("Você acertou!");
                    break;
                } else {
                    alert("Você errou, tente novamente!");
                    tentativas++;
                }
            }
        } else if (nivelDeDificuldade == media) {
            while (tentativas <= 3) {
                var quantidadeDeGolsChampions = prompt("Quantos gols o Neymar fez na Champions de 2015?");
                if (quantidadeDeGolsChampions == quantidadeDeGolsDois) {
                    alert("Parabéns, você acertou!");
                    mostra("Você acertou!");
                    break;
                } else {
                    alert("Você errou, tente novamente!");
                    tentativas++;
                }
            }
        } else if (nivelDeDificuldade == dificil) {
            // Adicione aqui a lógica para o nível difícil, se vc quiser
        }

    } while (nivelDeDificuldade != 'sair');
</script>

Algumas mudanças foram, que eu mudei a estrutura do loop do-while para que ele envolva todo o processo de seleção de dificuldade e tentativas. Também corrigi o nome da variável mediaDois para media para manter a consistência. E por fim, adicionei um else if para o nível médio e deixei um espaço para o nível difícil, caso você queira adicionar mais perguntas.

Fica como desafio, tentar implementar uma lógica no qual o usuário consiga saber se está próximo ou não do número, confesso que demorei um pouco e tive que olhar a resposta no código rs. Espero ter ajudado! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!