Solucionado (ver solução)
Solucionado
(ver solução)
10
respostas

Problema com print na tela

meu código apresenta print na tela todas as informações de uma vez e não uma de cada vez

<meta charset="UTF-8">

<script>
     function pulaLinha(){
        document.write("<br><hr><br>");
     }
     function mostra(frase){
        document.write("<big>"+ frase + "</big>");
        pulaLinha()
     }

     function sorteia(n){
        return Math.round(Math.random()*n);
     }

    document.write("<h1>Jogo de advinhação</h1>");
    var numeroPensado = sorteia(10)


    var tentativas = 1;
    while(tentativas <=3){
        var chute = parseInt(prompt("Já pensei. Qual você acha que é ?"));
        if (chute == numeroPensado){
            mostra("Uau! Você ACERTOU, pois eu pensei no " + numeroPensado);
            break;
        }
        else{
            if (chute > numeroPensado){
                mostra("Você errou! Seu chute é maior que o número pensado!");
            }
            else{
                mostra("Você errou! Seu chute é menos que o número pensado!");
            }
        }

        tentativas++;
    }

</script>
10 respostas

Tenta trocar o "mostra()" por "alert()".

Com alert funciona ceto porem o instrutor na aula fez com a função mostra

Jhones, beleza?

O document.write é uma solução fácil para quem esta aprendendo a lógica de programação, mas possui alguns probleminhas. Mas não se preocupe, caso você queria avançar em JavaScript, você aprenderá soluções mais indicadas para escrever na tela, mas com certeza, mais complexas.

Sucesso e bom estudo!

https://cursos.alura.com.br/course/logica-programacao-javascript-html/task/17740

professor estou olhando a video aula aqui e não mudou para o alert não esta imprimindo na tela com a função mostra , seu código ta assim:

<if (chute== numeroPensado){
     mostra("Você ACERTOU, o numero pensado era " +                 numeroPensado);
break;
}else{
    mostra("Você ERROU!);
}
tentativas++;
}

obrigado professor, fico feliz da sua disponibilidade em responder o fórum.

Você tem razão, eu até corrigi meu post (acho que você leu antes deu corrigir). Mas é o lance do document.write mesmo.

Vou explicar o que acontece, acho que expliquei isso em outro post, mas não estou achando. Dai fica para engrandecer a questão....segue resposta logo a seguir.

solução!

Quando uma página é carregada, o navegador processa o HTML por completo antes de exibi-lo na tela. Certo? Quando você coloca um loop no meio do HTML.. esse loop trava o carregamento da página enquanto ele é processado. Dai eu te pergunto: a página chegou ao fim? Não, se não chegou.. você não consegue ver o resultado de document.write.. quando loop termina... todo o que você fez em document.write é exibido na tela só no final é porque a página foi carregada por completo.

Esse problema que você viu, no video eu passo também.. mas o que engana no vídeo é que fica sendo exibido na tela a mensagem do último código que rodei.

Quando você for caminhar para se tornar um cangaceiro em JavaScript verá que document.write não deve ser usado (só em uma situação rara, coisa de hacker). Se a página for toda carregada e você usar document.write novamente, ele acaba a página inteira e escrever o mesmo conteúdo, esse é um dos problemas dele.

Saindo desse curso de lógica, há o de lógica 2 comigo que você aplicará tudo o que aprendeu nesse curso, mas criando animações e até fazendo um jogo. Mais coisa do JavaScript será revelado e você estará mais bem preparado para começar um curso focado em JavaScript.

Sou instrutor dos cursos avançados de JavaScript da Alura e quando decidi fazer esses dois de lógica de programação com javascript foi para animar o aluno ensinando lógica, mas sem pegar pesado nessa ou naquela coisa específica de JavaScript. O document.write, apesar de limitado, é mais fácil de usar para quem esta começando.

Se você quer aprender a fundo JavaScript, nos encontraremos em 2017 nos cursos avançados. Aliás, quando for postar dúvida, diz que foi meu aluno do curso de lógica e tal para eu saber se todo o meu esforço consegui te preparar para dar passos longos nessa linguagem.

E lembre-se: ninja todo mundo consegue se tornar estudando e tals, mas cangaceiro, aquele que taca o terror na linguagem são poucos. Torço para que mais um cangaceiro nasça de toda essa experiência na Alura.

Sucesso e bom estudo Jhones!

Nossa professor to impressionado com a sua prontidão e preocupação com o aluno , fiz outros cursos no alura e nunca tive esse tratamento em uma duvida, parabens pelo seu trabalho , consegui compreender .. e um feliz natal e prospero ano novo.

sou estudante de analise e desenvolvimento de sistemas e já tinha aprendido um pouco de javascript mais nunca com essa didática ótima , to muito feliz .

Opa, obrigado! Feliz 2017 para você também, futuro cangaceiro!

Minha meta em 2017 é lançar mais curso para a Alura, de preferência, algo do mundo JavaScript.

Vou marcar minha resposta como solução tá? Assim outros moderadores podem focar aquelas que ainda estão abertas.

Abração!

valeu pela resposta, eu já tava vindo aqui comentar esse mesmo problema. Mas por que no vídeo funcionou e agora não funciona mais? atualização do navegador?