1
resposta

Conclusão do módulo 6

Resolvi seguir um caminho mais complexo pra treinar bem os códigos if e else, e por fim deu certo tb :)

<meta charset="UTF-8"> 

<script>

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

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

function sorteio(number) {
    return Math.round(Math.random() * number)
}

var numeroSorteado = sorteio (50)
var nome = prompt("Oie, qual seu nome?")
var chute = parseInt (prompt(nome + ", chute um número de 0 a 50!"))

if (chute != numeroSorteado) {
    if (chute> numeroSorteado) { 
        mostra("Vissssh" + nome + " vc errou! Pois " + chute + " é maior que o número sorteado, que é " + numeroSorteado + "!")
    } else { mostra("AAAA " + nome+ ",  vc errou, pois " + chute + " é menor que o número sorteado, que é " + numeroSorteado + "!")
    }
} else {
    mostra("UHUUULLL, parabéns " + nome + " vc acertou!")
}

</script>
1 resposta

Olá, Alana! Tudo bom?

Que bacana! O código funciona muito bem. Minha sugestão de melhoria seria apenas trabalhar em alguns espaços durante o uso da função mostra(). Eu fiz o teste e o nome do usuário ainda apareceu junto a string "Vissssh". Segue exemplo na imagem:

Imagem com a frase "VisssshMarcus vc errou! Pois 30 e´maior que o número sorteado, que é 27!"

Outra sugestão adicional bem legal, já que estamos dando dicas do número, é repetir essa pergunta enquanto o usuário não acertar, e sem mostrar o valor verdadeiro. E no JavaScript, nós utilizamos a função while(), que do inglês, significa enquanto. E para isso, nós vamos também pedir novamente os chutes quando as condições não forem aceitas, transformando as funções mostrar() em novos chutes com parseInt(prompt("Texto_da_pergunta")). Então o código ficaria da seguinte forma:

var numeroSorteado = sorteio (50)
var nome = prompt("Oie, qual seu nome?")
var chute = parseInt (prompt(nome + ", chute um número de 0 a 50!"))

while (true){

    if (chute != numeroSorteado) {
        if (chute> numeroSorteado) {
            chute = parseInt(prompt("Vissssh " + nome + " vc errou! Pois " + chute + " é maior que o número sorteado")) 

        } else { 
            chute = parseInt(prompt("AAAA " + nome+ ",  vc errou, pois " + chute + " é menor que o número sorteado"))
        }
    } else {
        mostra("UHUUULLL, parabéns " + nome + " vc acertou!")
        break;
    }
}

Utilizamos o while(true) quando queremos executar um código indefinidamente até chegar na linha de break. Então ele vai executar sempre a pergunta, e ao chegar na linha que ele finalmente acerta, ele encerra o laço de repetição das perguntas.

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

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