Jogo da Forca em Python (Terminal)
Além de divertido, ele é um excelente projeto para iniciantes em Python, pois envolve:
Estruturas de repetição (
while,for).Condicionais (
if,else).
Neste artigo, você vai aprender passo a passo a criar um jogo da forca no terminal usando Python, desde a lógica até um projeto completo.
🔹 1. Como funciona o jogo da forca?
O jogo é bem simples:
Um jogador (ou o computador) escolhe uma palavra secreta.
O outro jogador tenta adivinhar a palavra, letra por letra.
A cada erro, uma parte do bonequinho da forca é desenhada.
O jogo termina quando o jogador:
Descobre todas as letras da palavra. ✅
Ou quando o bonequinho é enforcado (número máximo de erros). ❌
🔹 2. Estrutura básica do jogo
Para criar nosso jogo, precisamos:
Um banco de palavras (lista de strings).
Uma forma de escolher aleatoriamente a palavra secreta.
Um loop de tentativas, onde o jogador fornece uma letra.
Contagem de acertos e erros.
Exibição da palavra sendo formada e do estado da forca.
🔹 3. Criando o banco de palavras
Podemos começar com uma lista simples:
import random
palavras = ["python", "programacao", "jogo", "desafio", "computador"]
# Escolher palavra secreta
palavra_secreta = random.choice(palavras)
🔹 4. Representando a palavra oculta
No início, o jogador não sabe a palavra. Vamos mostrar apenas traços _ no lugar das letras.
letras_certas = []
letras_erradas = []
# Mostrar palavra com espaços
def mostrar_palavra(palavra, letras_certas):
return " ".join([letra if letra in letras_certas else "_" for letra in palavra])
print(mostrar_palavra(palavra_secreta, letras_certas))
Se a palavra for "python" e o jogador já descobriu "p" e "o", a saída será:
p _ _ _ o _
🔹 5. Desenhando a forca
Podemos criar estágios do bonequinho com base nos erros.
estagios_forca = [
"""
-----
| |
|
|
|
|
=========
""",
"""
-----
| |
O |
|
|
|
=========
""",
"""
-----
| |
O |
| |
|
|
=========
""",
"""
-----
| |
O |
/| |
|
|
=========
""",
"""
-----
| |
O |
/|\\ |
|
|
=========
""",
"""
-----
| |
O |
/|\\ |
/ |
|
=========
""",
"""
-----
| |
O |
/|\\ |
/ \\ |
|
=========
"""
]
Cada vez que o jogador erra, aumentamos o estágio da forca.
🔹 6. Estrutura principal do jogo
Agora juntamos tudo dentro de um loop while.
import random
def jogo_da_forca():
palavras = ["python", "programacao", "jogo", "desafio", "computador"]
palavra = random.choice(palavras)
letras_certas = []
letras_erradas = []
tentativas = len(estagios_forca) - 1
print("🎮 Bem-vindo ao Jogo da Forca!")
while True:
print(estagios_forca[len(letras_erradas)])
print("Palavra: ", mostrar_palavra(palavra, letras_certas))
print("Letras erradas: ", " ".join(letras_erradas))
# Entrada do jogador
tentativa = input("Digite uma letra: ").lower()
if not tentativa.isalpha() or len(tentativa) != 1:
print("⚠️ Digite apenas UMA letra!")
continue
if tentativa in letras_certas or tentativa in letras_erradas:
print("⚠️ Você já tentou essa letra!")
continue
if tentativa in palavra:
letras_certas.append(tentativa)
print("✅ Boa! A letra está na palavra.")
else:
letras_erradas.append(tentativa)
print("❌ Errou! Essa letra não existe na palavra.")
# Verifica vitória
if all(letra in letras_certas for letra in palavra):
print("🎉 Parabéns! Você venceu!")
print("A palavra era:", palavra)
break
# Verifica derrota
if len(letras_erradas) >= tentativas:
print(estagios_forca[-1])
print("☠️ Você perdeu! A palavra era:", palavra)
break
# Funções auxiliares
def mostrar_palavra(palavra, letras_certas):
return " ".join([letra if letra in letras_certas else "_" for letra in palavra])
# Executar o jogo
if __name__ == "__main__":
jogo_da_forca()
🔹 7. Melhorias possíveis
Esse jogo já funciona, mas podemos deixá-lo mais interessante:
✅ Banco de palavras externo – ler palavras de um arquivo .txt.
✅ Sistema de pontuação – pontos para cada vitória, descontos por erros.
✅ Dificuldade ajustável – limitar tentativas ou escolher palavras maiores.
✅ Interface gráfica (GUI) – transformar em um joguinho visual com Tkinter ou Pygame.
🔹 8. Conclusão
Neste artigo, você aprendeu a:
Usar listas e strings para manipular palavras.
Criar loops de tentativas com condicionais.
Exibir um bonequinho da forca evoluindo a cada erro.
Montar um jogo completo no terminal em Python.
O jogo da forca é um ótimo projeto para praticar lógica de programação, além de ser divertido e expansível.

Comentários
Postar um comentário