def iniciar(ancho=640, alto=480, titulo='Pilas', usar_motor='qtgl', rendimiento=60, modo='detectar', economico=True, gravedad=(0, -90), pantalla_completa=False): """ Inicia la ventana principal del juego con algunos detalles de funcionamiento. Ejemplo de invocación: >>> pilas.iniciar(ancho=320, alto=240) .. image:: images/iniciar_320_240.png Parámetros: :ancho: el tamaño en pixels para la ventana. :alto: el tamaño en pixels para la ventana. :titulo: el titulo a mostrar en la ventana. :usar_motor: el motor multimedia a utilizar, puede ser 'qt' o 'qtgl'. :rendimiento: cantidad de cuadros por segundo a mostrar. :modo: si se utiliza modo interactivo o no. :economico: si tiene que evitar consumir muchos recursos de procesador :gravedad: el vector de aceleracion para la simulacion de fisica. :pantalla_completa: si debe usar pantalla completa o no. """ global mundo motor = __crear_motor(usar_motor) mundo = Mundo(motor, ancho, alto, titulo, rendimiento, economico, gravedad, pantalla_completa) escenas.Normal(colores.grisclaro)
def iniciar(ancho=640, alto=480, titulo='Pilas', usar_motor='qtgl', rendimiento=60, modo=None, area_fisica=None, gravedad=(0, -90), pantalla_completa=False, permitir_depuracion=True, audio=None, centrado=True): """ Inicia la ventana principal del juego con algunos detalles de funcionamiento. Ejemplo de invocación: >>> pilas.iniciar(ancho=320, alto=240) .. image:: images/iniciar_320_240.png Parámetros: :ancho: el tamaño en pixels para la ventana. :alto: el tamaño en pixels para la ventana. :titulo: el titulo a mostrar en la ventana. :usar_motor: el motor multimedia a utilizar, puede ser 'qt', 'qtgl', 'qtsugar' o 'qtsugargl'. :rendimiento: cantidad de cuadros por segundo a mostrar. :modo: si se utiliza modo interactivo o no. :area_fisica: recibe una tupla con el ancho y el alto que tendra el mundo de fisica, por defecto sera el tamaño de la ventana :gravedad: el vector de aceleracion para la simulacion de fisica. :pantalla_completa: si debe usar pantalla completa o no. :permitir_depuracion: si se desea tener habilidatas las funciones de depuracion de las teclas F5 a F12 :audio: selecciona el motor de sonido a utilizar, los valores permitidos son 'deshabilitado', 'pygame', 'phonon' o 'gst'. :centrado: Indica si se desea centrar la ventana de pilas. """ global mundo if not esta_inicializada(): configuracion = obtener_configuracion() if not usar_motor: usar_motor = configuracion['usar_motor'] if not audio: audio = configuracion['audio'] motor = _crear_motor(usar_motor, permitir_depuracion, audio) if motor: mundo = Mundo(motor, ancho, alto, titulo, rendimiento, area_fisica, gravedad, pantalla_completa, centrado) mundo.gestor_escenas.cambiar_escena(Normal()) if _usa_interprete_lanas(): mundo.motor.ventana.show() else: mundo.motor.modificar_ventana(ancho, alto, titulo, pantalla_completa) escena_actual().fisica.definir_gravedad(*gravedad)
def iniciar(self): PStatClient.connect() # loadPrcFileData('', 'gl-coordinate-system default' ) # ? indicado para usar trans_world_to_clip_of_light #loadPrcFileData('', 'sync-video 0') #loadPrcFileData('', 'notify-level debug') loadPrcFileData('', 'gl-debug #t') #loadPrcFileData('', 'threading-model Cull/Draw') # self.disableMouse() self.setFrameRateMeter(True) # self.win.setCloseRequestEvent("cerrar_aplicacion") # config.iniciar() self.mundo = Mundo(self) self.mundo.iniciar() # self.accept("cerrar_aplicacion", self.cerrar_aplicacion) self.run()
class Aplicacion(ShowBase): def __init__(self): ShowBase.__init__(self) # componentes: self.mundo = None def iniciar(self): PStatClient.connect() # loadPrcFileData('', 'gl-coordinate-system default' ) # ? indicado para usar trans_world_to_clip_of_light #loadPrcFileData('', 'sync-video 0') #loadPrcFileData('', 'notify-level debug') loadPrcFileData('', 'gl-debug #t') #loadPrcFileData('', 'threading-model Cull/Draw') # self.disableMouse() self.setFrameRateMeter(True) # self.win.setCloseRequestEvent("cerrar_aplicacion") # config.iniciar() self.mundo = Mundo(self) self.mundo.iniciar() # self.accept("cerrar_aplicacion", self.cerrar_aplicacion) self.run() def step(self): self.taskMgr.step() self.taskMgr.step() def cerrar_aplicacion(self): log.info("cerrar_aplicacion") config.escribir_archivo() self.mundo.terminar() self.finalizeExit()
def iniciar(ancho=640, alto=480, titulo='Pilas', usar_motor='qtgl', rendimiento=60, modo='detectar', gravedad=(0, -90), pantalla_completa=False, permitir_depuracion=True, audio='phonon'): """ Inicia la ventana principal del juego con algunos detalles de funcionamiento. Ejemplo de invocación: >>> pilas.iniciar(ancho=320, alto=240) .. image:: images/iniciar_320_240.png Parámetros: :ancho: el tamaño en pixels para la ventana. :alto: el tamaño en pixels para la ventana. :titulo: el titulo a mostrar en la ventana. :usar_motor: el motor multimedia a utilizar, puede ser 'qt', 'qtgl', 'qtsugar' o 'qtsugargl'. :rendimiento: cantidad de cuadros por segundo a mostrar. :modo: si se utiliza modo interactivo o no. :gravedad: el vector de aceleracion para la simulacion de fisica. :pantalla_completa: si debe usar pantalla completa o no. :permitir_depuracion: si se desea tener habilidatas las funciones de depuracion de las teclas F5 a F12 """ global mundo if not esta_inicializada(): motor = _crear_motor(usar_motor, permitir_depuracion, audio) if motor: mundo = Mundo(motor, ancho, alto, titulo, rendimiento, gravedad, pantalla_completa) mundo.gestor_escenas.cambiar_escena(Normal()) if _usa_interprete_lanas(): mundo.motor.ventana.show() else: mundo.motor.modificar_ventana(ancho, alto, titulo, pantalla_completa) mundo.fisica.definir_gravedad(*gravedad)
def __init__(self): self.dia_actual = 0 self.salir = False self.mundo = Mundo()
class Juego: def __init__(self): self.dia_actual = 0 self.salir = False self.mundo = Mundo() def comenzar(self): ''' Si hay una partida guardada pregunta al usuario si abirla o crear una nueva. Si no hay una partida guardada le avisa al usuario y comienza una nueva partida. ''' if path.isfile('partida_guardada.csv'): lista1 = ListaLigada( 'Comenzar Nueva Partida', 'Comenzar Partida Guardada') lista2 = ListaLigada(self.partida_nueva, self.partida_guardada) Menu(lista1, lista2).menu() else: print('No hay partidas guardadas. \nSe ha iniciado una nueva partida.\n') self.partida_nueva() def cargar_conexiones(self): ''' Carga las conexiones terrestres y aereas ''' self.mundo.establecer_conecciones_terrestres() self.mundo.establecer_conexiones_aereas() def partida_nueva(self): ''' LLama a la funcion que genera las conexiones aereas. Llama al metodo que carga los datos de las conexiones en los grafos correspondientes Lee el archivo 'population.csv' y crea objetos de la clase Pais con cada linea del archivo. ''' generate_connections() self.cargar_conexiones() self.mundo.lista_paises = ListaLigada() for datos_pais in importar_datos('population.csv'): if datos_pais[0] == 'Pais': pass else: nuevo_pais = Pais(*datos_pais) self.mundo.lista_paises.append(nuevo_pais) def partida_guardada(self): ''' Como es una partida ya creada no llama al generador de conexiones aereas. Llama al metodo que carga los datos de las conexiones en los grafos correspondientes Lee el archivo 'partida_guardada.csv' y crea objetos de la clase Pais con cada linea del archivo. ''' self.cargar_conexiones() self.mundo.lista_paises = ListaLigada() for datos_pais in importar_datos('partida_guardada.csv'): if datos_pais[0] == 'Pais': pass else: nuevo_pais = Pais(*datos_pais) self.mundo.lista_paises.append(nuevo_pais) def desplegar_menu_principal(self): '''Despliega las opciones diarias que tiene un jugador''' lista1 = ListaLigada( 'Pasar el Dia', 'Estadisticas', 'Guardar Estado', 'Salir') lista2 = ListaLigada( self.pasar_dia, self.desplegar_menu_estadisticas, self.guardar_estado, self.terminar) Menu(lista1, lista2).menu() def desplegar_menu_estadisticas(self): '''Despliega las opciones que tiene el jugador cuando desea ver las estadisticas''' lista1 = ListaLigada( 'Resumen del Dia', 'Por Pais', 'Global', 'Muertes e Infecciones por Dia', 'Promedio Muertes e Infecciones') m = self.mundo lista2 = ListaLigada( m.mostrar_resumen_diario(), m.mostrar_estad_por_pais(), m.estad_global(), m.muertes_infecciones_dias(), m.prom_muertes_infecciones()) Menu(lista1, lista2).menu() def pasar_dia(self): '''Avanza un dia en la linea temporal del programa''' self.dia_actual += 1 def guardar_estado(self): #nombre, poblacion, infectados, muertos, fecha_infeccion, aeropuerto, frontera, mascarillas, fecha_cura, estado pass def terminar(self): '''Retorna True''' self.salir = True
from mundo import Mundo from casilla import Casilla from aprendizajeQ import AprendizajeQ # CREO EL MUNDO DEL PROBLEMA # -------------------------- print 'Construyendo mundo' # Mundo por defecto de tamano 6*6 sizeMundo = 6 mundo = Mundo(sizeMundo) # Transiciones con valores especiales mundo.setCasilla(1, 1, Casilla(izquierda=0, derecha=-20, arriba=0, abajo=0)) mundo.setCasilla(1, 2, Casilla(izquierda=0, derecha=0, arriba=0, abajo=80)) mundo.setCasilla(1, 3, Casilla(izquierda=0, derecha=0, arriba=0, abajo=80)) mundo.setCasilla(1, 4, Casilla(izquierda=-20, derecha=0, arriba=0, abajo=0)) mundo.setCasilla(4, 2, Casilla(izquierda=0, derecha=0, arriba=20, abajo=0)) mundo.setCasilla(4, 3, Casilla(izquierda=0, derecha=0, arriba=20, abajo=0)) # Las casillas del Goal no tienen transiciones hacia afuera mundo.setCasilla(2, 2, Casilla()) mundo.setCasilla(2, 3, Casilla()) mundo.setCasilla(3, 2, Casilla()) mundo.setCasilla(3, 3, Casilla()) print 'Comienza entrenamiento' # ENTRENO PARA GAMMA = 0.8 # ------------------------ print '\nDescuento = 0.8\n--------------' # Inicializo el algoritmo