improgram 0 Denunciar post Postado Agosto 23, 2019 Estou acompanhando o livro:Logica programacao com JS da casa do codigoAté o momento todos exercicios executados com sucesso.Exceto o Jogo da adivinhação dos numeros - topico 5.11 Exercicio: Há uma forma de escrever esse nosso jogo sem utilizar o break, apenas mudandoa condição do while, adicionando mais uma clausula através do operador quesignifica E (o &&). Consegue adivinhar como? Problema: Sem o break fica em loop infinito <script> var numero3 = Math.round(Math.random() * 5);var tentativa3 = 1;while(tentativa3 = numero3) { var chute3 = prompt('qual numero ? '); mostra('Numero digitado : ' + chute3); if(chute3 ==numero3) { alert('Parabens ACERTOU'); mostra('Acertou: O numero é : ' + numero3 + ' : FIM'); } else { alert('Voce ERROU'); if(chute3 > numero3) { alert('Chute é maior que o numero pensado '); mostra('Chute é maior que o numero pensado' + '<br>'); } if(chute3 < numero3) { alert('Chute é menor que o numero pensado ' ); mostra('Chute é menor que o numero pensado' + '<br>'); } } tentativa3++;}</script> Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
gabrielms 0 Denunciar post Postado Agosto 26, 2019 @improgram Bom a dica está ai "adicionando mais uma clausula através do operador quesignifica E (o &&)", para você parar o loop basta adiciona mais uma condição para o loop ocorrer, usando o operador logico && = AND = e Exemplo: var numero3 = Math.round(Math.random() * 5); var tentativa3 = 1; var loop = true; while (tentativa3 = numero3 && loop == true) { var chute3 = prompt('qual numero ? '); alert('Numero digitado : ' + chute3); if (chute3 ==numero3) { alert('Parabens ACERTOU'); alert('Acertou: O numero é : ' + numero3 + ' : FIM'); loop = false; } else { alert('Voce ERROU'); if(chute3 > numero3) { alert('Chute é maior que o numero pensado '); alert('Chute é maior que o numero pensado' + '<br>'); } if(chute3 < numero3) { alert('Chute é menor que o numero pensado ' ); alert('Chute é menor que o numero pensado' + '<br>'); } } tentativa3++; } Nesse exemplo eu adiciono mais uma condição para ocorrer o loop. enquanto o valor da variável loop for igual a TRUE o loop vai ocorrer, caso não o loop vai para. Quando o jogador acerta o valor eu troco o valor da variável para false assim o loop para. Compartilhar este post Link para o post Compartilhar em outros sites
improgram 0 Denunciar post Postado Agosto 28, 2019 Em 26/08/2019 at 20:23, gabrielms disse: @improgram Bom a dica está ai "adicionando mais uma clausula através do operador quesignifica E (o &&)", para você parar o loop basta adiciona mais uma condição para o loop ocorrer, usando o operador logico && = AND = e Exemplo: var numero3 = Math.round(Math.random() * 5); var tentativa3 = 1; var loop = true; while (tentativa3 = numero3 && loop == true) { var chute3 = prompt('qual numero ? '); alert('Numero digitado : ' + chute3); if (chute3 ==numero3) { alert('Parabens ACERTOU'); alert('Acertou: O numero é : ' + numero3 + ' : FIM'); loop = false; } else { alert('Voce ERROU'); if(chute3 > numero3) { alert('Chute é maior que o numero pensado '); alert('Chute é maior que o numero pensado' + '<br>'); } if(chute3 < numero3) { alert('Chute é menor que o numero pensado ' ); alert('Chute é menor que o numero pensado' + '<br>'); } } tentativa3++; } Nesse exemplo eu adiciono mais uma condição para ocorrer o loop. enquanto o valor da variável loop for igual a TRUE o loop vai ocorrer, caso não o loop vai para. Quando o jogador acerta o valor eu troco o valor da variável para false assim o loop para. Perfeito ! Teste efetuado com sucesso, acredito que deverei me aprofundar nos conceitos de logica, somado a falta de experiencia com o efeito da procastinação, resultou na busca de ajuda, agora é exercitar e muito foco. obrigado Compartilhar este post Link para o post Compartilhar em outros sites