def pedir_raza(): print("""Escoga número de raza: 1) Aprendiz 2) Maestro 3) Asesino""") n_raza = fu.pedir_entero(1, 3) return n_raza
def planeta_conquistado(): print("""¿Qué deseas hacer? 1) Construir edificio 2) Generar unidades 3) Recolectar recursos 4) Realizar Mejoras""") return fu.pedir_entero(1, 4)
def menu_chaucraft(): print("""¿Qué deseas hacer? 1) Crear una galaxia 2) Modificar una galaxia 3) Consultar sobre las galaxias 4) Jugar en una galaxia 5) Salir de ChauCraft""") return fu.pedir_entero(1, 5)
def menu_consultas_galaxias(): print("""¿Qué desea consultar? 1) Información general del usuario 2) Información general de un planeta 3) Mejor galaxia 4) Ranking planetas 5) Salir de consultas""") return fu.pedir_entero(1, 5)
def menu_modificar_galaxia(): print("""¿Qué desea modificar en la galaxia? 1) Agregar un nuevo planeta no conquistado 2) Eliminar un planeta conquistado 3) Aumentar la tasa de minerales por segundo de un planeta no conquistado 4) Aumentar la tasa de deuterio por segundo de un planeta no conquistado 5) Aumentar la cantidad de soldados de un planeta no conquistado 6) Aumentar la cantidad de magos de un planeta no conquistado 7) Salir de la galaxia""") return fu.pedir_entero(1, 7)
def menu_jugar(): print("""¿Qué deseas hacer? 1) Visitar un planeta 2) Guardar cambios 3) Volver atrás""") accion = fu.pedir_entero(1, 3) while accion == 3: print("No se conservarán cambios no guardados previamente") volver = input( "Si desea seguir jugando digite 1, si desea continuar " + "al menú principal pulse otra tecla: ") if volver == "1": print("""¿Qué deseas hacer? 1) Visitar un planeta 2) Guardar cambios 3) Volver atrás""") accion = fu.pedir_entero(1, 3) else: return accion return accion
def generar_unidades(self, planeta): if not planeta.cuartel: print("Debes construir un cuartel en este planeta, si quieres " + "generar unidades") return tipo = "Soldados" raza = planeta.raza if raza.capacidad == planeta.poblacion: print("Población al máximo") return print("Capacidad máxima: {}".format(raza.capacidad)) print("Población total actual: {}".format(planeta.poblacion)) print("Estos son los costos de generar unidades:") print("Costo mineral soldado: {}".format(raza.costo_mineral_soldados)) print("Costo deuterio soldado: {}".format( raza.costo_deuterio_soldados)) if isinstance(raza, cl.Maestro): print("Costo mineral mago: {}".format(raza.costo_mineral_magos)) print("Costo deuterio mago: {}".format(raza.costo_deuterio_magos)) print("¿Qué unidad deseas generar?") tipo = fu.tomar_decision(["Soldados", "Magos"]) print() print("¿Cuántas unidades deseas generar?") cantidad = fu.pedir_entero(1, raza.capacidad) if (cantidad + planeta.poblacion) > raza.capacidad: print("Esa cantidad excede la población máxima") return if tipo == "Soldados": mineral = cantidad * raza.costo_mineral_soldados deuterio = cantidad * raza.costo_deuterio_soldados else: mineral = cantidad * raza.costo_mineral_magos deuterio = cantidad * raza.costo_deuterio_magos if (self.reserva_mineral - mineral) < 0: print("Mineral insuficiente") return elif (self.reserva_deuterio - deuterio) < 0: print("Deuterio insuficiente") return self.reserva_mineral -= mineral self.reserva_deuterio -= deuterio if tipo == "Soldados": planeta.soldados = int(cantidad) + len(planeta.soldados) print("se han unido {} soldados al ejército".format(cantidad)) else: planeta.magos = int(cantidad + len(planeta.magos)) print("se han unido {} magos al ejército".format(cantidad))
def crear_galaxia(self): print("Ingrese nombre galaxia (largo minimo 6): ", end="") nombre = fu.pedir_string(6) while nombre in self.galaxias.keys(): print("Ya existe una galaxia con ese nombre") print("Ingrese nombre nuevamente: ", end="") nombre = fu.pedir_string(6) galaxia = Galaxia(nombre) self.galaxias[nombre] = galaxia print("¿Cuántos planetas desea crear? (mínimo 1): ", end="") cantidad = fu.pedir_entero(1) for planeta in range(cantidad): galaxia.crear_planeta() print("¿Con que planeta deseas partir conquistado?") nombre_planeta = galaxia.pedir_planeta() galaxia.planetas[nombre_planeta].conquistado = True galaxia.planetas_conquistados.add(nombre_planeta) for planeta in galaxia.planetas.values(): if planeta.conquistado: planeta.poblacion = int() self.actualizar_datos()
def menu_mejoras(): print("""¿Qué deseas mejorar? 1) Nivel de ataque (1000 mineral/2000 deuterio) 2) Nivel de economia (2000 mineral/4000 deuterio)""") return fu.pedir_entero(1, 2)
def planeta_no_conquistado(): print("""¿Qué deseas hacer? 1) Invadir planeta 2) Comprar el planeta""") return fu.pedir_entero(1, 2)