48 lines
1.8 KiB
Python
48 lines
1.8 KiB
Python
|
import random, string, os
|
||
|
from instrumentos import instrumentos
|
||
|
from anim_colgado import anim
|
||
|
from time import sleep as sl
|
||
|
clear = lambda: os.system('clear') if os.name == 'posix' else os.system('cls')
|
||
|
|
||
|
def get_inst(instrumentos):
|
||
|
inst = random.choice(instrumentos)
|
||
|
while '_' in inst or ' ' in inst:
|
||
|
inst = random.choice(instrumentos)
|
||
|
return inst.upper()
|
||
|
|
||
|
def colgado():
|
||
|
inst = get_inst(instrumentos)
|
||
|
letras_inst = set(inst)
|
||
|
alfabeto = set(string.ascii_uppercase)
|
||
|
letras_usadas = set()
|
||
|
vidas = 6
|
||
|
while len(letras_inst) > 0 and vidas > 0:
|
||
|
clear()
|
||
|
print(anim[vidas])
|
||
|
print('\nIntentos restantes [', vidas,']' ,' - Letras usadas: ', ''.join(letras_usadas))
|
||
|
lista_inst = [letra if letra in letras_usadas else '_' for letra in inst]
|
||
|
print('Instrumento Musical: ', ' '.join(lista_inst))
|
||
|
letra_user = input('\nIntroduce una letra: ').upper()
|
||
|
if letra_user in alfabeto - letras_usadas:
|
||
|
letras_usadas.add(letra_user)
|
||
|
if letra_user in letras_inst:
|
||
|
letras_inst.remove(letra_user)
|
||
|
else:
|
||
|
vidas -= 1
|
||
|
print(f'\n\'{letra_user}\' no está en el nombre del instrumeto musical\n')
|
||
|
elif letra_user in letras_usadas:
|
||
|
print('Ya usaste esta letra, prueba con otra\n')
|
||
|
sl(2)
|
||
|
else:
|
||
|
print('Caracter inválido, intenta con una letra\n')
|
||
|
sl(2)
|
||
|
if vidas == 0:
|
||
|
clear()
|
||
|
print(anim[0])
|
||
|
print('\tPerdiste 😓️ el nombre\n\tdel instrumento era ', inst.upper())
|
||
|
sl(4)
|
||
|
else:
|
||
|
print('\n\t\t', inst.upper(), '\n\t 🎊️🎉️ Felicitaciones 🎊️🎉️ , \n\tencontraste el nombre del instrumento\n')
|
||
|
sl(4)
|
||
|
colgado()
|