CSE 110: Introdução à Programação

S04 - Projeto: Adivinhação de Palavras

Sobre as Etapas do Projeto (Marcos):

Um marco ou marco quilométrico é um marcador colocado ao longo de uma rodovia para informar a distância percorrida ou indicar seu deslocamento em direção a um destino específico. Em projetos de desenvolvimento de software, o marco (etapa) do projeto indica um ponto específico ao longo do cronograma do projeto.

Para ajudar você a avançar na conclusão deste projeto, você concluirá parte do programa no meio da semana e enviará uma “Etapa” do projeto. Então, até o final da semana, você concluirá o programa e enviará a versão finalizada.

Primeiro você deve ler a descrição completa do projeto. Depois, na parte inferior desta página, você vai ver quais recursos são necessários para a etapa e quais são necessários para o projeto em geral.

Visão Geral

Muitos jogos, quebra-cabeças e enigmas exigem iteração em que uma pessoa (ou um computador) repete as mesmas etapas para cada peça do jogo ou cada ponto de um enigma. Para esta tarefa, você criará um jogo interativo de adivinhação de palavras que permitirá ao usuário dar palpites até acertar a resposta, com dicas sendo fornecidas ao longo do caminho.

Wordle é um jogo de palavras baseado na web que se tornou popular na internet no início de 2022. Você pode aprender mais sobre isso na página do Wordle na Wikipédia. Se quiser, você pode jogar online gratuitamente no site Termo.

Para esta tarefa, você criará um jogo de adivinhação de palavras que segue um padrão semelhante.

Descrição do Projeto

O programa contém uma palavra secreta armazenada em uma variável. Esta palavra pode conter qualquer número de letras. Quando o programa é executado, o usuário vê sublinhados (_) para cada letra da palavra.

O usuário então insere um palpite. Se o palpite estiver correto, o usuário vence e o jogo termina.

Se o palpite estiver incorreto, o usuário receberá uma dica para ajudá-lo a melhorar seu palpite para a próxima rodada.

O jogo continua solicitando ao usuário novos palpites e mostrando dicas até que ele adivinhe a palavra corretamente. Quando o jogo termina, o programa exibe a quantidade de tentativas necessárias para adivinhar a palavra.

O palpite deve ter o mesmo número de letras da palavra. Se o palpite tiver um número diferente de letras, o usuário receberá uma mensagem explicando isso e nenhuma dica será fornecida.

A dica mostra as letras do palpite, mas cada letra é exibida de maneira especial, conforme exibido abaixo:

Por exemplo, se a palavra secreta fosse: mosias, então o programa exibiria inicialmente:


Sua dica é: _ _ _ _ _ _

Se o palpite do usuário fosse: templo, ele saberia que o m e o o em templo são as únicas letras da palavra secreta, mas estão no lugar errado, então seriam exibidas em letras minúsculas, da seguinte maneira:


Sua dica é: _ _ m _ _ o

E se o usuário digitasse: moroni, receberia o seguinte como dica:


Sua dica é: M O _ o _ i

Observe que na dica acima, o M e o primeiro O de moroni estão em maiúscula, porque essas letras também são as duas primeiras letras de mosias.

O i e o segundo o de moroni são exibidos porque estão presentes na palavra secreta, mas são mostrados em letras minúsculas porque as letras da palavra secreta naquele local são diferentes.

O r e o n de moroni não são exibidos, mas em vez disso é mostrado um sublinhado em cada lugar, porque essas letras não estão presentes na palavra secreta em nenhum local.

Veja abaixo uma amostra do programa completo:


Bem-vindo ao jogo de adivinhação de palavras!

Sua dica é: _ _ _ _ _ _ 
Qual é o seu palpite? templo
Sua dica é: _ _ m _ _ o 
Qual é o seu palpite? moroni
Sua dica é: M O _ o _ i 
Qual é o seu palpite? ssssss
Sua dica é: s s S s s S 
Qual é o seu palpite? mosias  
Parabéns! Você adivinhou!
Você precisou de 4 palpites.

Como as letras maiúsculas têm significado em nossas dicas, a palavra secreta deve estar toda em letras minúsculas. Da mesma forma, quando o usuário insere um palpite, você deve convertê-lo para letras minúsculas antes de verificar as correspondências.

Se o palpite tiver um número de letras diferente da palavra secreta, ele ainda contará como um palpite, mas o usuário não receberá uma dica. Isso é mostrado no exemplo a seguir:


Bem-vindo ao jogo de adivinhação de palavras!

Sua dica é: _ _ _ _ _ _ 
Qual é o seu palpite? nefi
Desculpe, o palpite precisa ter o mesmo número de letras que a palavra secreta.

Qual é o seu palpite? a
Desculpe, o palpite precisa ter o mesmo número de letras que a palavra secreta.

Qual é o seu palpite? jarom
Desculpe, o palpite precisa ter o mesmo número de letras que a palavra secreta.

Qual é o seu palpite? abcdefghijklmnopqrstuvwxyz
Desculpe, o palpite precisa ter o mesmo número de letras que a palavra secreta.

Qual é o seu palpite? templo
Sua dica é: _ E m _ l_ 
Qual é o seu palpite? helama
Parabéns! Você adivinhou!
Você precisou de 6 palpites.

Demonstração em Vídeo

O vídeo a seguir é uma demonstração do programa para que você possa entender as regras do jogo e como ele deve funcionar:

Requisitos da Etapa

Durante a semana, para ajudar a garantir que você esteja caminhando para concluir a tarefa, você precisa realizar o seguinte:

  1. Tenha uma palavra secreta armazenada no programa.

  2. Solicite ao usuário um palpite.

  3. Continue fazendo o loop enquanto o palpite não estiver correto.

  4. Calcule o número de palpites e exiba-o no final.

Veja abaixo a funcionalidade do programa até aqui:


Bem-vindo ao jogo de adivinhação de palavras!

Qual é o seu palpite? templo
Seu palpite não está correto.
Qual é o seu palpite? moroni
Seu palpite não está correto.
Qual é o seu palpite? helama
Parabéns! Você adivinhou!
Você precisou de 3 palpites.

Requisitos Finais

Além dos requisitos da Etapa, seu programa final deve:

  1. Usar um loop para gerar a dica inicial.

  2. Ter uma verificação para confirmar se o comprimento do palpite é igual ao comprimento da palavra secreta. E, se não for igual, exibir uma mensagem. Se o comprimento for igual, deve dar a dica.

  3. Incluir as dicas de acordo com as regras acima.

  4. Certifique-se de considerar o seguinte em suas dicas:

  5. Além disso, certifique-se de adicionar um espaço após cada caractere na dica, como nos exemplos.

Demonstrando Criatividade e Indo Além dos Requisitos

Depois de definir as regras básicas do jogo, considere adicionar algo extra às dicas, outras regras ou limitações ao número de palpites, ou qualquer outra coisa que você considere divertida.

Se quiser ver listas ou arquivos, você pode iniciar o jogo com uma lista de palavras e selecionar uma aleatoriamente para ser a palavra secreta.

Importante: Para receber crédito pela criatividade, você deverá inserir um comentário no início do programa que descreva o que você adicionou em uma ou duas frases.

Envio de Tarefa

Há uma tarefa para ser enviada no Canvas tanto para a etapa quanto para a Entrega Final. Lembre-se de:

Próxima Atividade

Outros Links: