import random
def jogar():
imprime_msg_inicial()
palavra_secreta = selecione_palavra_secreta()
letras_acertadas = inicializa_letras_acertadas(palavra_secreta)
print(letras_acertadas)
enforcou = False
acertou = False
erros = 0
while (not enforcou and not acertou):
chute = chute_usuario()
if (chute in palavra_secreta):
marca_chute_correto(chute, letras_acertadas, palavra_secreta)
else:
erros += 1
enforcou = erros == 6
acertou = '_' not in letras_acertadas
print(letras_acertadas)
if (acertou):
imprime_msg_ganhador()
else:
imprime_msg_perdedor(palavra_secreta)
print('Fim do jogo')
def imprime_msg_inicial():
print('*' * 33)
print(' Bem vindo ao jogo da Forca! ')
print('*' * 33)
def selecione_palavra_secreta():
arquivo = open('palavras.txt', 'r')
palavras = []
for linha in arquivo:
linha = linha.strip()
palavras.append(linha)
arquivo.close()
numero = random.randrange(0, len(palavras))
palavra_secreta = palavras[numero].upper()
return palavra_secreta
def inicializa_letras_acertadas(palavra):
return ['_' for letra in palavra]
def chute_usuario():
chute = input('Digite uma letra ')
chute = chute.strip().upper()
return chute
def marca_chute_correto(chute, letras_acertadas, palavra_secreta):
index = 0
for letra in palavra_secreta:
if (chute == letra):
letras_acertadas[index] = letra
index += 1
def imprime_msg_ganhador():
print("Expetacular, você ganhou!!!")
print(" ___________ ")
print(" '._==_==_=_.' ")
print(" .-\\: /-. ")
print(" | (|:. |) | ")
print(" '-|:. |-' ")
print(" \\::. / ")
print(" '::. .' ")
print(" ) ( ")
print(" _.' '._ ")
print(" '-------' ")
def imprime_msg_perdedor(palavra_secreta):
print("Fim da linha, você foi enforcado,kkkk!!!")
print(" _______________ ")
print(" / \ ")
print(" / \ ")
print("// \/\ ")
print("\| XXXX XXXX | / ")
print(" | XXXX XXXX |/ ")
print(" | XXX XXX | ")
print(" | | ")
print(" \__ XXX __/ ")
print(" |\ XXX /| ")
print(" | | | | ")
print(" | I I I I I I I | ")
print(" | I I I I I I | ")
print(" \_ _/ ")
print(" \_ _/ ")
print(" \_______/ ")
print("A palavra secreta era {}".format(palavra_secreta))
if (__name__ == "__main__"):
jogar()
Minha dúvida é a seguinte, teoricamente o jogo deveria permitir um limite para acertar a palavra secreta no entanto por exemplo quando aparece a palavra carambola e digito mais de uma vez a letra incorreta posso continuar. Uma outra dúvida consigo implementar o número de tentativas para ser igual a extensão da palavra secreta?