1
resposta

[Dúvida] Número pensado

<meta charset="UTF-8">
<script>

    function pulaLinha() {

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

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }

    function sorteia() {

        return numeroPensado = sorteia(n);

    }

    var numeroPensado = Math.round(Math.random() * 100);
    console.log(numeroPensado);

    var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));

    if(chute == numeroPensado) {

        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    } else {

        mostra("Você errou! Eu tinha pensado no " + numeroPensado);
    }
</script>

O que posso fazer para melhorar?

1 resposta

Olá, Rita! Parabéns por estar se dedicando ao curso de JavaScript e HTML!

Analisando seu código, percebi que você tentou implementar a função sorteia conforme sugerido no desafio, mas parece que houve um pequeno equívoco. A função sorteia deveria receber um parâmetro n e retornar um número aleatório de 0 a n. No entanto, no seu código, a função sorteia não recebe nenhum parâmetro e está chamando a si mesma, o que provavelmente causará um loop infinito.

Aqui está uma sugestão de como você poderia implementar a função sorteia:

function sorteia(n) {
    return Math.round(Math.random() * n);
}

E em seguida, você pode chamar essa função para definir o numeroPensado:

var numeroPensado = sorteia(100);

Além disso, para o segundo desafio, você pode adicionar uma condição dentro do bloco else para verificar se o número chutado é maior ou menor que o número pensado. Aqui está um exemplo de como você pode fazer isso:

if(chute == numeroPensado) {
    mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
} else {
    if(chute > numeroPensado) {
        mostra("Você errou! O número que eu pensei é menor que " + chute);
    } else {
        mostra("Você errou! O número que eu pensei é maior que " + chute);
    }
}

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software