This repository was archived by the owner on Jun 17, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathforca.py
More file actions
166 lines (137 loc) · 4.84 KB
/
Copy pathforca.py
File metadata and controls
166 lines (137 loc) · 4.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
import random
def jogo_forca():
mensagem_inicio()
palavra_secreta = arquivo_palavras()
letras_acertadas = inicializa_letras_acertadas(palavra_secreta)
letras_incorretas = []
enforcado = False
acertou = False
erros = 0
#enquanto (True)
while(not enforcado and not acertou):
chute = pede_chute()
if chute in palavra_secreta:
letra_correta(palavra_secreta, chute, letras_acertadas)
else:
erros += 1
desenha_forca(erros)
print("Letras erradas até o momento: \n", chute)
enforcado = erros == 7
acertou = "_" not in letras_acertadas
if (enforcado):
msg_loser(palavra_secreta)
elif (acertou):
msg_winner()
print("Fim do jogo")
def mensagem_inicio():
print("**********************************")
print("*** Bem vindo ao jogo de Forca ***!")
print("**********************************")
def arquivo_palavras(nome_arquivo="palavras.txt", primeira_linha=0): #parametro opcional (valor padrão)
'''
# Substitui o bloco abaixo, fazendo com que o arquivo seja sempre fechado.
with open("palavra.txt", "r") as chamar_arquivo:
palavras = []
for linha in chamar_arquivo:
palavras.append(linha.strip().upper())
qnt = random.randrange(0,len(palavras))
'''
chamar_arquivo = open(nome_arquivo, "r")
palavras = []
for linha in chamar_arquivo:
palavras.append(linha.strip().upper())
chamar_arquivo.close()
# Comendo with substitui a necessidade do close(), porque caso ocorra algum problema com a execução do script antes do close, o SO ficará com o arquivo aberto.
qnt = random.randrange(primeira_linha, len(palavras))
palavra_secreta = palavras[qnt]
return palavra_secreta
def inicializa_letras_acertadas(palavra):
return ["_" for count in palavra]
def pede_chute():
chute = input("Digite uma letra: ")
chute = chute.strip().upper()
return chute
def letra_correta(palavra_secreta, chute, letra_informada):
index = 0
qnt_encontrada = 0
for letra in palavra_secreta:
if (letra == chute):
letra_informada[index] = chute
qnt_encontrada += 1
index += 1
print("Letra {} encontrada {} vezes na palavra.".format(chute, qnt_encontrada))
print("Letras descobertas: \n", letra_informada)
def desenha_forca(erros):
print(" _______ ")
print(" |/ | ")
if(erros == 1):
print(" | (_) ")
print(" | ")
print(" | ")
print(" | ")
if(erros == 2):
print(" | (_) ")
print(" | \ ")
print(" | ")
print(" | ")
if(erros == 3):
print(" | (_) ")
print(" | \| ")
print(" | ")
print(" | ")
if(erros == 4):
print(" | (_) ")
print(" | \|/ ")
print(" | ")
print(" | ")
if(erros == 5):
print(" | (_) ")
print(" | \|/ ")
print(" | | ")
print(" | ")
if(erros == 6):
print(" | (_) ")
print(" | \|/ ")
print(" | | ")
print(" | / ")
if (erros == 7):
print(" | (_) ")
print(" | \|/ ")
print(" | | ")
print(" | / \ ")
print(" | ")
print("_|___ ")
print()
def msg_loser(palavra_secreta):
print("Excedeu o número de tentativas. Você foi enforcado !")
print("A palavra era {}".format(palavra_secreta))
print(" _______________ ")
print(" / \ ")
print(" / \ ")
print("/\/ \/\ ")
print("\ | XXX XXX | / ")
print(" \| XXXXX XXXXX |/ ")
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(" \_______/ ")
def msg_winner():
print("Você acertou toda a palavra secreta. Parabéns !")
print(" ___________ ")
print(" '._==_==_=_.' ")
print(" .-\\: /-. ")
print(" | (|:. |) | ")
print(" '-|:. |-' ")
print(" \\::. / ")
print(" '::. .' ")
print(" ) ( ")
print(" _.' '._ ")
print(" '-------' ")
if(__name__ == "__main__"):
jogo_forca()