Esempio n. 1
0
def temporizador():
    global cuenta_regresiva
    cuenta_regresiva = conteo*60
    for i in range(cuenta_regresiva):
        cuenta_regresiva -= 1
        sleep(1)
    prints.game_over()
    for i in range(3):
        sleep(1)
    os._exit(os.EX_OK)
Esempio n. 2
0
def main():
    print('¡Hola! Es un placer darte la bienvenida a "ESCAPAMET"\n')
    accion = input('************** OPCIÓN A REALIZAR ************** \n\n1. Jugar\n2. Consultar resultados\n3. Salir\n\n> ')
    while True:
        if accion == "1": 
            jugar()
        elif accion == "2":
            prints.desarrollando()
            system('clear')
            accion = input('************** OPCIÓN A REALIZAR ************** \n\n1. Jugar\n2. Consultar resultados\n3. Salir\n\n> ')
        elif accion == "3":
            prints.game_over()
            break
        else:
            print('Error. Ingrese una opción válida')
            accion = input("> ")
Esempio n. 3
0
def juego(jugador, response):

    #Se crea un objeto tipo criptograma donde se agregatodo lo relacionado con este juego.

    for i in response:
        if i["name"] == "Biblioteca":
            criptograma.nombre = i["objects"][2]["game"]["name"]
            criptograma.recompensa = i["objects"][2]["game"]["award"]
            criptograma.requerimiento = i["objects"][2]["game"]["requirement"]
            criptograma.reglas = i["objects"][2]["game"]["rules"]
            criptograma.preguntas = i["objects"][2]["game"]["questions"]

    #Se busca en el inventario del jugador el objeto llave. Si no lo tiene, no puede entrar.
    if jugador.inventario["Llave"] == "No disponible":
        print('No me puedes abrir. Busca algo para abrirme')
        return jugador

    #Se inicializa la variable alfabeto con el abecedario en orden
    alfabeto = list(string.ascii_lowercase)

    #Se inicializan variables requeridas para el procedimiento
    utility = []
    y = random.randint(0, 2)
    desplazamientos = []
    mensaje_encriptado = []
    dic_alfabeto = {}
    i = 0

    #Se ubican los desplazamientos en la API
    for i in criptograma.preguntas:
        desplazamientos.append(i["desplazamiento"])

    #Se escoge un desplazamiento de la API de manera aleatoria
    x = desplazamientos[y]

    #Se quita el acento en el mensaje
    mensaje = criptograma.preguntas[y]["question"].replace("á", "a").lower()

    #Por comodidad se decidió hacer un diccionario con el abecedario con la letra y su posición en número. Ejemplo {"a": 1}
    contador = 1
    for i in alfabeto:
        dic_alfabeto[i] = contador
        contador += 1

    #Se busca el mensaje encriptado con la función del alfabeto_encriptado
    for i in mensaje:
        if i.lower() != " ":
            mensaje_encriptado.append(
                alfabeto_encriptado(alfabeto, x)[dic_alfabeto[i.lower()] - 1])
        else:
            mensaje_encriptado.append(" ")

    #Se imprimen los mensajes en string
    print_criptograma(jugador, "".join(alfabeto), "".join(mensaje_encriptado),
                      "".join(alfabeto_encriptado(alfabeto, x)))
    while True:
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower() == "i" or accion.lower(
        ) == "v":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
            print_criptograma(
                jugador, "".join(alfabeto), "".join(mensaje_encriptado),
                "".join(alfabeto_encriptado(alfabeto, x))
            )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.
        elif accion == "1":
            respuesta = input('Ingrese su respuesta\n> ')
            if "".join(respuesta.split(
                    " ")).isalpha() and respuesta.lower() == mensaje:
                print_ganaste(jugador)
                jugador.inventario["Mensaje"] = "Si te gradúas pisas el Samán"
                continuar = input(
                    'Pulse cualquier tecla para regresar a la biblioteca > ')
                return jugador
            else:
                jugador.vida -= 1 / 4
                print_criptograma(jugador, "".join(alfabeto),
                                  "".join(mensaje_encriptado),
                                  "".join(alfabeto_encriptado(alfabeto, x)))
                utility = False
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            print_pistas(jugador, "No hay pistas jajaja")
            jugador.pistas -= 1
            continuar = input('Pulse cualquier tecla para continuar > ')
            print_criptograma(jugador, "".join(alfabeto),
                              "".join(mensaje_encriptado),
                              "".join(alfabeto_encriptado(alfabeto, x)))
        elif accion == "3":
            return jugador
        else:
            print_criptograma(jugador, "".join(alfabeto),
                              "".join(mensaje_encriptado),
                              "".join(alfabeto_encriptado(alfabeto, x)))
            print('Error. Intente de nuevo.')

    y = random.randint(0, 2)
    while y == x:
        y = random.randint(0, 2)
    z = random.randint(0, 2)
    while z == y or z == x:
        z = random.randint(0, 2)
    ayuda = []
    letras_correctas = []
    contador_pistas = 0
    print(criptograma.preguntas[x]["desplazamiento"])
def juego(jugador, response):

    #Se crea un objeto tipo criptograma donde se agregatodo lo relacionado con este juego.

    for i in response:
        if i["name"] == "Cuarto de Servidores ":
            palabra_mezclada.nombre = i["objects"][1]["game"]["name"]
            palabra_mezclada.recompensa = i["objects"][1]["game"]["award"]
            palabra_mezclada.requerimiento = i["objects"][1]["game"][
                "requirement"]
            palabra_mezclada.reglas = i["objects"][1]["game"]["rules"]
            palabra_mezclada.preguntas = i["objects"][1]["game"][
                "questions"]  #Lista de 3 diccionarios. "question", "category", "words"

    #Se variables con números random entre 0 y 2 para utilizarlos como índice al momento de buscar las preguntas de manera aleatoria.

    q, w, e, r, t = "", "", "", "", ""
    x = random.randint(0, 2)
    #Pregunta 1
    print(palabra_mezclada.nombre)
    palabras_desordenadas = []
    ordenada = []
    contador = 0
    for i, j in enumerate(palabra_mezclada.preguntas[x]["words"]):
        ordenada = []
        contador = 0
        while contador < len(j):
            ordenada.append(j[contador])
            contador += 1
        desordenada = random.shuffle(ordenada)
        palabras_desordenadas.append("".join(ordenada))

    while q == "" or w == "" or e == "" or r == "" or t == "":
        prints_palabramezclada(jugador,
                               palabra_mezclada.preguntas[x]["category"],
                               palabras_desordenadas, q, w, e, r, t)
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower() == "i" or accion.lower(
        ) == "v":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "1":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta == palabra_mezclada.preguntas[x]["words"][0]:
                print_correcto(jugador)
                q = "CORRECTA"
            else:
                jugador.vida -= 1 / 2
                prints_palabramezclada(
                    jugador, palabra_mezclada.preguntas[x]["category"],
                    palabras_desordenadas, q, w, e, r, t)
                print('Incorrecto')
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta == palabra_mezclada.preguntas[x]["words"][1]:
                print_correcto(jugador)
                w = "CORRECTA"
            else:
                jugador.vida -= 1 / 2
                prints_palabramezclada(
                    jugador, palabra_mezclada.preguntas[x]["category"],
                    palabras_desordenadas, q, w, e, r, t)
                print('Incorrecto')
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "3":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta == palabra_mezclada.preguntas[x]["words"][2]:
                print_correcto(jugador)
                e = "CORRECTA"
            else:
                jugador.vida -= 1 / 2
                prints_palabramezclada(
                    jugador, palabra_mezclada.preguntas[x]["category"],
                    palabras_desordenadas, q, w, e, r, t)
                print('Incorrecto')
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "4":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta == palabra_mezclada.preguntas[x]["words"][3]:
                print_correcto(jugador)
                r = "CORRECTA"
            else:
                jugador.vida -= 1 / 2
                prints_palabramezclada(
                    jugador, palabra_mezclada.preguntas[x]["category"],
                    palabras_desordenadas, q, w, e, r, t)
                print('Incorrecto')
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "5":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta == palabra_mezclada.preguntas[x]["words"][4]:
                print_correcto(jugador)
                t = "CORRECTA"
            else:
                jugador.vida -= 1 / 2
                prints_palabramezclada(
                    jugador, palabra_mezclada.preguntas[x]["category"],
                    palabras_desordenadas, q, w, e, r, t)
                print('Incorrecto')
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "6":
            return jugador
        else:
            print('Error')
            continuar = input('Pulse cualquier tecla para continuar > ')

    jugador.inventario["Contraseña"] = "feliz"
    print_ganaste(jugador)
    continuar = input('Pulse cualquier tecla para continuar > ')
    return jugador
Esempio n. 5
0
def juego(jugador):

    #Se crea un objeto tipo criptograma donde se agregatodo lo relacionado con este juego.
    url = "https://api-escapamet.vercel.app/"
    response = requests.get(url).json()
    for i in response:
        if i["name"] == "Biblioteca":
            derivadas.nombre = i["objects"][1]["game"]["name"]
            derivadas.recompensa = i["objects"][1]["game"]["award"]
            derivadas.requerimiento = i["objects"][1]["game"]["requirement"]
            derivadas.mensaje_requerimiento = i["objects"][1]["game"][
                "message_requirement"]
            derivadas.reglas = i["objects"][1]["game"]["rules"]
            derivadas.preguntas = i["objects"][1]["game"]["questions"]

    #Se busca en el inventario del jugador el objeto llave. Si no lo tiene, no puede entrar.
    if jugador.inventario["Libro de matemáticas"] == "No disponible":
        print(derivadas.mensaje_requerimiento[x]["question"])
        return jugador
    derivada()
    x = random.randint(0, 2)
    funciones = [((sin(x)) / 2), ((cos(x)) / 2 - (tan(x)) / 5),
                 ((sin(x)) / 5 - (tan(x)))]
    f_x = funciones[x]
    print(f_x)
    print(derivada())
    y = x
    x = random.randint(0, 2)
    while y == x:
        x = random.randint(0, 2)
    f_y = ((cos(x)) / 2 - (tan(x)) / 5)
    z = x
    x = random.randint(0, 2)
    while x == y or x == z:
        z = random.randint(0, 2)
    f_z = ((sin(x)) / 5 - (tan(z)))
    #Pregunta 1
    print_derivadas(jugador, derivadas.preguntas[x]["question"])
    while True:
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower(
        ) == "i":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "v":
            print_derivadas(jugador, derivadas.preguntas[x]["question"])
        elif accion == "1":
            respuesta = input('Ingrese su respuesta\n> ')
            if (respuesta.isnumeric()
                    or "".join(respuesta.split(".")).isnumeric()
                ) and float(respuesta) == (derivada()):
                print_correcto(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
                break
            else:
                jugador.vida -= 1 / 4
                print_derivadas(jugador, derivadas.preguntas[x]["question"])
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            print_pistas(jugador, "No hay pistas jajaja")
            jugador.pistas -= 1
            continuar = input('Pulse cualquier tecla para continuar > ')
            print_derivadas(jugador, derivadas.preguntas[x]["question"])
        elif accion == "3":
            return jugador
        else:
            print_derivadas(jugador, derivadas.preguntas[x]["question"])
            print('Error. Intente de nuevo.')

    #Pregunta 2
    print_derivadas(jugador, derivadas.preguntas[y]["question"])
    while True:
        print("Y")
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower(
        ) == "i":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "v":
            print_derivadas(jugador, derivadas.preguntas[y]["question"])
        elif accion == "1":
            print(derivada(f_y))
            respuesta = input('Ingrese su respuesta\n> ')
            print(respuesta)
            if (respuesta.isnumeric()
                    or "".join(respuesta.split(".")).isnumeric()
                ) and float(respuesta) == (derivada()):
                print_correcto(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
                break
            else:
                jugador.vida -= 1 / 4
                print_derivadas(jugador, derivadas.preguntas[y]["question"])
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            print_pistas(jugador, "No hay pistas jajaja")
            jugador.pistas -= 1
            continuar = input('Pulse cualquier tecla para continuar > ')
            print_derivadas(jugador, derivadas.preguntas[y]["question"])
        elif accion == "3":
            return jugador
        else:
            print_derivadas(jugador, derivadas.preguntas[y]["question"])
            print('Error. Intente de nuevo.')

    #Pregunta 3
    print_derivadas(jugador, derivadas.preguntas[z]["question"])
    while True:
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower(
        ) == "i":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "v":
            print_derivadas(jugador, derivadas.preguntas[z]["question"])
        elif accion == "1":
            respuesta = input('Ingrese su respuesta\n> ')
            if "".join(
                    respuesta.split(".")).isnumeric() and float(respuesta) == (
                        derivada()):
                print_ganaste(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
                break
            else:
                jugador.vida -= 1 / 4
                print_derivadas(jugador, derivadas.preguntas[z]["question"])
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            print_pistas(jugador, "No hay pistas jajaja")
            jugador.pistas -= 1
            continuar = input('Pulse cualquier tecla para continuar > ')
            print_derivadas(jugador, derivadas.preguntas[z]["question"])
        elif accion == "3":
            return jugador
        else:
            print_derivadas(jugador, derivadas.preguntas[z]["question"])
            print('Error. Intente de nuevo.')
def juego(jugador, response):

    #Se crea un objeto tipo criptograma donde se agregatodo lo relacionado con este juego.

    for i in response:
        if i["name"] == "Laboratorio SL001":
            sopadeletras.nombre = i["objects"][0]["game"]["name"]
            sopadeletras.recompensa = i["objects"][0]["game"]["award"]
            sopadeletras.requerimiento = i["objects"][0]["game"]["requirement"]
            sopadeletras.reglas = i["objects"][0]["game"]["rules"]
            sopadeletras.preguntas = i["objects"][0]["game"][
                "questions"]  #Lista de diccionarios. [0 a 2] answer_1,answer_2,answer_3 y [3 a 5] clue_1,clue_2,clue_3. Son 3 diciconarios.

    alfabeto = list((string.ascii_uppercase
                     ))  #Para traer el abecedario de forma desordenada
    fila = []
    matriz = []
    for i in range(15):
        for j in range(15):
            t = random.randint(0, 25)
            fila.append(alfabeto[t])
        matriz.append(fila)
        fila = []

    #Se selecciona de manera random el diccionario que contiene las preguntas (hay 3 opciones de sopa de letras).
    palabras = []
    pistas = []
    x = random.randint(0, 2)
    contador = 1
    for i in range(3):
        respuesta = "answer_" + str(
            contador
        )  #Se busca las respuestas para esa sopa de letras en el api
        palabras.append(sopadeletras.preguntas[x][respuesta].lower())
        contador += 1
    contador = 1
    for i in range(3):
        pista = "clue_" + str(
            contador
        )  #Se busca las respuestas para esa sopa de letras en el api
        pistas.append(sopadeletras.preguntas[x][pista])
        contador += 1

    print(palabras)
    print(pistas)

    y = random.randint(0, 2)
    while y == x:
        y = random.randint(0, 2)
    z = random.randint(0, 2)
    while z == y or z == x:
        z = random.randint(0, 2)

    matriz = vertical(palabras, y, matriz)
    matriz = horizontal(palabras, x, matriz)
    matriz = diagonal(palabras, z, matriz)

    #Pregunta X
    correctas = []
    contador_pistas = 0
    while True:
        print_sopadeletras(jugador, matriz)
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower() == "i" or accion.lower(
        ) == "v":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "1":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta.isalpha() and respuesta.lower() in palabras:
                if respuesta.lower() in correctas:
                    print('Ya adivinó a esta persona')
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                correctas.append(respuesta)
                if len(correctas) == 3:
                    print(
                        'No voy a dar la vida porque se va a descuadrar la barrita de la vida'
                    )
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                    print_ganaste(jugador)
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                    return jugador
                else:
                    print_correcto(jugador)
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
            else:
                jugador.vida -= 1 / 2
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            if jugador.pistas == 0:
                pistas = 'En este momento no tiene pistas disponibles.'
                print_pistas(jugador, pistas)
                continuar = input('Pulse cualquier tecla para continuar > ')
            else:
                if contador_pistas == 0:
                    jugador.pistas -= 1
                    contador_pistas += 1
                    print_pistas(jugador, pistas[0])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                elif contador_pistas == 1:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, pistas[1])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                elif contador_pistas == 2:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, pistas[2])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                else:
                    print('Se agotaron las pistas hay más pistas.')
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
        elif accion == "3":
            return jugador
        else:
            print('Error')
            continuar = input('Pulse cualquier tecla para continuar > ')
Esempio n. 7
0
def juego(jugador, response):
    """En esta función está todo el juego del ahorcado. Pude hacerlo en varias funciones pero me dificultaba los prints de pantalla.

    Returns:
        objeto: Retorna el objeto de tipo jugador con sus atributos actualizados. En este juego pueden cambiar la vida, cantidad de pistas e inventario.
    """
    for i in response:
        if i["name"] == "Biblioteca":
            ahorcado.nombre = i["objects"][0]["game"]["name"]
            ahorcado.recompensa = i["objects"][0]["game"]["award"]
            ahorcado.requerimiento = i["objects"][0]["game"]["requirement"]
            ahorcado.reglas = i["objects"][0]["game"]["rules"]
            ahorcado.preguntas = i["objects"][0]["game"]["questions"]

    #Se variables con números random entre 0 y 2 para utilizarlos como índice al momento de buscar las preguntas de manera aleatoria.
    x = random.randint(0, 2)
    y = random.randint(0, 2)
    while y == x:
        y = random.randint(0, 2)
    z = random.randint(0, 2)
    while z == y or z == x:
        z = random.randint(0, 2)
    ayuda = []
    letras_correctas = []
    contador_pistas = 0
    utility = False

    #Pregunta X
    while True:
        if not utility:
            if len(letras_correctas) == 0:
                print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                               "_ " * len(ahorcado.preguntas[x]["answer"]),
                               letras_correctas)
            else:
                print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                               (" ".join(ayuda)), letras_correctas)

        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower(
        ) == "i":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "v":
            print_ahorcado(
                jugador, ahorcado.preguntas[x]["question"], (" ".join(ayuda)),
                letras_correctas
            )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.

        elif accion == "1":  #Ingresar letra
            letra = input('Ingrese la letra: ')
            if letra in ahorcado.preguntas[x]["answer"].lower():
                if letra not in letras_correctas:
                    ayuda = []
                    letras_correctas.append(letra)
                    utility = True
                ayuda = f_ayuda(ahorcado, letras_correctas, x)
            else:
                jugador.vida -= 1 / 4
                print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                               (" ".join(ayuda)), letras_correctas)
                utility = False
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)

        elif accion == "2":  #Ingresar palabra
            palabra = input('Ingrese la respuesta: ')
            if palabra.lower() == ahorcado.preguntas[x]["answer"].lower():
                print_correcto(jugador)
                continuar = input(
                    'Pulse cualquier tecla para ir a la siguiente pregunta')
                break
            else:
                jugador.vida -= 1 / 4
                print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                               (" ".join(ayuda)), letras_correctas)
                ayuda = f_ayuda(ahorcado, letras_correctas, x)
                print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                               (" ".join(ayuda)), letras_correctas)
                print('INCORRECTO')
                continuar = input('Pulse cualquier tecla para continuar')
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)

        elif accion == "3":
            if jugador.pistas == 0:
                pistas = 'En este momento no tiene pistas disponibles.'
                print_pistas(jugador, pistas)
                continuar = input('Pulse cualquier tecla para continuar')
                ayuda = f_ayuda(ahorcado, letras_correctas, x)
                print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                               (" ".join(ayuda)), letras_correctas)
            else:
                if contador_pistas == 0:
                    jugador.pistas -= 1
                    contador_pistas += 1
                    print_pistas(jugador, ahorcado.preguntas[x]["clue_1"])
                    continuar = input('Pulse cualquier tecla para continuar')
                    ayuda = f_ayuda(ahorcado, letras_correctas, x)
                    print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                                   (" ".join(ayuda)), letras_correctas)
                elif contador_pistas == 1:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, ahorcado.preguntas[x]["clue_2"])
                    continuar = input('Pulse cualquier tecla para continuar')
                    ayuda = f_ayuda(ahorcado, letras_correctas, x)
                    print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                                   (" ".join(ayuda)), letras_correctas)
                elif contador_pistas == 2:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, ahorcado.preguntas[x]["clue_3"])
                    continuar = input('Pulse cualquier tecla para continuar')
                    ayuda = f_ayuda(ahorcado, letras_correctas, x)
                    print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                                   (" ".join(ayuda)), letras_correctas)
                else:
                    print('Se agotaron las pistas hay más pistas.')
        elif accion == "4":
            return jugador
        else:
            print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                           (" ".join(ayuda)), letras_correctas)
            print('Error')

        print_ahorcado(jugador, ahorcado.preguntas[x]["question"],
                       (" ".join(ayuda)), letras_correctas)

    #Pregunta Y
    ayuda = []
    letras_correctas = []
    contador_pistas = 0
    utility = False
    while True:
        if not utility:
            if len(letras_correctas) == 0:
                print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                               "_ " * len(ahorcado.preguntas[y]["answer"]),
                               letras_correctas)
            else:
                print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                               (" ".join(ayuda)), letras_correctas)

        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower(
        ) == "i":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "v":
            print_ahorcado(
                jugador, ahorcado.preguntas[y]["question"], (" ".join(ayuda)),
                letras_correctas
            )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.

        elif accion == "1":  #Ingresar letra
            letra = input('Ingrese la letra: ')
            if letra in ahorcado.preguntas[y]["answer"].lower():
                if letra not in letras_correctas:
                    ayuda = []
                    letras_correctas.append(letra)
                    utility = True
                ayuda = f_ayuda(ahorcado, letras_correctas, y)
            else:
                jugador.vida -= 1 / 4
                print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                               (" ".join(ayuda)), letras_correctas)
                utility = False
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)

        elif accion == "2":  #Ingresar palabra
            palabra = input('Ingrese la respuesta: ')
            if palabra.lower() == ahorcado.preguntas[y]["answer"].lower():
                print_correcto(jugador)
                continuar = input(
                    'Pulse cualquier tecla para ir a la siguiente pregunta')
                break
            else:
                jugador.vida -= 1 / 4
                print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                               (" ".join(ayuda)), letras_correctas)
                ayuda = f_ayuda(ahorcado, letras_correctas, y)
                print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                               (" ".join(ayuda)), letras_correctas)
                print('INCORRECTO')
                continuar = input('Pulse cualquier tecla para continuar')
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)

        elif accion == "3":
            if jugador.pistas == 0:
                pistas = 'En este momento no tiene pistas disponibles.'
                print_pistas(jugador, pistas)
                continuar = input('Pulse cualquier tecla para continuar')
                ayuda = f_ayuda(ahorcado, letras_correctas, y)
                print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                               (" ".join(ayuda)), letras_correctas)
            else:
                if contador_pistas == 0:
                    jugador.pistas -= 1
                    contador_pistas += 1
                    print_pistas(jugador, ahorcado.preguntas[y]["clue_1"])
                    continuar = input('Pulse cualquier tecla para continuar')
                    ayuda = f_ayuda(ahorcado, letras_correctas, y)
                    print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                                   (" ".join(ayuda)), letras_correctas)
                elif contador_pistas == 1:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, ahorcado.preguntas[y]["clue_2"])
                    continuar = input('Pulse cualquier tecla para continuar')
                    ayuda = f_ayuda(ahorcado, letras_correctas, y)
                    print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                                   (" ".join(ayuda)), letras_correctas)
                elif contador_pistas == 2:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, ahorcado.preguntas[y]["clue_3"])
                    continuar = input('Pulse cualquier tecla para continuar')
                    ayuda = f_ayuda(ahorcado, letras_correctas, y)
                    print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                                   (" ".join(ayuda)), letras_correctas)
                else:
                    print('Se agotaron las pistas hay más pistas.')
        elif accion == "4":
            return jugador
        else:
            print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                           (" ".join(ayuda)), letras_correctas)
            print('Error')

        print_ahorcado(jugador, ahorcado.preguntas[y]["question"],
                       (" ".join(ayuda)), letras_correctas)

    #Pregunta Z
    ayuda = []
    letras_correctas = []
    contador_pistas = 0
    utility = False
    while True:
        if not utility:
            if len(letras_correctas) == 0:
                print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                               "_ " * len(ahorcado.preguntas[z]["answer"]),
                               letras_correctas)
            else:
                print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                               (" ".join(ayuda)), letras_correctas)

        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower(
        ) == "i":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "v":
            print_ahorcado(
                jugador, ahorcado.preguntas[z]["question"], (" ".join(ayuda)),
                letras_correctas
            )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.

        elif accion == "1":  #Ingresar letra
            letra = input('Ingrese la letra: ')
            if letra in ahorcado.preguntas[z]["answer"].lower():
                if letra not in letras_correctas:
                    ayuda = []
                    letras_correctas.append(letra)
                    utility = True
                ayuda = f_ayuda(ahorcado, letras_correctas, z)
            else:
                jugador.vida -= 1 / 4
                print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                               (" ".join(ayuda)), letras_correctas)
                utility = False
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)

        elif accion == "2":  #Ingresar palabra
            palabra = input('Ingrese la respuesta: ')
            if palabra.lower() == ahorcado.preguntas[z]["answer"].lower():
                print_ganaste(jugador)
                jugador.inventario["Cable HDMI"] = "Disponible"
                continuar = input(
                    'Pulse cualquier tecla para regresar a la biblioteca')
                return jugador
            else:
                jugador.vida -= 1 / 4
                print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                               (" ".join(ayuda)), letras_correctas)
                ayuda = f_ayuda(ahorcado, letras_correctas, z)
                print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                               (" ".join(ayuda)), letras_correctas)
                print('INCORRECTO')
                continuar = input('Pulse cualquier tecla para continuar')
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)

        elif accion == "3":
            if jugador.pistas == 0:
                pistas = 'En este momento no tiene pistas disponibles.'
                print_pistas(jugador, pistas)
                continuar = input('Pulse cualquier tecla para continuar')
                ayuda = f_ayuda(ahorcado, letras_correctas, z)
                print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                               (" ".join(ayuda)), letras_correctas)
            else:
                if contador_pistas == 0:
                    jugador.pistas -= 1
                    contador_pistas += 1
                    print_pistas(jugador, ahorcado.preguntas[z]["clue_1"])
                    continuar = input('Pulse cualquier tecla para continuar')
                    ayuda = f_ayuda(ahorcado, letras_correctas, z)
                    print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                                   (" ".join(ayuda)), letras_correctas)
                elif contador_pistas == 1:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, ahorcado.preguntas[z]["clue_2"])
                    continuar = input('Pulse cualquier tecla para continuar')
                    ayuda = f_ayuda(ahorcado, letras_correctas, z)
                    print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                                   (" ".join(ayuda)), letras_correctas)
                elif contador_pistas == 2:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, ahorcado.preguntas[z]["clue_3"])
                    continuar = input('Pulse cualquier tecla para continuar')
                    ayuda = f_ayuda(ahorcado, letras_correctas, z)
                    print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                                   (" ".join(ayuda)), letras_correctas)
                else:
                    print('Se agotaron las pistas hay más pistas.')
        elif accion == "4":
            return jugador
        else:
            print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                           (" ".join(ayuda)), letras_correctas)
            print('Error')

        print_ahorcado(jugador, ahorcado.preguntas[z]["question"],
                       (" ".join(ayuda)), letras_correctas)
def juego(jugador,response):

    #Se crea un objeto tipo criptograma donde se agregatodo lo relacionado con este juego.

    for i in response:
        if i["name"] == "Cuarto de Servidores ":
            escoge_numero.nombre = i["objects"][2]["game"]["name"]
            escoge_numero.recompensa = i["objects"][2]["game"]["award"]
            escoge_numero.requerimiento = i["objects"][2]["game"]["requirement"]
            escoge_numero.reglas = i["objects"][2]["game"]["rules"]
            escoge_numero.preguntas = i["objects"][2]["game"]["questions"] #Lista de 3 diccionarios. "question", "answers", clue_1, clue_2, clue_3

    
    
    #Variable para ganar
    x = random.randint(1,15)
    contador = 0
    #Pregunta X
    while True:
        print_escogenumero(jugador) #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower() == "t"  or accion.lower() == "i" or accion.lower() == "v": #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion,jugador)
        elif accion == "1": #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta.isnumeric() and int(respuesta) in range(1,16):
                contador +=1
                if int(respuesta) == x:
                    jugador.inventario["Título universitario"] = "Disponible"
                    print_ganaste(jugador)
                    continuar = input('Pulse cualquier tecla para continuar > ')
                    return jugador
                else:
                    if contador == 3:
                        jugador.vida -= 1/4
                        contador = 0
                        if jugador.vida <= 0:
                            prints.game_over()
                            os._exit(os.EX_OK)
                    pistas = (f'Su número ingresado es el {respuesta}')
                    print_pistas(jugador,pistas)
                    ver_pista = input('¿Desea utilizar una pista para revisar si está cerca o lejos? (s) o (n)\n> ')
                    while not ver_pista.isalpha() and not ver_pista.lower() == "s" and not ver_pista.lower() == "n":
                        print('Error')
                        print('> ')
                    if ver_pista == "s":
                        jugador.pistas -= 1
                        if jugador.pistas == 0:
                            print('Se te acabaron las pistas ')
                            continuar = input('Pulse cualquier tecla para regresar > ')
                        else:
                            if x > int(respuesta):
                                if x - int(respuesta) <= 5:
                                    pistas = "Estás un poco por debajo"
                                else:
                                    pistas = "Estás muy por debajo" 
                            else:
                                if int(respuesta) - x <= 5:
                                    pistas = "Estás un poco por arriba"
                                else:
                                    pistas = "Estás muy por arriba"
                            print_pistas2(jugador,pistas)
                            continuar = input('Pulse cualquier tecla para regresar > ')
        elif accion == "2":
            return jugador
        else:
            print('Error')
            continuar = input('Pulse cualquier tecla para continuar > ')
Esempio n. 9
0
def juego(jugador, response):

    #Se crea un objeto tipo criptograma donde se agregatodo lo relacionado con este juego.

    for i in response:
        if i["name"] == "Pasillo Laboratorios ":
            logica_booleana.nombre = i["objects"][0]["game"]["name"]
            logica_booleana.recompensa = i["objects"][0]["game"]["award"]
            logica_booleana.requerimiento = i["objects"][0]["game"][
                "requirement"]
            logica_booleana.mensaje_requerimiento = i["objects"][0]["game"][
                "message_requirement"]
            logica_booleana.reglas = i["objects"][0]["game"]["rules"]
            logica_booleana.preguntas = i["objects"][0]["game"][
                "questions"]  #Lista de 3 diccionarios. "question", "answers", clue_1, clue_2, clue_3

    if not jugador.inventario["Martillo"] == "Disponible":
        print('Busca algo para romper el candado de la puerta! Rápido...')
        return jugador

    print('Que malandro rompiste el candado')
    sleep(3)

    #Se variables con números random entre 0 y 2 para utilizarlos como índice al momento de buscar las preguntas de manera aleatoria.
    x = random.randint(0, 2)
    y = random.randint(0, 2)
    while y == x:
        y = random.randint(0, 2)

    #Pregunta X
    while True:
        print_logicabooleana(
            jugador, logica_booleana.preguntas[x]["question"]
        )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower() == "i" or accion.lower(
        ) == "v":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "1":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta.isalpha() and respuesta.capitalize(
            ) == logica_booleana.preguntas[x]["answer"]:
                print_correcto(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
                break
            else:
                jugador.vida -= 1 / 2
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            pistas = 'No hay pistas en este juego'
            print_pistas(jugador, pistas)
            continuar = input('Pulse cualquier tecla para regresar > ')
        elif accion == "3":
            return jugador
        else:
            print('Error')
            continuar = input('Pulse cualquier tecla para continuar > ')

    #Pregunta Y
    while True:
        print_logicabooleana(
            jugador, logica_booleana.preguntas[y]["question"]
        )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower() == "i" or accion.lower(
        ) == "v":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "1":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta.isalpha() and respuesta.capitalize(
            ) == logica_booleana.preguntas[y]["answer"]:
                jugador.inventario["Libro de física"] = "Disponible"
                print_ganaste(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
                return jugador
            else:
                jugador.vida -= 1 / 2
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            pistas = 'No hay pistas en este juego'
            print_pistas(jugador, pistas)
            continuar = input('Pulse cualquier tecla para regresar > ')
        elif accion == "3":
            return jugador
        else:
            print('Error')
            continuar = input('Pulse cualquier tecla para continuar > ')
def juego(jugador, response):

    #Se crea un objeto tipo criptograma donde se agregatodo lo relacionado con este juego.

    for i in response:
        if i["name"] == "Laboratorio SL001":
            preguntas_python.nombre = i["objects"][1]["game"]["name"]
            preguntas_python.recompensa = i["objects"][1]["game"]["award"]
            preguntas_python.requerimiento = i["objects"][1]["game"][
                "requirement"]
            preguntas_python.reglas = i["objects"][1]["game"]["rules"]
            preguntas_python.preguntas = i["objects"][1]["game"][
                "questions"]  #Lista de dos diccionarios. "question", "answer", clue_1, clue_2, clue_3

    #Se variables con números random entre 0 y 2 para utilizarlos como índice al momento de buscar las preguntas de manera aleatoria.
    respuestas = [
        """int(float((frase.replace(",",".").split(" ")[4])))""",
        """" ".join(frase[::-1].split(" ")[::-1])"""
    ]
    contador_pistas = 0

    if not jugador.inventario["Cable HDMI"] == "Disponible":
        print('Necesitas repararme con el cable HDMI')
        continuar = input('Pulse cualquier tecla para continuar >')
        return jugador

    #Pregunta X
    while True:
        print_preguntaspython(
            jugador, preguntas_python.preguntas[1]["question"]
        )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.
        print(respuestas)
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower() == "i" or accion.lower(
        ) == "v":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "1":  #Ingresar respuesta
            respuesta = input('Ingrese la línea de cógigo\n> ')
            if respuesta == respuestas[1]:
                print_correcto(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
                break
            else:
                jugador.vida -= 1 / 2
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
                print('Incorrecto')
        elif accion == "2":
            if jugador.pistas == 0:
                pistas = 'En este momento no tiene pistas disponibles.'
                print_pistas(jugador)
                continuar = input('Pulse cualquier tecla para continuar >')
            else:
                if contador_pistas == 0:
                    jugador.pistas -= 1
                    contador_pistas += 1
                    print_pistas(jugador,
                                 preguntas_python.preguntas[1]["clue_1"])
                    continuar = input('Pulse cualquier tecla para continuar >')
                else:
                    print('Se agotaron las pistas hay más pistas.')
                    continuar = input('Pulse cualquier tecla para continuar >')
        elif accion == "3":
            return jugador
        else:
            print('Error')
            continuar = input('Pulse cualquier tecla para continuar > ')

    #Pregunta Y
    contador_pistas = 0
    while True:
        print_preguntaspython(
            jugador, preguntas_python.preguntas[0]["question"]
        )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.
        print(respuestas)
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower() == "i" or accion.lower(
        ) == "v":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "1":  #Ingresar respuesta
            respuesta = input('Ingrese la línea de cógigo\n> ')
            if respuesta == respuestas[0]:
                jugador.inventario["Carnet"] = "Disponible"
                print_ganaste(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
                return jugador
            else:
                jugador.vida -= 1 / 2
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            if jugador.pistas == 0:
                pistas = 'En este momento no tiene pistas disponibles.'
                print_pistas(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
            else:
                if contador_pistas == 0:
                    jugador.pistas -= 1
                    contador_pistas += 1
                    print_pistas(jugador,
                                 preguntas_python.preguntas[0]["clue_1"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                elif contador_pistas == 1:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador,
                                 preguntas_python.preguntas[0]["clue_2"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                elif contador_pistas == 2:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador,
                                 preguntas_python.preguntas[0]["clue_3"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                else:
                    print('Se agotaron las pistas hay más pistas.')
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
        elif accion == "3":
            return jugador
        else:
            print('Error')
            continuar = input('Pulse cualquier tecla para continuar > ')
Esempio n. 11
0
def juego(jugador, response):

    #Se crea un objeto tipo criptograma donde se agregatodo lo relacionado con este juego.

    for i in response:
        if i["name"] == "Laboratorio SL001":
            adivinanza.nombre = i["objects"][2]["game"]["name"]
            adivinanza.recompensa = i["objects"][2]["game"]["award"]
            adivinanza.requerimiento = i["objects"][2]["game"]["requirement"]
            adivinanza.requerimiento = i["objects"][2]["game"][
                "message_requirement"]
            adivinanza.reglas = i["objects"][2]["game"]["rules"]
            adivinanza.preguntas = i["objects"][2]["game"][
                "questions"]  #Lista de 3 diccionarios. "question", "answers", clue_1, clue_2, clue_3

    #Se variables con números random entre 0 y 2 para utilizarlos como índice al momento de buscar las preguntas de manera aleatoria.
    if jugador.inventario["Contraseña"] == "feliz":
        clave = input('Ingrese la contraseña\n> ')
        if clave == "feliz":
            apagada()
            sleep(3)
            prendida()
            sleep(3)
        else:
            return jugador
    else:
        return jugador

    x = random.randint(0, 2)
    y = random.randint(0, 2)
    while y == x:
        y = random.randint(0, 2)
    z = random.randint(0, 2)
    while z == y or z == x:
        z = random.randint(0, 2)
    contador_pistas = 0

    #Pregunta X
    contador_pistas = 0
    while True:
        print_adivinanzas(
            jugador, adivinanza.preguntas[x]["question"]
        )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower() == "i" or accion.lower(
        ) == "v":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "1":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta in adivinanza.preguntas[x]["answers"]:
                print_correcto(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
                break
            else:
                jugador.vida -= 1 / 2
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            if jugador.pistas == 0:
                pistas = 'En este momento no tiene pistas disponibles.'
                print_pistas(jugador, pistas)
                continuar = input('Pulse cualquier tecla para continuar > ')
            else:
                if contador_pistas == 0:
                    jugador.pistas -= 1
                    contador_pistas += 1
                    print_pistas(jugador, adivinanza.preguntas[x]["clue_1"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                elif contador_pistas == 1:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, adivinanza.preguntas[x]["clue_2"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                elif contador_pistas == 2:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, adivinanza.preguntas[x]["clue_3"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                else:
                    print('Se agotaron las pistas hay más pistas.')
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
        elif accion == "3":
            return jugador
        else:
            print('Error')
            continuar = input('Pulse cualquier tecla para continuar > ')

    #Pregunta Y
    contador_pistas = 0
    while True:
        print_adivinanzas(
            jugador, adivinanza.preguntas[y]["question"]
        )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower() == "i" or accion.lower(
        ) == "v":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "1":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta in adivinanza.preguntas[y]["answers"]:
                print_correcto(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
                break
            else:
                jugador.vida -= 1 / 2
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            if jugador.pistas == 0:
                pistas = 'En este momento no tiene pistas disponibles.'
                print_pistas(jugador, pistas)
                continuar = input('Pulse cualquier tecla para continuar > ')
            else:
                if contador_pistas == 0:
                    jugador.pistas -= 1
                    contador_pistas += 1
                    print_pistas(jugador, adivinanza.preguntas[y]["clue_1"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                elif contador_pistas == 1:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, adivinanza.preguntas[y]["clue_2"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                elif contador_pistas == 2:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, adivinanza.preguntas[y]["clue_3"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                else:
                    print('Se agotaron las pistas hay más pistas.')
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
        elif accion == "3":
            return jugador
        else:
            print('Error')
            continuar = input('Pulse cualquier tecla para continuar > ')

    #Pregunta Z
    contador_pistas = 0
    while True:
        print_adivinanzas(
            jugador, adivinanza.preguntas[z]["question"]
        )  #En caso de que el usuario haya revisado el menú, inventario... y quiera regresar al juego.
        accion = input('> ')
        if accion.isalpha() and accion.lower() == "o" or accion.lower(
        ) == "t" or accion.lower(
        ) == "i" or accion.lower == "v":  #En caso de que el usuario quiera revisar el menú, inventario...
            opciones_menu(accion, jugador)
        elif accion == "1":  #Ingresar respuesta
            respuesta = input('Ingrese la respuesta > ')
            if respuesta in adivinanza.preguntas[z]["answers"]:
                jugador.inventario["Llave"] = "Disponible"
                print_ganaste(jugador)
                continuar = input('Pulse cualquier tecla para continuar > ')
                return jugador
            else:
                jugador.vida -= 1 / 2
                if jugador.vida <= 0:
                    prints.game_over()
                    os._exit(os.EX_OK)
        elif accion == "2":
            if jugador.pistas == 0:
                pistas = 'En este momento no tiene pistas disponibles.'
                print_pistas(jugador, pistas)
                continuar = input('Pulse cualquier tecla para continuar > ')
            else:
                if contador_pistas == 0:
                    jugador.pistas -= 1
                    contador_pistas += 1
                    print_pistas(jugador, adivinanza.preguntas[z]["clue_1"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                elif contador_pistas == 1:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, adivinanza.preguntas[z]["clue_2"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                elif contador_pistas == 2:
                    contador_pistas += 1
                    jugador.pistas -= 1
                    print_pistas(jugador, adivinanza.preguntas[z]["clue_3"])
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
                else:
                    print('Se agotaron las pistas hay más pistas.')
                    continuar = input(
                        'Pulse cualquier tecla para continuar > ')
        elif accion == "3":
            return jugador
        else:
            print('Error')
            continuar = input('Pulse cualquier tecla para continuar > ')