-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhangman.py
129 lines (109 loc) · 2.58 KB
/
hangman.py
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
# IMPORTAMOS MODULO RANDOM
import random
palabra = 0
# CONSTANTE DE LISTAS CON ASCCI ARTS
IMAGENES_AHORCADO = ['''
+---+
| |
|
|
|
|
=========''', '''
+---+
| |
O |
|
|
|
=========''', '''
+---+
| |
O |
| |
|
|
=========''', '''
+---+
| |
O |
/| |
|
|
=========''', '''
+---+
| |
O |
/|\ |
|
|
=========''', '''
+---+
| |
O |
/|\ |
/ |
|
=========''', '''
+---+
| |
O |
/|\ |
/ \ |
|
=========''']
# PALABRAS POR DEFECTO
WORDS = [
'sillon',
'amigo',
'pana',
'exterminio',
'pentakill',
]
# Juego
def elegirPalabra():
indiceElegido = random.randint(0, len(WORDS) -1) # El -1 es porque las listas comeinzan de 0. De esta forma evito el error 'stdin'.
return WORDS[indiceElegido]
def interfazDeJuego(palabraEscondida, intentos):
print(IMAGENES_AHORCADO[intentos])
print("")
print("")
print(palabraEscondida)
print("")
print( "= - = - = - = - = = - = - = - = - = = - = - = - = - =")
def run():
# Declaramos la variable que contiene la palabra a adivinar y le asignamos el valor de la funcion elegirPalabra()
palabra = elegirPalabra()
# Armamos la interface para la palabra
palabraEscondida = [" - "] * len(palabra)
intentos = 0
while True:
interfazDeJuego(palabraEscondida, intentos)
letraActual = str(input("Elegí una letra: "))
indicesLetra = [] #para almacenar los indices de las letras adivinadas
# Iteramos sobre la longitud de la palabra
for i in range (len(palabra)):
if palabra[i] == letraActual:
indicesLetra.append(i)
if len(indicesLetra) == 0:
intentos += 1
if intentos == 6:
interfazDeJuego(palabraEscondida, intentos)
print("La palabra era {}".format(palabra))
print("Perdiste bro! :(")
break
else:
for i in indicesLetra:
palabraEscondida[i] = letraActual
indicesLetra = []
try:
# Buscamos si hay " - " para comprobar si faltan letras o no
palabraEscondida.index(" - ")
except ValueError:
# ValueError se usa porque si no encuentra " - " lanza error y rompe el programa xd // osea en el caso que no haya - controlamos el error
print("")
print("GANASTE! La palabra es {}".format(palabra))
break
if __name__ == "__main__":
print ("B I E N V I D O S A A H O R C A D O S")
run()