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

o código funcionou como esperado mas tenho dúvidas

alert('Bem-vindo ao jogo do número secreto');


let numeroSecreto = 5;
let escolhaUsuario = prompt('Escolha um número entre 1 e 10');
let chute;
let tentativas = 1;


/* enquanto o chute não for igual ao número secreto
Este laço while fica se repetindo até que o número digitado seja igual ao número secreto. 
O comando: chute = prompt('Escolha um número de 0 a 10') 
fica dentro do while para que seja solicitado um novo número enquanto o 
usuário não acertar ou seja : while (enquanto) chute != (não for igual) numeroSecreto
Quando o usário acertar a condição do while passará a ser falsa e o comando prompt não será mais executado */


while (chute != numeroSecreto ) {

                    let escolhaUsuario = prompt('Escolha um número entre 1 e 10');
                    let chute = parseInt(escolhaUsuario);

// se o chute for igual ao número secreto
        if (chute === numeroSecreto) {
        alert (`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= tentativas + 1; (incrementar)

        tentativas++;
}

Oi, tudo bem? Gostaria de reber uma luz aqui! O código está funcionando legal, mas gostaria de uma explicação mais profunda sobre essa variável " tentativas" e essa parte de incrementar (tentativas = tentativas + 1;) , não ficou muito claro pra mim :/

4 respostas

Boa tarde!

O código tentativas = tentativas + 1; tem o mesmo efeito que o código tentativas++;, ambos fazem a mesma coisa que é somar 1 a variável tentativas.

No código apresentado, a variável tentativas ela vai guardar quantas vezes o jogador teve que chutar até acertar o número secreto. A variável inicialmente vai ter o valor 1, pois começamos na tentativa número 1, e esse número vai sendo incrementado no seu código em tentativas++; sempre que o usuário digitar um número e errar, a variável vai ser atualizada com o seu valor atual mais 1.

Supondo que o valor de tentativas seja 5, quando o código tentativas = tentativas + 1; for executado, vamos ter, tentativas = 5 + 1, sendo seu valor atualizado para 6. Caso essa instrução seja chamada novamente vamos ter tentativas = 6 + 1 e assim por diante.

Para exemplificar, o código abaixo tem o mesmo efeito, mas nele criamos uma nova variavel novo_valor para guardar a soma com 1, e depois atribuimos esse novo valor para a variavel tentativas.

let novo_valor = tentativas + 1;

tentativas = novo_valor;

Para simplificarmos e para não ter que criar uma nova variável, fazemos tentativas = tentativas + 1; que é mais direto.

Oi, daniel! Muito obrigada, gostei da sua explicação! Poderia me ajudar com outra dúvida? Quando falei que "o código está funcionando legal", quis dizer que estava funcionando como o esperado jogo do número secreto (ao abrir no live server). No entanto, ao ser executado no VS Code aparece que tem 68 problemas, gostaria de saber quais são e como resolver? sou iniciante real na área, alguns conceitos ainda são muito abstratos para mim Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Olá, como você está rodando o código?

Nesse caso do problema ReferenceError (está escrito no terminal), está dizendo que o alerta não está definido, e segundo uma pesquisa rápida que fiz aqui diz que o alert não faz parte do JavaScript, faz parte do objeto window fornecido pelos navegadores da web. Portanto, não existe no contexto em que você está tentando usá-lo.

obrigada, vou rever aqui