Quando eu inicio meu jogo, a variável dos campos vazios me retorna apenas um campo, segue código abaixo, e a execução no terminal
import random
def play():
start()
secret_word = random_word()
hit_word = word_spot(secret_word)
print(hit_word)
hit = False
hanged = False
step = 0
while (not hit or not hanged):
shot = user_input()
if (shot in secret_word):
word_validate(secret_word, hit_word, shot)
else:
step += 1
hanged = step > 7
hit = ("_" not in hit_word)
print(hit_word)
if(hit):
user_win()
else:
user_lost()
def start():
print(21 * "#")
print("*** Jogo da Forca ***")
print(21 * "#")
def random_word():
database = open("secret_word.txt","r")
word_list = []
for word in database:
word = word.strip()
word_list.append(word)
database.close()
index_word = random.randrange(1, len(word))
secret_word = word[index_word].upper()
return secret_word
def word_spot(secret_word):
return ["_" for word in secret_word]
def user_input():
shot = input("Digite uma letra: ")
shot = shot.strip().upper()
return shot
def word_validate(secret_word, hit_word, shot):
index = 0
for word in secret_word:
if(shot == word):
hit_word[index] = word
index += 1
def user_lost():
print("Foi enforcado! :(")
def user_win():
print("Você acertou, parabéns!!")
if __name__ == "__main__":
play()
#####################
*** Jogo da Forca ***
#####################
['_']
Digite uma letra: a
['A']
Digite uma letra: f
['A']
Digite uma letra: g
['A']
Digite uma letra: