Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Não ficou legal a resposta desse exercício

Não entendi o motivo do 10 na linha "var numeroPensado = sorteia(10);" Entendi que no lugar desse 10 deveria vir de algum prompt a ser solicitado um número qualquer ao usuário. O certo não seria: var numeroPensado = sorteia(n); // chamar a function ou var numeroPensado = sorteia; // chamar a function ???

Fiquei bem confuso, recebo o erro Uncaught ReferenceError: n is not defined, na linha 20, mas não consigo ver onde eu entro com o n.

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

    function pulaLinha() {

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

    function mostra(frase) {

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

    function sorteia(n) {

        return Math.round(Math.random() * n);
    }    

    var numeroPensado = sorteia(n);
    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 {

        if(chute > numeroPensado) {

            mostra("Você errou! Seu chute é maior que o número pensado!");

        } else {

            mostra("Você errou! Seu chute é menor que o número pensado!");
        }

    }
</script>
2 respostas

Olá.

Você entra com o n aqui:

var numeroPensado = sorteia(n)

Quando você define a função, você está dizendo que ela receberá um parâmetro, ainda desconhecido, que deverá multiplicar com o restante da função.

Quando você chama a função, ai que você deve informar qual é esse parâmetro desconhecido. Por exemplo:

function multiplicaçao (x , y);
    return x * y;// Eu estou dizendo que essa função deve receber dois parâmetros e o retorno dele é a multiplicação dos mesmos.

Então quando eu chamar essa função, eu defino quais são esses parâmetros.

multiplicaçao(2 , 2);
solução

Obrigado Wesley, consegui fazer ele solicitar o n:

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }
    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }
    function sorteia(n) {
        return Math.round(Math.random() * n);
    }    
    var numeroPensado = sorteia(parseInt(prompt("Digite um número inteiro de 0 a 10:"))); // Pedir ao usuário um número "n" inteiro.
    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 {
        if(chute > numeroPensado) {
            mostra("Você errou! Seu chute é maior que o número pensado!");
        } else {
            mostra("Você errou! Seu chute é menor que o número pensado!");
        }
    }
</script>