Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Campo de texto e botão - ajuda

criei um código e queria que depois que acabasse as três chances aparecesse um alert("Acabaram as chances.");, já tentei mas não sei onde devo colocar no código. Quando coloco depois ou antes do break dá errado.

var campoTexto = document.querySelector("input");
        var meuBotao = document.querySelector("button");
        var numQPensei = Math.round(Math.random() * 10);
        function resposta() {
            for (var cont = 1; cont <= 3; cont++) {

                if (campoTexto.value == numQPensei) {
                alert("Acertou!");
                numQPensei = Math.round(Math.random() * 10);
                break;
                } else {
                alert("Errou! Tente novamente.");
                }
                break;
            }
        }
        meuBotao.onclick = resposta;
1 resposta
solução!

Olá Joice, como você está? Espero que esteja bem.

Desculpe pelo retorno tardio.

Que bom que você tem praticado o assunto e já está criando funções para otimizar as soluções.

Observei o seu código e tenho algumas ressalvas. Primeiro, que ao criar um for dentro de uma função que será chamada no input HTML. Ela permite o usuário inserir o palpite na primeira vez, mas não possibilita voltar a caixa de input, e realizar outro palpite, “obrigando” o usuário clicar no ok do pop-up 3x, sem ao menos tentar os outros dois palpites restantes. O laço é executado apenas uma única vez e como o break sempre é efetuado não conseguimos ver quantas tentativas já foram realizadas e com isso não conseguimos computar nitidamente.

Neste caso, ao invés de usar um laço, poderíamos usar uma simples verificação com o if/else. Pois, no final de cada verificação podemos interagir novamente com o input. Abaixo, está um código já acrescentado com o alert de limite máximo de tentativas.

<meta charset="UTF-8">

<button>Compare o meu segredo</button>
<input />
<script>
    var campoTexto = document.querySelector("input");
    var meuBotao = document.querySelector("button");
    var numQPensei = Math.round(Math.random() * 10);
    var qtdTentativas = 0; //Quantas tentativas foram feitas?
    var maxTentativas = 3; // Quantidade máxima de tentativas
    function resposta() {
        if (qtdTentativas < maxTentativas) { // Ainda há tentativas?
            if (campoTexto.value == numQPensei) {
                alert("Acertou!");
                numQPensei = Math.round(Math.random() * 10);
            } else {
                alert("Errou! Tente novamente.");
                qtdTentativas++;

                if (qtdTentativas == maxTentativas){
                    alert("Que pena, suas chances acabaram.");
                }
            }
        } else {
            alert("Você excedeu o limite de tentativas.");
        }
    }
    meuBotao.onclick = resposta;
</script>

Espero ter ajudado.

Reforço que estarei à disposição para tirar dúvidas.

Abraços e bons estudos!