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

[Dúvida] Jogo de adivinhação

Na materia estava falando que quando ultilizamos o else nesse ponto '

if (palpite== numeroPensado){ mostra("Você acertou"); } if (palpite< numeroPensado){ mostra("Você errou, seu numero é menor que o pensado"); } else{ mostra("Você errou, seu numero é maior que o pensado"); }

uma vez que a condição do primeiro if fosse satisfeita os outros não apareceriam, mas função "mostra" do else aparece mesmo que o numero sorteado fosse acertado.

2 respostas
solução!

Opa, olá Rodrigo!

É o seguinte, a solução desse obstaculo não está em vídeo mesmo, mas é questão de lógica e também de um pequeno conceito.

Seu codigo foi o seguinte:

if (palpite== numeroPensado){ //primeira condição
    mostra("Você acertou"); 
} 
if (palpite< numeroPensado){  // segunda condição
    mostra("Você errou, seu numero é menor que o pensado"); 
} else{ // terceira condição
    mostra("Você errou, seu numero é maior que o pensado");
}

Observe, em JavaScript, e em algumas outras linguagens de programação, quando colocamos um "else" na condição ele sempre vai se referir ao "if " anterior, ou seja, seria "impossivel" criar mais de 2 condições usando apenas "if" e "else", ou seja, no seu código o "else" (senão em português) se refere a sua segunda condição, pois o "else" não consegue enxergar o primeiro "if", sua primeira condição.

PORÉEEEM, para fazer com que o "else" exergue sua primeira condição, existe um conceito no JS que você pode utilizar, o nome dele é : "else if".

Traduzindo, ele seria um "Se não acontecer isso, faça isso se..."

Implementando em seu código, ficaria assim:

if (palpite== numeroPensado){ // se o palpite for igual ao numero pensado faça isso...
    mostra("Você acertou"); 
} else if (palpite< numeroPensado){  // Se não, se o palpite for menor que o numero pensado faça isso...
    mostra("Você errou, seu numero é menor que o pensado"); 
} else{ // Se não, faça isso
    mostra("Você errou, seu numero é maior que o pensado");
}

É um conceito que realmente ficou faltando nos vídeos... Mas enfim, espero ter ajudado. Qualquer dúvida, chama.

muito obrigado