2
respostas

[Dúvida] Mensagens de só aparecem no final do loop

O programa do jogo_adivinha.html roda solicitando os números, mas quando erro não aparece nada na tela. Após a última tentativa as mensagens acumuladas aparecem todas de uma vez. O Chrome apresenta uma mensagem de bug: jogo_adivinha_II.html:13 [Violation] Avoid using document.write(). https://developers.google.com/web/updates/2016/08/removing-document-write

Código usado:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Verifiquei que já existe uma mensagem na transcrição explicando o problema:

Atenção: com atualizações, o Google Chrome agora só mostra as mensagens através de document.write() realizadas dentro de um loop, somente quando a página for carregada completamente, isto é, quando o loop termina. Neste caso, para efeito de aprendizagem, utilizem alert() no lugar de document.write().

Boa noite Adolpho, tudo bem?

Voce pode desconsiderar o uso de escrita direto na pagina e trabalhar com os inputs com o "prompt" e as saidas com "alert", algumas coisas voce pode enviar para o console tambem usando "console.log".

Exemplo de codigo:

let numeroASerAdivinhado = Math.round(Math.random() * (10 - 1) + 1);
let tentativas = 1;
let ganhou = false;

while (tentativas <= 3) {
    let chute = prompt('Qual o valor que você deseja chutar?');
    if (numeroASerAdivinhado == chute) {
        ganhou = true;
        break;
    } else {
        alert(`Número incorreto!\nEsta foi a tentativa ${tentativas} de 3`);
        tentativas++;
    }
}

if (ganhou) {
    alert(`Parabéns você acertou!!!\nO número a ser adivinhado era o número ${numeroASerAdivinhado}`);
} else {
    alert(`Que pena, você não acertou...\nO número a ser adivinhado era o número ${numeroASerAdivinhado}`);
}

Abraço!