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!