2
respostas

[Projeto] Tente Adivinhar um Número Entre 0 e 15. Terá 5 tentativas.

Gerou me um pouco de dor de cabeça na parte de debugg and fix, mas está ai.

<meta charset = "UTF-8">
<h1>Guess the Number</h1>
<h3 id="demo">O intervalo é entre 0 e 15 inclusive</h3>
<input type="number" id="number" size="15">
<button id="verificar">Verificar</button>
<div class="resultado"></div> 

<script>
    function toBreakLine(){
        document.write("<br><br>")
    }
    function toShowMessage(message) {
        document.write(message)
        //document.querySelector('#demo').innerHTML = message
        toBreakLine()
    }
    function toEnterValue(word){
        let valor = parseInt(prompt(`Enter ${word}: `))
        return valor
    }

    let entrada = document.querySelector('#number');
    entrada.focus()
    const gerado = Math.round(Math.random() * 15)
    console.log(`Numero gerado - ${gerado}`)

    const botao = document.querySelector('#verificar');
    const divResultado = document.querySelector('.resultado');
    let tries = 0

    botao.addEventListener('click', () => { 
        const elemento = document.createElement('p')
        let output = "";

        if(tries < 5){
            tries++
            if(parseInt(entrada.value) !== gerado){

            //Calculo de distancia
            const distancia = Math.abs(entrada.value - gerado)
            let estaPerto = distancia < 3 ? "Está perto" : "Não está perto."
            estaPerto += `Tentativa ${tries}`

            output = document.createTextNode(`Número inserido - ${entrada.value}; ${estaPerto}`)

            }else{

                if(confirm(`Parabéns! o número gerado foi ${gerado}.  Jogar novamente?.`)){
                    window.location.reload()
                }else document.write("<h3>FIM!</h3>")

            }

        }else {

            if(confirm(`GAME OVER! o número gerado foi ${gerado}. Jogar novamente?.`)){
                window.location.reload()
            }else document.write("<h3>FIM!</h3>")
        } 
        elemento.appendChild(output)
        divResultado.appendChild(elemento)
        entrada.value = ""
        entrada.focus()
    })

</script>
2 respostas

Olá Roberto, tudo bem com você?

Meus parabéns pela dedicação e esforço. Fico feliz que tenha compartilhado sua resolução com a comunidade do fórum Alura. O script é funcional e atende bem o que foi proposto.

Conte sempre com o fórum Alura, seja para compartilhar o seu desenvolvimento ou para tirar suas dúvidas.

Fico à disposição.

Abraços e bons estudos.

Agradeço pela força e gentileza, Felippe. Sucesso sempre.