Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Compartilhando código da implementação

Compartilhando implementação da atividade. Por gentileza me ajudem com possíveis melhorias.

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>"); 
        document.write("<br>"); 

    }

    function exibirMensagem(frase) {

        document.write(frase);
        pulaLinha();

    }

    var numeroPensado = Math.round(Math.random() * 100);
    var tentativaAtual = 1;
    var numeroDeChances = parseInt(prompt("Informe o número máximo de tentativas para advinhar o número pensado."));

    while(tentativaAtual <= numeroDeChances) {

            var numeroEscolhido = parseInt(prompt("Escolha um número de 0 a 100.")); 

        if(numeroEscolhido == numeroPensado) {

            exibirMensagem("<strong>Você acertou!</strong>")
            break;

        } else {

            if((numeroDeChances - tentativaAtual)!=0 && numeroPensado != numeroEscolhido) {

            alert("Você errou! Esta é a sua tentativa de número: " + tentativaAtual + "\nVocê ainda tem: " + (numeroDeChances - tentativaAtual) + " tentativa(s).");    

            }

            if ((tentativaAtual == numeroDeChances) && (numeroPensado != numeroEscolhido)) {

            exibirMensagem("<strong>Você errou!</strong> O número pensado foi: " + "<strong>" + numeroPensado + "</strong>")
            }

            tentativaAtual++;

        }
    }

    exibirMensagem("FIM!");

</script> 


3 respostas
solução!

Boa noite, Ramon! Como vai?

Minhas observações:

  1. A indentação de algumas partes do código não estão corretas. Exemplo disso são a primeira linha dentro do while que deveria estar alinhada com o primeiro if e as instruções dos ifs internos ao else.
  2. Acho que em vez de fazer (numeroDeChances - tentativaAtual)!=0 vc poderia simplificar e fazer numeroDeChances != tentativaAtual.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Fala Gabriel, bom dia e desde já agradeço pela ajuda. Estou melhorando a lógica (1) aos poucos e percebo que estou tendo algumas dificuldades com indentação (2) mesmo.

Ajustei aqui com base em suas orientações:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>"); 
        document.write("<br>"); 

    }

    function exibirMensagem(frase) {

        document.write(frase);
        pulaLinha();

    }

    var numeroPensado = Math.round(Math.random() * 100);
    var tentativaAtual = 1;
    var numeroDeChances = parseInt(prompt("Informe o número máximo de tentativas para advinhar o número pensado."));

    while(tentativaAtual <= numeroDeChances) {

        var numeroEscolhido = parseInt(prompt("Escolha um número de 0 a 100.")); 

        if(numeroEscolhido == numeroPensado) {

            exibirMensagem("<strong>Você acertou!</strong>")
            break;

        } else {

            if((tentativaAtual != numeroDeChances) && (numeroPensado != numeroEscolhido)) {

                alert("Você errou! Esta é a sua tentativa de número: " + tentativaAtual + "\nVocê ainda tem: " + (numeroDeChances - tentativaAtual) + " tentativa(s).");    

            }

            if((tentativaAtual == numeroDeChances) && (numeroPensado != numeroEscolhido)) {

                exibirMensagem("<strong>Você errou!</strong> O número pensado foi: " + "<strong>" + numeroPensado + "</strong>")
            }

            tentativaAtual++;

        }
    }

    exibirMensagem("FIM!");

</script> 

É mais ou menos isso?

Opa, Ramon! É isso aí! O código tá bem bacana agora!

As melhorias e evoluções vem aos poucos e com a prática!

Sempre que precisar de alguma ajuda é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, meu aluno!