Na atividade 7 - 'Simulando uma tela de login', a resposta correta é a seguinte:
<meta charset="UTF-8">
<script>
var loginCadastrado = "alura";
var senhaCadastrada = "alura321";
var maximoTentativas = 3;
var tentativaAtual = 1;
while(tentativaAtual <= maximoTentativas) {
var loginInformado = prompt("Informe seu login");
var senhaInformada = prompt("Informe sua senha");
if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {
alert("Bem-vindo ao sistema, " + loginInformado);
tentativaAtual = maximoTentativas; // acertou, então faço o gasto de todas as tentativas para sair do loop. Lá embaixo vai incrementar + 1!
} else {
if (tentativaAtual == 3) { // !!!!!!!
alert("Número permitido de tentativas ultrapassado!");
} else {
alert("Login inválido. Tente novamente");
}
}
// vai para a próxima tentativa
tentativaAtual = tentativaAtual +1
}
</script>
Podemos ver que se a variável 'maximoTentativas' receber outro valor, ainda terá apenas 3 tentativas de login pois o if colocado para conferir se há mais tentativar para o usuário está da seguinte maneira:
if (tentativaAtual == 3){ ... }
Não seria uma boa prática fazer da seguinte maneira?:
if (tentativaAtual == maximoTentativas){ ... }
Assim, quando mudar o valor máximo de tentativas, automaticamente altera no if que confere as tentativas.