def load(self): if not self.ventana: self.ventana = self.menu_principal.ventana pygame.event.set_blocked([ JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP, JOYBUTTONDOWN, KEYUP, VIDEORESIZE, VIDEOEXPOSE, USEREVENT, QUIT, ACTIVEEVENT ]) pygame.event.set_allowed( [MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, KEYDOWN]) pygame.mouse.set_visible(True) if not self.Bichos: self.Bichos = Bichos_Cantores(self) if not self.reloj: self.reloj = pygame.time.Clock() if not self.fondo: self.fondo = self.get_fondo() if not self.dialog: self.dialog = JAMDialog() self.dialog.set_text(tamanio=40) if not pygame.mixer.get_init(): pygame.mixer.init(44100, -16, 2, 2048) pygame.mixer.music.set_volume(1.0) self.estado = True
class Main(): def __init__(self, res): self.resolucionreal = res self.ventana = None self.name = "JAMClock" self.ventana_real = None self.VA = None self.VH = None # Variables del Juego self.fondo = None self.reloj = None self.estado = False self.sonidoalarma = None self.duracionalarma = None self.jamclock = None self.jamcalendar = None self.cerrar = None self.controlalarma = None self.controles = None self.mensaje = None self.dialog = None self.preset() self.load() self.run() def preset(self): pygame.display.set_mode((0, 0), pygame.DOUBLEBUF | pygame.FULLSCREEN, 0) A, B = RESOLUCION self.ventana = pygame.Surface((A, B), flags=HWSURFACE) self.ventana_real = pygame.display.get_surface() C, D = (0, 0) if self.resolucionreal: C, D = self.resolucionreal else: C = pygame.display.Info().current_w D = pygame.display.Info().current_h self.resolucionreal = (C, D) self.VA = float(C) / float(A) self.VH = float(D) / float(B) def load(self): pygame.event.set_blocked([ JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP, JOYBUTTONDOWN ]) pygame.event.set_allowed([ MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, KEYDOWN, KEYUP, VIDEORESIZE, VIDEOEXPOSE, USEREVENT, QUIT, ACTIVEEVENT ]) pygame.mouse.set_visible(True) a, b, c = JAMG.get_estilo_papel_quemado() if not self.reloj: self.reloj = pygame.time.Clock() if not self.fondo: self.fondo = self.get_fondo(color=b) if not self.dialog: self.dialog = JAMDialog() self.dialog.set_text(tamanio=24) d, e, f = JAMG.get_estilo_celeste() self.dialog.set_colors_dialog(base=e, bordes=f) self.dialog.set_colors_buttons(colorbas=a, colorbor=b, colorcara=c) self.dialog.set_text_buttons(tamanio=24) if not pygame.mixer.get_init(): pygame.mixer.init(44100, -16, 2, 2048) pygame.mixer.music.set_volume(1.0) if not self.controles: self.controles = pygame.sprite.OrderedUpdates() if not self.cerrar: self.cerrar = JAMButton("", JAMG.get_icon_exit()) self.cerrar.set_imagen(origen=JAMG.get_icon_exit(), tamanio=(20, 20)) self.cerrar.set_tamanios(tamanio=(0, 0), grosorbor=1, espesor=1) self.cerrar.set_colores(colorbas=a, colorbor=b, colorcara=c) x = RESOLUCION[0] - self.cerrar.get_tamanio()[0] self.cerrar.set_posicion(punto=(x, 0)) self.cerrar.connect(callback=self.selecciona_mensaje_salir) if not self.jamclock: self.jamclock = JAMClock() self.jamclock.set_tamanios(2) self.jamclock.set_colors_base(c, a) y = self.cerrar.get_tamanio()[1] + SEPARADOR self.jamclock.set_posicion(punto=(SEPARADOR, y)) self.sonidoalarma = JAMG.get_alarma_reloj1() self.duracionalarma = 30 if not self.jamcalendar: self.jamcalendar = JAMCalendar() self.jamcalendar.set_gama_colors(colorselect=a, colorbor=b, colorcara=c) self.jamcalendar.set_text(tamanio=24) x = RESOLUCION[0] - self.jamcalendar.get_tamanio()[0] - SEPARADOR y = self.cerrar.get_tamanio()[1] + SEPARADOR self.jamcalendar.set_posicion(punto=(x, y)) if not self.controlalarma: self.controlalarma = ControlAlarma() x, y = self.jamcalendar.get_posicion() w, h = self.jamcalendar.get_tamanio() x = x + w / 2 - self.controlalarma.get_tamanio()[0] / 2 y += h + SEPARADOR * 5 self.controlalarma.set_posicion(punto=(x, y)) self.controlalarma.boton_active.connect( callback=self.active_alarma) self.controles.add(self.jamclock) self.controles.add(self.jamcalendar) self.controles.add(self.cerrar) self.controles.add(self.controlalarma) self.load_conf() self.estado = True def load_conf(self): alarma = Abrir() alarma = alarma.split(":") self.controlalarma.horas = int(alarma[0]) self.controlalarma.minutos = int(alarma[1]) self.controlalarma.etiqueta_tiempo.set_text( texto="%s:%s" % (self.controlalarma.horas, self.controlalarma.minutos)) self.active_alarma(None) def active_alarma(self, button=None): horas, minutos = self.controlalarma.get_time() if self.controlalarma.active: self.jamclock.set_alarma((100, 100), self.sonidoalarma, self.duracionalarma) self.controlalarma.set_active(False) elif not self.controlalarma.active: self.jamclock.set_alarma((horas, minutos), self.sonidoalarma, self.duracionalarma) self.controlalarma.set_active(True) Guardar("%s:%s" % (horas, minutos)) def run(self): self.ventana.blit(self.fondo, (0, 0)) self.controles.draw(self.ventana) pygame.display.update() while self.estado: self.reloj.tick(35) while gtk.events_pending(): gtk.main_iteration(False) Traduce_posiciones(self.VA, self.VH) if self.mensaje: self.pause_game() self.controles.clear(self.ventana, self.fondo) self.controles.update() self.handle_event() pygame.event.clear() self.controles.draw(self.ventana) self.ventana_real.blit( pygame.transform.scale(self.ventana, self.resolucionreal), (0, 0)) pygame.display.update() def handle_event(self): for event in pygame.event.get(pygame.KEYDOWN): tecla = event.key if tecla == pygame.K_ESCAPE: pygame.event.clear() return self.selecciona_mensaje_salir() def pause_game(self): while self.mensaje.sprites(): self.reloj.tick(35) while gtk.events_pending(): gtk.main_iteration(False) Traduce_posiciones(self.VA, self.VH) self.controles.clear(self.ventana, self.fondo) self.mensaje.clear(self.ventana, self.fondo) self.mensaje.update() pygame.event.clear() self.controles.draw(self.ventana) self.mensaje.draw(self.ventana) self.ventana_real.blit( pygame.transform.scale(self.ventana, self.resolucionreal), (0, 0)) pygame.display.update() def deselecciona_mensaje(self, boton): self.mensaje = pygame.sprite.OrderedUpdates() def selecciona_mensaje_salir(self, button=None): self.dialog.set_text(texto="¿ Salir de JAMClock ?") self.dialog.connect(funcion_ok=self.salir, funcion_cancel=self.deselecciona_mensaje) self.mensaje = self.dialog def get_fondo(self, color=(100, 100, 100, 1), tamanio=RESOLUCION): superficie = pygame.Surface(tamanio, flags=HWSURFACE) superficie.fill(color) img = pygame.image.load("firma.png") ww, hh = RESOLUCION w, h = img.get_size() x = ww / 2 - w / 2 y = hh - h - SEPARADOR superficie.blit(img, (x, y)) return superficie def salir(self, boton): sys.exit()
def load(self): pygame.event.set_blocked([ JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP, JOYBUTTONDOWN ]) pygame.event.set_allowed([ MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, KEYDOWN, KEYUP, VIDEORESIZE, VIDEOEXPOSE, USEREVENT, QUIT, ACTIVEEVENT ]) pygame.mouse.set_visible(True) a, b, c = JAMG.get_estilo_papel_quemado() if not self.reloj: self.reloj = pygame.time.Clock() if not self.fondo: self.fondo = self.get_fondo(color=b) if not self.dialog: self.dialog = JAMDialog() self.dialog.set_text(tamanio=24) d, e, f = JAMG.get_estilo_celeste() self.dialog.set_colors_dialog(base=e, bordes=f) self.dialog.set_colors_buttons(colorbas=a, colorbor=b, colorcara=c) self.dialog.set_text_buttons(tamanio=24) if not pygame.mixer.get_init(): pygame.mixer.init(44100, -16, 2, 2048) pygame.mixer.music.set_volume(1.0) if not self.controles: self.controles = pygame.sprite.OrderedUpdates() if not self.cerrar: self.cerrar = JAMButton("", JAMG.get_icon_exit()) self.cerrar.set_imagen(origen=JAMG.get_icon_exit(), tamanio=(20, 20)) self.cerrar.set_tamanios(tamanio=(0, 0), grosorbor=1, espesor=1) self.cerrar.set_colores(colorbas=a, colorbor=b, colorcara=c) x = RESOLUCION[0] - self.cerrar.get_tamanio()[0] self.cerrar.set_posicion(punto=(x, 0)) self.cerrar.connect(callback=self.selecciona_mensaje_salir) if not self.jamclock: self.jamclock = JAMClock() self.jamclock.set_tamanios(2) self.jamclock.set_colors_base(c, a) y = self.cerrar.get_tamanio()[1] + SEPARADOR self.jamclock.set_posicion(punto=(SEPARADOR, y)) self.sonidoalarma = JAMG.get_alarma_reloj1() self.duracionalarma = 30 if not self.jamcalendar: self.jamcalendar = JAMCalendar() self.jamcalendar.set_gama_colors(colorselect=a, colorbor=b, colorcara=c) self.jamcalendar.set_text(tamanio=24) x = RESOLUCION[0] - self.jamcalendar.get_tamanio()[0] - SEPARADOR y = self.cerrar.get_tamanio()[1] + SEPARADOR self.jamcalendar.set_posicion(punto=(x, y)) if not self.controlalarma: self.controlalarma = ControlAlarma() x, y = self.jamcalendar.get_posicion() w, h = self.jamcalendar.get_tamanio() x = x + w / 2 - self.controlalarma.get_tamanio()[0] / 2 y += h + SEPARADOR * 5 self.controlalarma.set_posicion(punto=(x, y)) self.controlalarma.boton_active.connect( callback=self.active_alarma) self.controles.add(self.jamclock) self.controles.add(self.jamcalendar) self.controles.add(self.cerrar) self.controles.add(self.controlalarma) self.load_conf() self.estado = True
def run_dialog_game(self, button): self.controles.stop() from BiblioJAM.JAMDialog import JAMDialog dialog= JAMDialog(mensaje="¿Abandonas el Juego?", funcion_ok=self.ok, funcion_cancel=self.cancel) fuente, tamanio= JAMG.get_Font_fawn() dialog.set_font_from_file(fuente, tamanio= 30) dialog.boton_aceptar.set_font_from_file(fuente, tamanio= 30) dialog.boton_cancelar.set_font_from_file(fuente, tamanio= 30) a,b,c= JAMG.get_estilo_papel_quemado() dialog.set_colors_dialog(base=c, bordes=c) dialog.set_colors_buttons(colorbas=a, colorbor=b, colorcara=c) self.estado= "Dialog" dialog.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() while self.estado== "Dialog": self.reloj.tick(35) while gtk.events_pending(): gtk.main_iteration(False) G.Traduce_posiciones(self.VA, self.VH) dialog.clear(self.ventana, self.fondo) dialog.update() pygame.event.clear() dialog.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() if self.estado== "Intro": dialog.clear(self.ventana, self.fondo) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() return self.run() else: dialog.clear(self.ventana, self.fondo) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() self.controles.play()
class Main(): # Subprograma independiente Crustaceos def __init__(self, res): self.resolucionreal = res # Variables para JAMatrix self.ventana = None self.name = "CantaBichos" self.estado = False # Variables del Juego self.fondo = None self.reloj = None # Escalado self.ventana_real = None #self.resolucionreal= None self.VA = None self.VH = None self.preset() self.Bichos = None self.mensaje = None self.dialog = None self.load() self.switch() def preset(self): pygame.display.set_mode((0, 0), pygame.DOUBLEBUF | pygame.FULLSCREEN, 0) A, B = RESOLUCION self.ventana = pygame.Surface((A, B), flags=HWSURFACE) self.ventana_real = pygame.display.get_surface() #C= pygame.display.Info().current_w #D= pygame.display.Info().current_h #self.resolucionreal= (C,D) C, D = self.resolucionreal self.VA = float(C) / float(A) self.VH = float(D) / float(B) def load(self): if not self.ventana: self.ventana = self.menu_principal.ventana pygame.event.set_blocked([ JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP, JOYBUTTONDOWN, KEYUP, VIDEORESIZE, VIDEOEXPOSE, USEREVENT, QUIT, ACTIVEEVENT ]) pygame.event.set_allowed( [MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, KEYDOWN]) pygame.mouse.set_visible(True) if not self.Bichos: self.Bichos = Bichos_Cantores(self) if not self.reloj: self.reloj = pygame.time.Clock() if not self.fondo: self.fondo = self.get_fondo() if not self.dialog: self.dialog = JAMDialog() self.dialog.set_text(tamanio=40) if not pygame.mixer.get_init(): pygame.mixer.init(44100, -16, 2, 2048) pygame.mixer.music.set_volume(1.0) self.estado = True def switch(self): return self.run() def run(self): self.ventana.blit(self.fondo, (0, 0)) self.Bichos.draw(self.ventana) pygame.display.update() while self.estado: self.reloj.tick(35) while gtk.events_pending(): gtk.main_iteration(False) Traduce_posiciones(self.VA, self.VH) if self.mensaje: self.pause_game() self.Bichos.clear(self.ventana, self.fondo) self.Bichos.update() self.handle_event() pygame.event.clear() self.Bichos.draw(self.ventana) self.ventana_real.blit( pygame.transform.scale(self.ventana, self.resolucionreal), (0, 0)) pygame.display.update() def handle_event(self): for event in pygame.event.get(pygame.KEYDOWN): tecla = event.key if tecla == pygame.K_ESCAPE: pygame.event.clear() return self.selecciona_mensaje_salir() def pause_game(self): while self.mensaje.sprites(): self.reloj.tick(35) while gtk.events_pending(): gtk.main_iteration(False) Traduce_posiciones(self.VA, self.VH) self.Bichos.clear(self.ventana, self.fondo) self.mensaje.clear(self.ventana, self.fondo) self.mensaje.update() self.Bichos.draw(self.ventana) self.mensaje.draw(self.ventana) self.ventana_real.blit( pygame.transform.scale(self.ventana, self.resolucionreal), (0, 0)) pygame.display.update() def deselecciona_mensaje(self, boton): self.mensaje = None self.mensaje = pygame.sprite.OrderedUpdates() def selecciona_mensaje_salir(self): self.dialog.set_text(texto="¿ Salir de CantaBichos ?") self.dialog.connect(funcion_ok=self.salir, funcion_cancel=self.deselecciona_mensaje) self.mensaje = self.dialog def selecciona_mensaje_limite(self): self.dialog.set_text( texto="No puedes Reproducir más de 8 Sonidos a la vez !!") self.dialog.connect(funcion_ok=self.deselecciona_mensaje, funcion_cancel=self.deselecciona_mensaje) self.mensaje = self.dialog def get_fondo(self, color=(100, 100, 100, 1), tamanio=RESOLUCION): superficie = pygame.Surface(tamanio, flags=HWSURFACE) superficie.fill(color) return superficie def salir(self, boton): sys.exit()