Número Secreto e Número Escolhido tem por objetivo 'guardar' o número sorteado aleatoriamente, certo? Por qual motivo não se pode manter apenas a variável numeroSecreto e utilizá-la também dentro da função gerarNumeroAleatorio( )?
Número Secreto e Número Escolhido tem por objetivo 'guardar' o número sorteado aleatoriamente, certo? Por qual motivo não se pode manter apenas a variável numeroSecreto e utilizá-la também dentro da função gerarNumeroAleatorio( )?
Oii, Rosemberg!
Sua dúvida é bem interessante e comum quando estamos aprendendo sobre funções e variáveis. A razão pela qual você precisa de duas variáveis, numeroSecreto
e numeroEscolhido
, é para separar as responsabilidades e manter o código organizado e claro.
numeroSecreto
: Essa variável é usada para armazenar o número aleatório que foi sorteado e que os jogadores precisam adivinhar. Ela representa o "alvo" do jogo, ou seja, o número que os jogadores tentam descobrir.
numeroEscolhido
: Essa variável é utilizada dentro da função gerarNumeroAleatorio()
para armazenar temporariamente o número que acabou de ser gerado. Isso permite que você verifique se esse número já foi sorteado antes (utilizando a lista listaDeNumerosSorteados
) antes de decidir se ele deve ser o novo numeroSecreto
.
Se você usasse apenas a variável numeroSecreto
dentro da função gerarNumeroAleatorio()
, acabaria sobrescrevendo o número secreto toda vez que um novo número fosse gerado, o que não é o que queremos. O objetivo é garantir que o numeroSecreto
seja único e não mude até que o jogador o adivinhe ou o jogo seja reiniciado.
Por exemplo, se você tiver uma lista de números já sorteados e gerar um número que já tá nessa lista, você precisará gerar um novo número. Usar numeroEscolhido
permite que você faça essa verificação sem alterar o numeroSecreto
até que tenha certeza de que o novo número é válido.
- JavaScript Guide - MDN Web Docs
- Funções em JavaScript - MDN Web Docs