Baseado na resolução de um colega que utilizou while e uma função para conferir palpites, decidi adaptar o código dele utilizando "for" no lugar do "while" e adicionando um contador de tentativas, através de um array.
Segue o código:
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br><br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
function sorteia(numMax) {
return Math.round(Math.random() * numMax);
}
function conferirPalpite() {
if (palpite == -1) {
palpite = Number(prompt(`Já pensei! O número está entre 0 e ${numMax}`));
} else {
if (palpite < numeroPensado) {
palpite = Number(prompt(`O valor ${palpite} está abaixo do número pensado. Tente novamente!`));
} else {
palpite = Number(prompt(`O valor ${palpite} está acima do número pensado. Tente novamente!`));
}
}
}
var numMax = Number(prompt("Digite o intervalo máximo a ser sorteado!"));
var numeroPensado = sorteia(numMax);
var palpite = -1;
var tentativas = [];
for (contador = 1 ; palpite != numeroPensado ; contador++){
conferirPalpite();
tentativas.push(contador); //Permite adicionar valores dentro no array. Nesse caso, o número do contador.
}
mostra(`O número pensado é ${numeroPensado}, e você chutou ${palpite}. Parabéns, você acertou em ${tentativas.length} tentativ${tentativas.length == 1 ? 'a' : 'as'}!`); //Aqui utilizei o "length", para contar quantos valores foram adicionados no array, permitindo uma contagem de tentativas. Também utilizei o operador ternário para diferenciar o singular com o plural.
</script>
Aqui estão alguns artigos explicando um pouco sobre o que eu utilizei:
Array e algumas funções: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array
Operador ternário: https://www.alura.com.br/artigos/o-que-e-o-operador-ternario?gclid=CjwKCAjw6dmSBhBkEiwA_W-EoKdVFkPyjkFqkJ7q0436lE38Jzts00yZnBACs9AlBpbjuH6YAT59QBoCgzoQAvD_BwE
Template strings: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Template_literals