Desenvolver um jogo clássico da Forca em Python, onde o usuário tenta adivinhar uma palavra oculta letra por letra.
O Jogo da Forca é um jogo de adivinhação onde:
- O computador escolhe uma palavra aleatória
- O jogador tenta adivinhar a palavra sugerindo letras
- A cada erro, uma parte do "boneco" é desenhada na forca
- O jogador vence se adivinhar a palavra antes de completar o boneco
- Banco de palavras com categorias (ex: frutas, animais, países)
- Seleção aleatória de palavras
- Exibição da palavra oculta com underscores (
_ _ _ _ _) - Entrada de letras pelo usuário
- Validação das letras inseridas (apenas letras, não repetidas)
- Contador de tentativas (máximo 6 erros)
- Exibição progressiva da forca a cada erro
- Verificação de vitória/derrota
- Letras já tentadas
- Diferentes níveis de dificuldade (fácil, médio, difícil)
- Dicas para palavras difíceis
- Sistema de pontuação
- Histórico de palavras jogadas
- Interface colorida no terminal
- Modo multiplayer (um jogador escolhe a palavra)
- Salvar/recuperar progresso
- Linguagem: Python 3.x
- Bibliotecas permitidas:
random(para escolher palavras)time(para delays)os(para limpar tela)
import random
# Banco de palavras por categoria
palavras = {
"frutas": ["banana", "maca", "laranja", "uva", "morango"],
"animais": ["gato", "cachorro", "elefante", "girafa", "panda"],
"paises": ["brasil", "argentina", "canada", "japao", "australia"]
}
def escolher_palavra(categoria=None):
# Escolher palavra aleatória
pass
def mostrar_forca(erros):
# Desenhar a forca baseado no número de erros
pass
def mostrar_palavra_oculta(palavra, letras_corretas):
# Mostrar _ _ _ _ com letras descobertas
pass
def obter_letra_usuario(letras_tentadas):
# Receber e validar letra do usuário
pass
def verificar_letra(letra, palavra):
# Verificar se letra está na palavra
pass
def jogo_completo(palavra):
# Verificar se todas as letras foram adivinhadas
pass
def main():
# Função principal do jogo
pass
if __name__ == "__main__":
main()-
Configuração Inicial
touch jogo_da_forca.py
-
Implemente o núcleo do jogo:
- Crie o banco de palavras
- Implemente a lógica de exibição da palavra oculta
- Desenvolva a entrada e validação de letras
-
Crie o sistema da forca:
- Desenhe os estágios da forca (0 a 6 erros)
- Implemente a contagem de erros
-
Adicione features:
- Sistema de categorias
- Letras já tentadas
- Mensagens de feedback
=== JOGO DA FORCA ===
Categorias disponíveis:
1 - Frutas
2 - Animais
3 - Países
Escolha uma categoria: 1
Palavra: _ _ _ _ _ _
Tentativas restantes: 6
Letras tentadas:
Digite uma letra: A
✅ Letra correta!
Palavra: _ A _ A _ A
Tentativas restantes: 6
Letras tentadas: A
Digite uma letra: B
❌ Letra incorreta!
_______
| |
| O
|
|
|
|
|
Palavra: _ A _ A _ A
Tentativas restantes: 5
Letras tentadas: A, B
Sugestão de desenho para 6 estágios:
Estágio 0: Estágio 1: Estágio 2: Estágio 3:
_______ _______ _______ _______
| | | | | | | |
| | O | O | O
| | | | | /|
| | | |
| | | |
| | | |
| | | |
Estágio 4: Estágio 5: Estágio 6:
_______ _______ _______
| | | | | |
| O | O | O
| /|\ | /|\ | /|\
| / | / | / \
| | |
| | |
| | |
Teste seu jogo com os seguintes cenários:
- ✅ Vitória (adivinhar todas as letras)
- ✅ Derrota (completar a forca)
- ✅ Letra repetida
- ✅ Entrada inválida (números, símbolos, mais de uma letra)
- ✅ Palavras com letras repetidas
- ✅ Diferentes categorias
- Comece com ASCII simples: Não precisa ser perfeito desde o início
- Use listas para controlar letras corretas e tentadas
- Funções são suas amigas: Divida o problema em funções menores
- Teste com palavras curtas primeiro
- Use
.lower()para normalizar as entradas
Se implementar pontuação:
- Letra correta: +10 pontos
- Letra errada: -5 pontos
- Vitória: +100 pontos + (tentativas_restantes × 20)
- Dica usada: -30 pontos
- Crie um repositório no GitHub
- Adicione o arquivo
.pycom seu código - Inclua um README com:
- Instruções para executar o jogo
- Funcionalidades implementadas
- Exemplo do jogo funcionando
- Desafios encontrados e como superou
- Possíveis melhorias futuras
Se quiser se desafiar mais:
- 🔤 Acentuação: Suporte a palavras com acentos
- 🎨 Cores: Use biblioteca
coloramapara terminal colorido - 💾 Save/Load: Salvar jogo em andamento em arquivo
- 🌐 API: Buscar palavras de API externa
- 🎵 Sons: Adicionar efeitos sonoros
- 🖥️ GUI: Interface gráfica com
tkinteroupygame
Divirta-se criando seu jogo da forca! Lembre-se: o importante é aprender e se divertir no processo! 🎮🐍📚