예제 #1
0
def opciones_menu(accion, jugador):
    if accion == "o":
        prints.opciones(jugador)
    elif accion == "t":
        prints.mapa(jugador)
    elif accion == "i":
        prints.inventario(jugador)
    elif accion == "v":
        return
예제 #2
0
def jugar():

    response = api()
    """Función madre. En ella se encuentra toda la lógica referente al juego como tal.
    """
    system('clear')
    tiempo_vida_pistas = dificultad() #Se inicializa un diccionario 
    system('clear')
    opcion = input('************** TIPO DE JUGADOR ************** \n\n1. Jugador existente\n2. Crear jugador\n\n> ')
    while True:
        if opcion == "1":
            if not ver_jugadores_existentes():
                opcion = input('************** TIPO DE JUGADOR ************** \n\n1. Jugador existente\n2. Crear jugador\n\n> ')
            else:
                jugador = jugador_existente(tiempo_vida_pistas) #Retorna jugador existente inicializado en cero
                break
                if not jugador:
                    return 
        elif opcion == "2":
            jugador = crear_jugador(tiempo_vida_pistas) #Retorna objeto de tipo jugador
            break
        else:
            print('Error')
            opcion = input('Ingrese el tipo de jugador\n1. Jugador existente\n2. Crear jugador\n> ')

    #Se agrega al txt. Esto debe estar al final del juego.        
    with open("/home/catato/proyecto-carrasquero/Database_Players.txt","a+") as dbp:
        dbp.write(f"{jugador.nombre}//{jugador.edad}//{jugador.clave}//{jugador.avatar}//{jugador.tiempo_realizado}//{jugador.cancion}//{jugador.inventario}//{jugador.vida}//{jugador.pistas}//{jugador.tiempo}//{jugador.vida_inicial}//{jugador.nivel_dificultad}//{jugador.saman}//{jugador.biblioteca}//{jugador.laboratorio}//{jugador.puerta_laboratorio}//{jugador.ubicacion}\n")
    prints.f_primera_narrativa(jugador) #Primera narrativa
    prints.f_segunda_narrativa(jugador) #Segunda narrativa

    #Inicio del juego en la biblioteca
    temporizador_thread = threading.Thread(target = temporizador) 
    temporizador_thread.start()
    jugador.biblioteca = True #Poner += 1
    jugador.ubicacion = 1
    while True:
        if jugador.ubicacion == 1:
            prints.biblioteca(jugador)
            accion = input('> ')
            if accion.isalpha() and (accion.lower() == "o" or accion.lower() == "t" or accion.lower() == "i" or accion.lower() == "s"):
                if accion.lower() == "o":
                    prints.opciones(jugador)
                elif accion.lower() == "t":
                    prints.mapa(jugador) #Aquí se utiliza la variable ubicación
                elif accion.lower() == "i":
                    prints.inventario(jugador)
                elif accion.lower() == "s":
                    jugador = prints.salir(jugador) 
            elif accion.isnumeric() and (accion == "1" or accion == "2" or accion == "3" or accion == "4" or accion == "5"):
                if accion == "1":
                    #Derivadas.  
                    prints.desarrollando() 
                elif accion == "2":
                    jugador = ahorcado.juego(jugador,response)
                    accion = input('> ')
                elif accion == "3":
                    jugador = criptograma.juego(jugador,response)
                    accion = input('> ')
                elif accion == "4":
                    jugador.ubicacion = 2
                elif accion == "5":
                    jugador.ubicacion = 3
            else:
                print('Error')
                accion = input('> ')
        elif jugador.ubicacion == 2:
            prints.saman(jugador)
            accion = input("> ")
            if accion.isalpha() and (accion.lower() == "o" or accion.lower() == "t" or accion.lower() == "i" or accion.lower() == "s"):
                if accion.lower() == "o":
                    prints.opciones(jugador)
                elif accion.lower() == "t":
                    prints.mapa(jugador) #Aquí se utiliza la variable ubicación
                elif accion.lower() == "i":
                    prints.inventario(jugador)
                elif accion.lower() == "s":
                    jugador = prints.salir(jugador) 
            elif accion.isnumeric() and (accion == "1" or accion == "2" or accion == "3" or accion == "4"):
                if accion == "1":
                    jugador = culturaunimetana.juego(jugador,response)
                elif accion == "2":
                    jugador = encuentralogica.juego(jugador,response)
                elif accion == "3":
                    #Memoria
                    prints.desarrollando()
                    print('Te regalamos el martillo mientras tanto')
                    jugador.inventario["Martillo"] = "Disponible" 
                    continuar = input('Pulse cualquier tecla para regresar > ')
                elif accion == "4":
                    jugador.ubicacion = 1
            else:
                print('Error')
                continuar = input('Pulse cualquier tecla para regresar > ')
        elif jugador.ubicacion == 3:
            prints.pasillo_laboratorio(jugador)
            accion = input('> ')
            if accion.isalpha() and (accion.lower() == "o" or accion.lower() == "t" or accion.lower() == "i" or accion.lower() == "s"):
                if accion.lower() == "o":
                    prints.opciones(jugador)
                elif accion.lower() == "t":
                    prints.mapa(jugador) #Aquí se utiliza la variable ubicación
                elif accion.lower() == "i":
                    prints.inventario(jugador)
                elif accion.lower() == "s":
                    jugador = prints.salir(jugador) 
            elif accion.isnumeric() and (accion == "1" or accion == "2" or accion == "3"):
                if accion == "1":
                    jugador = encuentralogica.juego(jugador,response)
                elif accion == "2":
                    jugador.ubicacion = 1
                elif accion == "3":
                    if jugador.inventario["Martillo"] == "Disponible":
                        jugador.ubicacion = 5
                    else:
                        print('Necesitas romper el candado de la puerta para poder pasar. Busca un martillo.')
                        continuar = input('Pulse cualquier tecla para regresar > ')
            else:
                print('Error')
                continuar = input('Pulse cualquier tecla para regresar > ')
        elif jugador.ubicacion == 4:
            prints.servidores(jugador)
            accion = input('> ')
            if accion.isalpha() and (accion.lower() == "o" or accion.lower() == "t" or accion.lower() == "i" or accion.lower() == "s"):
                if accion.lower() == "o":
                    prints.opciones(jugador)
                elif accion.lower() == "t":
                    prints.mapa(jugador) #Aquí se utiliza la variable ubicación
                elif accion.lower() == "i":
                    prints.inventario(jugador)
                elif accion.lower() == "s":
                    jugador = prints.salir(jugador) 
            elif accion.isnumeric() and (accion == "1" or accion == "2" or accion == "3" or accion == "4"):
                if accion == "1":
                    jugador = escogenumero.juego(jugador,response)
                elif accion == "2":
                    jugador = palabramezclada.juego(jugador,response)
                elif accion == "3":
                    #Juego libre
                    if jugador.inventario["Carnet"] == "Disponible" and jugador.inventario["Disco duro"] == "Disponible":
                        prints.gracias(jugador) 
                    print('Necesitas carnet de trabajador y disco duro para poder ingresar por esta puerta')
                    continuar = input('Pulse cualquier tecla para regresar > ')
                elif accion == "4":
                    jugador.ubicacion = 5

            else:
                print('Error')
                continuar = input('Pulse cualquier tecla para regresar > ')
        else:
            prints.laboratorio(jugador)
            accion = input('> ')
            if accion.isalpha() and (accion.lower() == "o" or accion.lower() == "t" or accion.lower() == "i" or accion.lower() == "s"):
                if accion.lower() == "o":
                    prints.opciones(jugador)
                elif accion.lower() == "t":
                    prints.mapa(jugador) #Aquí se utiliza la variable ubicación
                elif accion.lower() == "i":
                    prints.inventario(jugador)
                elif accion.lower() == "s":
                    jugador = prints.salir(jugador) 
            elif accion.isnumeric() and (accion == "1" or accion == "2" or accion == "3" or accion == "4" or accion == "5"):
                if accion == "1":
                    jugador = sopa_letras.juego(jugador,response)
                elif accion == "2":
                    jugador = preguntaspython.juego(jugador,response)
                elif accion == "3":
                    jugador = adivinanzas.juego(jugador,response)
                elif accion == "4":
                    jugador.ubicacion = 3
                elif accion == "5":
                    if jugador.inventario["Carnet"] == "Disponible":
                        jugador.ubicacion = 4
                    else:
                        print('Necesitas tener un carnet de trabajador para poder pasar')
                        continuar = input('Pulse cualquier tecla para regresar > ')

            else:
                print('Error')
                continuar = input('Pulse cualquier tecla para regresar > ')