1
resposta

[Dúvida] DÚVIDA - Leitura do código

Minha dúvida é a seguinte, após erramos o número de tentativas e logo após acertarmos não deveríamos repetir a linha de código onde informa que o usuário acertou?

Após o acerto, o loop de while será lido uma última vez?

Por exemplo

while (chute != numeroSecreto) {
    chute = prompt("Escolha um número entre 1 e 30 ");
    if (chute == numeroSecreto) {
        alert(`Isso ai! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} tentativas`);
    } else {
        if (chute > numeroSecreto) { 
            alert (`O número secreto é menor que ${chute}`);
        }  else {
            alert (`O número secreto é maior que ${chute}`);
        }
        tentativas++;
    }
} 
//Não deveríamos repetir o código abaixo? Imagino que todas as condições de while acima não seria mais aplicada após o acerto, porque a condição seria "Enquanto o chute for diferente, as condições abaixo serão aplicadas" - while (chute != numeroSecreto)
if (chute == numeroSecreto) {
        alert(`Isso ai! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} tentativas`);```
1 resposta

Fala, Bryan! Tudo bom com você?

Pelo que eu entendi da sua pergunta, você gostaria de saber se seria necessário colocar o código que verifica se o usuário acertou o número secreto para aparecer a mensagem de acerto. Se for isso mesmo, no caso aí do seu código, o while irá ocorrer somente quando a varíavel 'chute' for diferente de 'númeroSecreto'. Porém, é feita uma nova atribuição para 'chute' assim que se inicia o while, e só depois é feita a verificação se é igual ou não ao númeroSecreto. Eu só faria uma modificação no código para verificar também o número de tentativas até então, caso ainda não tenha isso ainda. Dessa forma, ficaria assim:

while (chute != numeroSecreto && tentativas <= 5) {
    chute = prompt("Escolha um número entre 1 e 30 ");
    if (chute == numeroSecreto) {
        alert(`Isso ai! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} tentativas`);
    } else {
        if (chute > numeroSecreto) { 
            alert (`O número secreto é menor que ${chute}`);
        }  else {
            alert (`O número secreto é maior que ${chute}`);
        }
        tentativas++;
    }
} 

Enfim, espero que tenha conseguido te ajudar e se foi esse o caso, eu agradeceria muito se marcasse minha resposta como solução! Mas se não foi o caso, pode entrar em contato que tento te ajudar novamente. Bons estudos e abraços!