Um jogo de Forca pode ser criado como uma lista de caracteres que precisam ser acertados pelo jogador. Faça um programa que peça ao jogador para digitar uma palavra (string) e crie uma lista de caracteres _ com a mesma quantidade de elementos do tamanho da palavra. Depois, o jogador deve digitar uma letra de cada vez. Se a letra ffzer parte da palavra, o programa vai trocar es _ da lista pela letra digitada pelo jogador, nas posições adequadas, e mostrar a lista para - jogador. Se © jogador errar uma letra ou digitar uma que já faça parte da lista, ele comete um erro. © programa deve prosseguir pedindo para o jogador digitar letras até que ele descubra a palavra ou perca o jogo (errando 3 vezes).
Passo 1
Beleza, vamos entender o que a questão está pedindo. Aqui, estamos falando sobre criar um jogo da Forca usando programação. O conteúdo envolve conceitos básicos de programação como listas, strings e controle de fluxo (como loops e condicionais). Para resolver isso, vamos precisar:
- Pedir ao usuário para digitar uma palavra.
- Criar uma lista de caracteres representando essa palavra com “_” para esconder as letras.
- Solicitar letras ao jogador uma de cada vez.
- Verificar se a letra está na palavra e atualizar a lista adequada.
- Controlar os erros, permitindo no máximo 3 erros antes de finalizar o jogo.
Passo 2
Primeiro, vamos pedir ao usuário para digitar uma palavra. Isso será a palavra que o jogador vai tentar adivinhar.
palavra = input("Digite a palavra para o jogo da Forca: ").lower()
Aqui, usamos
input()
para capturar o que o usuário digita e lower()
para padronizar tudo em letras minúsculas, facilitando a comparação depois.Passo 3
Agora, precisamos criar uma lista de caracteres com o mesmo tamanho da palavra, mas substituindo cada letra por um “_”. Isso vai servir como o “tabuleiro” da Forca.
forca = ["_"] * len(palavra)
print(" ".join(forca))
Aqui,
["_"] * len(palavra)
cria uma lista com “_” repetido igual ao número de letras na palavra. O join
é para exibir a lista de forma mais amigável.Passo 4
Vamos precisar de uma maneira de controlar os erros que o jogador comete. Vamos iniciar um contador de erros em zero.
erros = 0
Assim, cada vez que o jogador errar, incrementamos esse contador. Se chegar a 3, o jogo acaba.
Passo 5
Vamos entrar em um loop que continua pedindo letras até que o jogador descubra a palavra ou erre 3 vezes.
while erros < 3 and "_" in forca:
letra = input("Digite uma letra: ").lower()
if letra in palavra:
for index, char in enumerate(palavra):
if char == letra:
forca[index] = letra
print("Boa! ", " ".join(forca))
else:
erros += 1
print(f"Ops! Você errou. Tentativas restantes: {3 - erros}")
Aqui, o
while
continua enquanto o número de erros for menor que 3 e ainda houver “_” na lista forca
. Quando o jogador digita uma letra:- Verificamos se está na palavra.
- Se sim, atualizamos todas as posições na lista
forca
onde essa letra aparece. - Se não, incrementamos o contador de erros e informamos ao jogador.
- Se sim, atualizamos todas as posições na lista
Passo 6
Finalmente, precisamos informar ao jogador se ele ganhou ou perdeu o jogo após o loop terminar.
if "_" not in forca:
print("Parabéns! Você descobriu a palavra:", palavra)
else:
print("Você perdeu! A palavra era:", palavra)
Se não houver mais “_” na lista
forca
, significa que o jogador acertou todas as letras. Caso contrário, ele errou 3 vezes.Resposta
O programa completo permite que o jogador tente adivinhar a palavra, atualizando a lista de caracteres conforme as letras são acertadas e controlando os erros. Ao final, informa se o jogador venceu ou perdeu. Aqui está o código completo:
palavra = input("Digite a palavra para o jogo da Forca: ").lower()
forca = ["_"] * len(palavra)
print(" ".join(forca))
erros = 0
while erros < 3 and "_" in forca:
letra = input("Digite uma letra: ").lower()
if letra in palavra:
for index, char in enumerate(palavra):
if char == letra:
forca[index] = letra
print("Boa! ", " ".join(forca))
else:
erros += 1
print(f"Ops! Você errou. Tentativas restantes: {3 - erros}")
if "_" not in forca:
print("Parabéns! Você descobriu a palavra:", palavra)
else:
print("Você perdeu! A palavra era:", palavra)