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

[Dúvida] Dúvida com validações.

    alert ("Olá, seja bem-vimdo(A) ao jogo Número Secreto!");
    // declarando variáveis
    let numeroSecreto = 17;
    console.log(numeroSecreto)
    let numeroChute;
    let tentativas = 1;
    // Bloco de repetições.
    while (numeroChute!=numeroSecreto){
        numeroChute = prompt("Escolha um número de 1 a 30");
        // comparando um chute com o núnero secreto e imprimindo o resultado na tela.
        if (numeroChute ==numeroSecreto) {
            
            if (tentativas==1){
                alert(`Parabéns! Você ganhou o jogo do número secreto! com ${tentativas} tentativa`);
            }
            else {

                alert(`Parabéns! Você ganhou o jogo do Número Secreto! com ${tentativas} tentativas`);
            }
            }

        else if (numeroChute >numeroSecreto) {
            alert(`O número secreto é menor que o ${numeroChute}`);
        }
        else {
            alert(`O número secreto é maior que o ${numeroChute}`);

        }
        tentativas++;
    }

Então gente, o código até funciona, mas, sobe a pespectiva de boas práticas, não ta legal, alguém pode dar uma mãozinha?

2 respostas

Bom dia Gabriel, beleza ? Seu código não está incorreto o que observei que voê pode utilizar é operador ternário para condicionais mais simples, declarar múltiplas variáveis ( isso fica a seu criério ), utilizar let e const de acordo com o uso das variáveis ( por exemplo a variável numeroSecreto não sofre nem uma modificação então o ideal seriámos utilizar o const ) .

alert ("Olá, seja bem-vindo(A) ao jogo Número Secreto!");
// declarando variáveis
const numeroSecreto = 17;
let numeroChute = null,
    tentativas = 1;
console.log(`[+] numero secreto: ${numeroSecreto}`)
// Bloco de repetições.
while ( numeroChute != numeroSecreto ){
    numeroChute = prompt("Escolha um número de 1 a 30");
    // comparando um chute com o núnero secreto e imprimindo o resultado na tela.
    if ( numeroChute == numeroSecreto ) {
        // usando operador ternário para retornar tentativa no plural ou singular
        alert(`Parabéns! Você ganhou o jogo do Número Secreto! com ${tentativas} ${tentativas == 1 ? "tentativa" : "tentativas"}`)
    }
    else {
        // usando operador ternário para retornar maior se o chute for maior e menor caso o contrário
        alert(`O número secreto é ${numeroChute >numeroSecreto ? 'menor': 'maior'} que o ${numeroChute}`);
    }
    tentativas++;
}

Abraços.

solução!
Bom dia!

Ainda não cheguei a ver operador ternário, comtudo, pesquisando bastante, cheguei a conclusão que achei mais intereçante. Segue o código atualizado com a explicação que tive:

// Mensagem de boas-vindas
alert("Olá, seja bem-vindo(a) ao jogo Número Secreto!");

// Declaração de variáveis
let numeroSecreto = 17; // Número que o jogador deve adivinhar
let numeroChute; // Número escolhido pelo jogador
let tentativas = 1; // Contador de tentativas

// Bloco de repetições (while)
while (numeroChute != numeroSecreto) {
    // Entrada do jogador
    numeroChute = prompt("Escolha um número de 1 a 30");

    // Verificação da escolha do jogador
    if (numeroChute == numeroSecreto) {
        break; // Encerra o loop se o número for correto
    } else if (numeroChute > numeroSecreto) {
        alert(`O número secreto é menor que o ${numeroChute}`);
    } else {
        alert(`O número secreto é maior que o ${numeroChute}`);
    }

    tentativas++; // Incremento do contador de tentativas
    // Fim do código dentro do loop (while)
}

// Código fora do loop (while)
if (tentativas == 1) {
    alert(`Parabéns! Você ganhou o jogo do número secreto com ${tent

Obrigado a todos pela ajuda!