Pular para o conteúdo

Desafio 05 - Adivinhe o Número

Em duplas, vocês vão construir um jogo de adivinhação: o programa sorteia um número secreto e o jogador tenta descobrir qual é. A cada palpite, o programa diz se o número secreto é maior ou menor.

Este desafio usa o que aprendemos sobre repetição e números aleatórios (Random) em Java. Antes de programar, vocês vão fazer uma mini-coleta de requisitos.

🧠 Antes de programar: mini-coleta de requisitos

Seção intitulada “🧠 Antes de programar: mini-coleta de requisitos”

Escolham um tema para o jogo (ex.: baú do tesouro, código secreto, portal, senha do cofre). Pesquisem rapidamente e preencham os campos abaixo. O professor vai conferir a ficha antes de vocês começarem a programar.

CampoO que preencher
DuplaNomes dos integrantes
Nome do jogoEx.: “O Cofre Secreto”
TemaO tema escolhido e uma frase sobre ele
EntradaO que o jogador digita a cada tentativa
RegrasO que acontece quando o palpite é maior, menor ou igual ao segredo
SaídasAs mensagens de dica e de vitória (mínimo 3)
Exemplo de usoUma sequência de palpites e as respostas esperadas
CampoExemplo
Nome do jogoO Cofre Secreto
TemaAbrir um cofre tentando adivinhar a combinação
EntradaUm número inteiro por tentativa
RegrasPalpite menor → “O código é maior”; palpite maior → “O código é menor”; acertou → “Cofre aberto!”
SaídasAs dicas e a mensagem final com o número de tentativas
Exemplo50, 75, 62, 68 → “Cofre aberto em 4 tentativas!”

O programa de vocês precisa cumprir todas as regras abaixo:

  1. Guardar o número secreto em uma variável int, sorteada com Random entre 1 e 100.
  2. Guardar cada palpite do jogador em uma variável int, lida com Scanner.
  3. Repetir os palpites com um laço while que continua enquanto o palpite for diferente do número secreto.
  4. Usar if/else para indicar se o número secreto é maior, menor ou se o jogador acertou.
  5. Contar as tentativas em uma variável int, começando em 0.
  6. Ao acertar, mostrar o número secreto e a quantidade de tentativas.
  7. Não usar vetores.
  • A atividade é feita em duplas.
  • Rodízio de quem digita: troquem a cada ~10 minutos ou ao concluir cada parte (sorteio, laço, dicas, contagem). O professor avisa quando é hora de trocar.
  • Antes de trocar, os dois devem saber explicar o que já está pronto no código.
  • No final, as duplas trocam de computador para fazer o peer testing com o checklist abaixo.

Ao testar o jogo de outra dupla, marque cada item:

  • O número secreto é sorteado com Random e guardado em uma variável.
  • O palpite do jogador é lido com Scanner e guardado em uma variável.
  • Existe um laço while que repete até o jogador acertar.
  • O programa informa quando o número secreto é maior.
  • O programa informa quando o número secreto é menor.
  • O programa parabeniza o jogador ao acertar.
  • A quantidade de tentativas é contada e mostrada.
  • O programa compila e executa sem erros.
  • Permitido: Scanner, Random, variáveis, while, if/else, System.out.println.
  • Não permitido: vetores e for obrigatório (podem usar se ajudar).
  • Testem o jogo com um número secreto pequeno (ex.: entre 1 e 10) para validar mais rápido.
  • Cuidem para que o palpite seja atualizado dentro do laço; se não, o jogo fica infinito.
  • Mostrem uma mensagem clara a cada palpite para orientar o jogador.