3
respostas

nao consigo saber porque meu código da errado

alert('Boas vindas ao jogo do número secreto');
let ns = 7;
console.log(ns);
let chute;
let tentativas;

while (chute != ns) {
    chute = prompt('Escolha um número entre 1 e 10');
    // se chute for igual ao número secreto
    if (chute == ns) {
        alert(`Isso ai! Você descobriu o número secreto ${ns} com ${tentativas} tentativa(s).`);
    } else {
        if (chute > ns) {
            alert(`O número secreto menor que o ${chute}`);
        } else {
            alert(`o numero secreto é maior que o ${chute}`);
        }
        //tentativa = tentativa + 1
        tentativas++;
    }
}
3 respostas

Oi Enzo,

Percebi que seu código tem um pequeno detalhe que está impedindo o contador de tentativas funcionar corretamente. 🤔

A variável tentativas não foi inicializada com um valor inicial antes de entrar no loop while.

Isso faz com que ela comece com undefined e, ao usar o operador ++, o resultado não seja o esperado.

Para corrigir, basta inicializar a variável tentativas com o valor 0 antes do loop.

Veja como fica:

alert('Boas vindas ao jogo do número secreto');
let ns = 7;
console.log(ns);
let chute;
let tentativas = 0; // Inicialização da variável tentativas

while (chute != ns) {
    chute = prompt('Escolha um número entre 1 e 10');
    if (chute == ns) {
        alert(`Isso ai! Você descobriu o número secreto ${ns} com ${tentativas} tentativa(s).`);
    } else {
        if (chute > ns) {
            alert(`O número secreto menor que o ${chute}`);
        } else {
            alert(`o numero secreto é maior que o ${chute}`);
        }
        tentativas++;
    }
}

Além disso, note que o prompt sempre retorna uma string, então a comparação chute == ns pode não funcionar como esperado. Para garantir que a comparação seja feita corretamente, você pode converter o valor de chute para um número usando parseInt() ou Number(). 👍

Para saber mais: Conversão de tipos em JavaScript.

Continue praticando e explorando as possibilidades da programação! 💪
tux matrix Caso este post o tenha ajudado, marque-o como solucionado ☑️. Bons Estudos! 🤓
alert('Boas vindas ao jogo do número secreto');
let ns = 7;
console.log(ns);
let chute;
let tentativas = 0;

while (chute != ns) {
    chute = prompt('Escolha um número entre 1 e 10');
    // se chute for igual ao número secreto
    if (chute == ns) {
        alert(`Isso ai! Você descobriu o número secreto ${ns} com ${tentativas} tentativa(s).`);
    } else {
        if (chute > ns) {
            alert(`O número secreto menor que o ${chute}`);
        } else {
            alert(`o numero secreto é maior que o ${chute}`);
        }
        //tentativa = tentativa + 1
        tentativas++;
    }
}
    

mesmo assim meu código não foi, ele aparece no final varias tentativas

não entendi