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

Cheguei a essa solução, mas acredito que ficou confuso. Gostaria da opinião de alguém.

<meta charset="UTF-8">
<script>

    var loginCadastrado = "alura";
    var senhaCadastrada = "alura321";

    var loginInformado = prompt("Informe seu login");
    var senhaInformada = prompt("Informe sua senha");
    var falhalogin = 0;
    var chances = 2;


    if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {

        alert("Bem-vindo ao sistema " + loginInformado);

    } else {      

        alert("Login inválido. Tente novamente");

            while (falhalogin <= 2){

                loginInformado = "";
                senhaInformada = "";
                loginInformado = prompt("Informe seu login");
                senhaInformada = prompt("Informe sua senha");

                if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {

                    alert("Bem-vindo ao sistema " + loginInformado);
                    falhalogin = falhalogin + 4;

                } else {

                    alert("Tentativa Falhou, você tem mais " + chances + " chances de acessar!");
                    login = falhalogin + 1;
                    chances = chances -1;

                    if (falhalogin == 3){

                        alert("Acesso bloqueado!");

                    }
                }
            }
        }
</script>
2 respostas
solução!

Olá, Jorge, tudo bem?

Muito bacana que você conseguiu pensar em uma solução! Obrigado por compartilhar com a gente :)

Se lermos o seu código direitinho, é possível ver o que ele é capaz de fazer, mas de fato é possível resumir algumas partes dele para deixá-lo mais limpo (chamamos isso de refatorar). Minha dica pessoal é que você pode fazer isso revisitando seu código um tempo depois de ter escrito, e você pode começar a ter novas ideias para deixar o código um pouco mais conciso e legível.

Mesmo que você não tenha conseguido deixar o código mais limpo, você pode olhar a opinião do instrutor para se inspirar! Por exemplo, você está pedindo o login e a senha para o usuário antes de entrar no while, mas depois dentro do while você pede novamente! Você pode pensar em alguma forma de evitar essa repetição do código antes de olhar a resposta do instrutor.

Mais uma vez parabéns por ter encontrado sua própria solução! Quando pensamos sozinhos sobre os problemas, absorvemos mais o assunto e às vezes encontramos nossas próprias explicações que fazem sentido pra gente.

Se tiver qualquer dúvida estaremos aqui para te auxiliar! Continue assim e bons estudos! :)

Antônio, achei ótima sua explicação. Muito obrigado!