Desafio 05 - Adivinhe o Número
🎯 Objetivo
Seção intitulada “🎯 Objetivo”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.
| Campo | O que preencher |
|---|---|
| Dupla | Nomes dos integrantes |
| Nome do jogo | Ex.: “O Cofre Secreto” |
| Tema | O tema escolhido e uma frase sobre ele |
| Entrada | O que o jogador digita a cada tentativa |
| Regras | O que acontece quando o palpite é maior, menor ou igual ao segredo |
| Saídas | As mensagens de dica e de vitória (mínimo 3) |
| Exemplo de uso | Uma sequência de palpites e as respostas esperadas |
Exemplo de ficha preenchida
Seção intitulada “Exemplo de ficha preenchida”| Campo | Exemplo |
|---|---|
| Nome do jogo | O Cofre Secreto |
| Tema | Abrir um cofre tentando adivinhar a combinação |
| Entrada | Um número inteiro por tentativa |
| Regras | Palpite menor → “O código é maior”; palpite maior → “O código é menor”; acertou → “Cofre aberto!” |
| Saídas | As dicas e a mensagem final com o número de tentativas |
| Exemplo | 50, 75, 62, 68 → “Cofre aberto em 4 tentativas!” |
✅ Regras obrigatórias
Seção intitulada “✅ Regras obrigatórias”O programa de vocês precisa cumprir todas as regras abaixo:
- Guardar o número secreto em uma variável
int, sorteada comRandomentre1e100. - Guardar cada palpite do jogador em uma variável
int, lida comScanner. - Repetir os palpites com um laço
whileque continua enquanto o palpite for diferente do número secreto. - Usar
if/elsepara indicar se o número secreto é maior, menor ou se o jogador acertou. - Contar as tentativas em uma variável
int, começando em0. - Ao acertar, mostrar o número secreto e a quantidade de tentativas.
- Não usar vetores.
👥 Dinâmica em dupla
Seção intitulada “👥 Dinâmica em dupla”- 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.
🔍 Checklist de peer testing
Seção intitulada “🔍 Checklist de peer testing”Ao testar o jogo de outra dupla, marque cada item:
- O número secreto é sorteado com
Randome guardado em uma variável. - O palpite do jogador é lido com
Scannere guardado em uma variável. - Existe um laço
whileque 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.
📌 Limites
Seção intitulada “📌 Limites”- Permitido:
Scanner,Random, variáveis,while,if/else,System.out.println. - Não permitido: vetores e
forobrigatório (podem usar se ajudar).
💡 Dicas
Seção intitulada “💡 Dicas”- 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.