Não consegui entender como que a função MAP consegui entender que a letra que eu chutei é verdadeira ou falsa. Não consegui relacionar a palavra secreta com a função MAP.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Não consegui entender como que a função MAP consegui entender que a letra que eu chutei é verdadeira ou falsa. Não consegui relacionar a palavra secreta com a função MAP.
Olá Alysson!
Entendo que você está com dúvidas sobre como a função map consegue identificar se a letra que você chutou é verdadeira ou falsa. Vou tentar te explicar!
No código apresentado, a função map é utilizada para criar um mapeamento entre as letras da palavra secreta e um valor booleano que indica se a letra já foi chutada ou não.
No trecho de código:
map <char, bool> chutou;
Estamos criando um mapa chamado chutou que associa cada letra (do tipo char) a um valor booleano (do tipo bool). Inicialmente, todas as letras são associadas ao valor false, indicando que ainda não foram chutadas.
A cada chute dado pelo usuário, a letra correspondente é marcada como true no mapa chutou. Isso é feito através do trecho de código:
chutou[chute] = true;
Onde chute é a variável que armazena a letra que o usuário chutou.
Em seguida, dentro do laço de repetição for, é verificado se a letra já foi chutada ou não através do trecho de código:
if (chutou[letra]){
cout << letra << " ";
}
else{
cout << "_ ";
}
Se a letra já foi chutada (ou seja, chutou[letra] é true), a letra é exibida. Caso contrário, é exibido um underline para indicar que a letra ainda não foi descoberta.
Dessa forma, a função map permite que você relacione cada letra da palavra secreta com um valor booleano que indica se a letra já foi chutada ou não.
Espero ter ajudado a esclarecer sua dúvida! Se tiver mais alguma pergunta, é só me dizer. Bons estudos!
Espero ter ajudado e bons estudos!