1
resposta

Meu código

Queria saber se da pra deixar meu código mais inteligente e/ou mais curto.

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

    function pulaLinha() {
        document.write("<br>");
    }
    function mostra(texto) {
        document.write("<h1>" + texto + "</h1>");
        pulaLinha();
    }
    function sorteia(n) {
        return Math.round(Math.random()*n);
    }

    var numeroPensado = sorteia(10);
    var tentativas = 3

    while(tentativas>0) {

        var chute = parseInt(prompt("Escolha um número! Você tem " + tentativas + " tentativas restantes!")); 

            if(isNaN(chute)) {

                alert("Por Favor digite números, de preferência inteiro!");

            } else if(chute == numeroPensado) { 

                mostra("Você acertou!");
                break;
            } else {

                mostra("Você errou!");
                tentativas--;
            }
    }
    mostra("O número correto era " + numeroPensado + ".");
</script>
1 resposta

Elaborei meu código com a intenção de deixa-lo mais genérico. Fica-lhe a sugestão...

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

    function pulaLinha() {
        document.write("<br>");
    }
    function mostra(frase) {
        document.write(frase);
    }
    var n = parseInt(prompt("Digite um número inteiro, diferente de 0: "));

    while(isNaN(n) || n == 0){
        n = parseInt(prompt("Digite um número inteiro, diferente de 0: "));
    }
    function sorteia(n){
        return Math.round(Math.random() * n);
    }
    var numeroPensado = sorteia(n);

    var chances = parseInt(prompt("Quantas chances você deseja?"))

    var chute = parseInt(prompt("Já pensei em um número inteiro entre 0 e "
        + n + ". Qual você acha que é?"));

    for(var tentativas = 1; tentativas < chances; tentativas++){

        if(chute == numeroPensado) {
            mostra("Você acertou! ");
            break;
        }
        if (chute < numeroPensado){
            chute = (prompt("Você errou! Pensei em um número maior: "));
        }
        else{
            chute = (prompt("Você errou! Pensei em um número menor: "));
        }
    }
        mostra("Pois o número pensado foi " + numeroPensado + "!");

</script>

Qualquer sugestão por favor comente.