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)
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("> ")
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
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 > ')
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 > ')
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 > ')
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 > ')