From b4e54fc9a2b3955689e48c02402d8090516ccae1 Mon Sep 17 00:00:00 2001 From: flavio Date: Fri, 06 Apr 2012 20:53:07 +0000 Subject: Correcciones --- diff --git a/Crear_Usuario.py b/Crear_Usuario.py index 68026cc..3ae6cba 100644 --- a/Crear_Usuario.py +++ b/Crear_Usuario.py @@ -139,26 +139,22 @@ class Frame(pygame.sprite.OrderedUpdates): 'departamento':'', 'personaje':'' } - self.jacinto = JAMButton('',None) + self.jacinto = BotonUsuario() imagenusuario = os.path.join(G.IMAGENES, "Login", "jacinto.png") self.jacinto.set_imagen(origen = imagenusuario) self.jacinto.connect(callback = self.select_personaje, sonido_select = None) - self.jose = JAMButton('',None) + self.jose = BotonUsuario() imagenusuario = os.path.join(G.IMAGENES, "Login", "jose.png") self.jose.set_imagen(origen = imagenusuario) self.jose.connect(callback = self.select_personaje, sonido_select = None) - self.natalia = JAMButton('',None) + self.natalia = BotonUsuario() imagenusuario = os.path.join(G.IMAGENES, "Login", "natalia.png") self.natalia.set_imagen(origen = imagenusuario) self.natalia.connect(callback = self.select_personaje, sonido_select = None) self.personajes = [self.jacinto, self.jose, self.natalia] - for personaje in self.personajes: - personaje.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1) - personaje.set_colores(colorbas = (255,255,255,255), - colorbor = (255,255,255,255), colorcara = (0,153,255,255)) self.entrys = [] self.board = Board() @@ -236,7 +232,9 @@ class Frame(pygame.sprite.OrderedUpdates): self.boton_crear = JAMButton("Crear",None) self.boton_crear.set_font_from_file(fuente, tamanio = 30) self.boton_crear.set_tamanios(tamanio = (200,40), grosorbor = 1, detalle = 1, espesor = 1) - self.boton_crear.set_colores(colorbas = (0,153,255,255), colorbor = (0,153,255,255), colorcara = (255,255,255,255)) + #self.boton_crear.set_colores(colorbas = (0,153,255,255), colorbor = (0,153,255,255), colorcara = (255,255,255,255)) + self.boton_crear.set_colores(colorbas = (92,193,235,255), + colorbor = (255,255,255,255), colorcara = (92,193,235,255)) self.boton_crear.connect(callback = self.crear_usuario, sonido_select = None) self.add(self.boton_crear) @@ -288,7 +286,7 @@ class Frame(pygame.sprite.OrderedUpdates): mitad = self.fondo.rect.w/2 ww,hh = self.label_derecho.get_tamanio() x = self.fondo.rect.x + mitad + mitad/2 - ww/2 - y = self.fondo.rect.y + sep + y = self.fondo.rect.y + sep*7 self.label_derecho.set_posicion( (x,y) ) ww,hh = self.jacinto.get_tamanio() @@ -321,11 +319,9 @@ class Frame(pygame.sprite.OrderedUpdates): self.usuario['personaje'] = button.etiqueta_unselect.imagen["origen"] for personaje in self.personajes: if not personaje == button: - personaje.set_colores(colorbas = (255,255,255,255), - colorbor = (255,255,255,255), colorcara = (0,153,255,255)) + personaje.deseleccionar() else: - personaje.set_colores(colorbas = (0,153,255,255), - colorbor = (255,255,255,255), colorcara = (255,255,0,255)) + personaje.seleccionar() def enter_nombre(self, button): x,y = button.get_posicion() @@ -404,6 +400,29 @@ class Frame(pygame.sprite.OrderedUpdates): pygame.display.update() self.remove(self.board) +class BotonUsuario(JAMButton): + def __init__(self): + JAMButton.__init__(self, '', None) + self.set_tamanios(tamanio = (128,128), grosorbor = 1, detalle = 1, espesor = 1) + def set_imagen(self, origen): + self.original_imagen = pygame.transform.scale(pygame.image.load(origen), (128,128)) + + self.final_unselect = self.original_imagen.copy() + self.final_select = JAMG.get_my_surface_whit_border(self.original_imagen.copy(), (255,255,255,255), 10) + self.final_marca = JAMG.get_my_surface_whit_border(self.original_imagen.copy(), (240,150,0,255), 10) + + self.image = self.final_unselect + self.rect = self.image.get_rect() + + def seleccionar(self): + self.final_unselect = self.final_marca.copy() + self.final_select = self.final_marca.copy() + self.image = self.final_marca + def deseleccionar(self): + self.final_unselect = self.original_imagen.copy() + self.final_select = JAMG.get_my_surface_whit_border(self.original_imagen.copy(), (255,255,255,255), 10) + self.image = self.final_unselect + class Board(pygame.sprite.OrderedUpdates): def __init__(self): pygame.sprite.OrderedUpdates.__init__(self) diff --git a/Derecho_a_Transitar.py b/Derecho_a_Transitar.py index 2f5078a..b06bffc 100644 --- a/Derecho_a_Transitar.py +++ b/Derecho_a_Transitar.py @@ -235,43 +235,43 @@ class gtkplug(gtk.Plug): widget.destroy() if game == "FGR_T0101": from FGR_T0101 import FGR_T0101 - juego = FGR_T0101() + juego = FGR_T0101(self.usuario) elif game == "FGR_T0102": from FGR_T0102 import FGR_T0102 - juego = FGR_T0102() + juego = FGR_T0102(self.usuario) elif game == "FGR_T0201": from FGR_T0201 import FGR_T0201 - juego = FGR_T0201() + juego = FGR_T0201(self.usuario) elif game == "FGR_T0202": from FGR_T0202 import FGR_T0202 - juego = FGR_T0202() + juego = FGR_T0202(self.usuario) elif game == "FGR_T0301": from FGR_T0301 import FGR_T0301 - juego = FGR_T0301() + juego = FGR_T0301(self.usuario) elif game == "FGR_T0302": from FGR_T0302 import FGR_T0302 - juego = FGR_T0302() + juego = FGR_T0302(self.usuario) elif game == "FGR_T0303": from FGR_T0303 import FGR_T0303 - juego = FGR_T0303() + juego = FGR_T0303(self.usuario) elif game == "FGR_T0401": from FGR_T0401 import FGR_T0401 - juego = FGR_T0401() + juego = FGR_T0401(self.usuario) elif game == "FGR_T0402": from FGR_T0402 import FGR_T0402 - juego = FGR_T0402() + juego = FGR_T0402(self.usuario) elif game == "FGR_T0501": from FGR_T0501 import FGR_T0501 - juego = FGR_T0501() + juego = FGR_T0501(self.usuario) elif game == "FGR_T0502": from FGR_T0502 import FGR_T0502 - juego = FGR_T0502() + juego = FGR_T0502(self.usuario) elif game == "FGR_T0503": from FGR_T0503 import FGR_T0503 - juego = FGR_T0503() + juego = FGR_T0503(self.usuario) elif game == "FGR_T0504": from FGR_T0504 import FGR_T0504 - juego = FGR_T0504() + juego = FGR_T0504(self.usuario) juego.connect("run_grupo", self.run_grupo) juego.run() return False diff --git a/FGR_T0101.py b/FGR_T0101.py index bfb6ae3..435c27f 100644 --- a/FGR_T0101.py +++ b/FGR_T0101.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0101(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.nombre = "Señales de Tránsito" self.ventana = None self.estado = False @@ -110,8 +111,6 @@ class FGR_T0101(gtk.Widget): self.controles.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - #self.victory() - #self.game_over(None) def reset(self): self.puntos = 0 @@ -158,7 +157,6 @@ class FGR_T0101(gtk.Widget): self.controles.stop() self.puntos+= (10*self.controles.cronometro.get_tiempo_restante()) self.controles.actualiza_puntos() - self.ventana.blit(self.fondo, (0,0)) self.carteles.draw(self.ventana) self.seniales.draw(self.ventana) @@ -166,18 +164,14 @@ class FGR_T0101(gtk.Widget): self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() pygame.time.wait(1000) - text1= "Muy bien! Ahora formas parte de la pandilla." text2= "Natalia, José y Jacinto están muy contentos, sigue con ellos adelante." - mensaje= Mensaje(self, "Victory", text1, text2) self.fondo= self.fondo1 - self.ventana.blit(self.fondo, (0,0)) mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - while mensaje.estado == True: self.reloj.tick(35) mensaje.clear(self.ventana, self.fondo) @@ -185,7 +179,6 @@ class FGR_T0101(gtk.Widget): mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - pygame.time.wait(6000) return self.salir(True) @@ -194,7 +187,6 @@ class FGR_T0101(gtk.Widget): self.controles.update() self.controles.stop() self.controles.actualiza_puntos() - self.ventana.blit(self.fondo, (0,0)) self.carteles.draw(self.ventana) self.seniales.draw(self.ventana) @@ -202,18 +194,14 @@ class FGR_T0101(gtk.Widget): self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() pygame.time.wait(1000) - text1= "Te han Faltado Unos Segundos Para Completar la Actividad." text2= "Prueba Nuevamente." - mensaje= Mensaje(self, "End", text1, text2) self.fondo= self.fondo1 - self.ventana.blit(self.fondo, (0,0)) mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - while mensaje.estado == True: self.reloj.tick(35) mensaje.clear(self.ventana, self.fondo) @@ -221,7 +209,6 @@ class FGR_T0101(gtk.Widget): mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - pygame.time.wait(6000) return self.salir(False) @@ -300,7 +287,6 @@ class FGR_T0101(gtk.Widget): dialog.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - dialog.clear(self.ventana, self.fondo) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() @@ -364,13 +350,6 @@ class FGR_T0101(gtk.Widget): # ----------- EVENTOS en JUEGO --------------- def salir(self, valor = None): - ''' - if valor: self.estado = True - if not valor: self.estado = False - pygame.mixer.music.unpause() - self.seniales.empty() - self.carteles.empty() - self.controles.empty()''' self.estado = False self.emit("run_grupo", "grupo1", self.puntos) @@ -386,7 +365,7 @@ class Controles(pygame.sprite.OrderedUpdates): self.recuadro_select= None self.progress_reloj= None self.sonidos_reloj= None - + self.user = None self.load_sprites() def get_recuadro_select(self, tamanio): @@ -426,6 +405,18 @@ class Controles(pygame.sprite.OrderedUpdates): label.set_posicion(punto=(x-w/2,y)) def load_sprites(self): + imagen = self.main.usuario['personaje'] + self.user = JAMButton(self.main.usuario['nombre'],None) + self.user.set_imagen(origen = imagen, tamanio = (60,60)) + self.user.set_colores(colorbas = (0,153,255,255), + colorbor = (0,153,255,255), colorcara = (0,153,255,255)) + self.user.set_tamanios(tamanio = (80,80), grosorbor = 1, detalle = 1, espesor = 1) + ww, hh = self.user.get_tamanio() + w,h = G.RESOLUCION + self.user.set_posicion(punto = (w - ww - 10, 25)) + self.user.connect(callback = None, sonido_select = None) + self.add(self.user) + imagen= G.get_Flecha() self.flecha= JAMButton("",None) self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) @@ -477,10 +468,11 @@ class Controles(pygame.sprite.OrderedUpdates): self.add(self.progress_reloj) def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) + puntos = "%s" %(self.main.puntos) self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) + x,y = self.user.get_posicion() + w,h = self.puntaje.get_tamanio() + x -= w+10 self.puntaje.set_posicion(punto= (x,y)) def switching_game(self, button): diff --git a/FGR_T0102.py b/FGR_T0102.py index 3b356e9..5449b4f 100644 --- a/FGR_T0102.py +++ b/FGR_T0102.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0102(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "Tipos de señales" self.estado = False @@ -394,7 +395,7 @@ class Controles(pygame.sprite.OrderedUpdates): self.reloj= None self.progress_reloj= None self.sonidos_reloj= None - + self.user = None self.load_sprites() def get_recuadro_select(self, tamanio): @@ -417,6 +418,18 @@ class Controles(pygame.sprite.OrderedUpdates): self.add(label) def load_sprites(self): + imagen = self.main.usuario['personaje'] + self.user = JAMButton(self.main.usuario['nombre'],None) + self.user.set_imagen(origen = imagen, tamanio = (60,60)) + self.user.set_colores(colorbas = (0,153,255,255), + colorbor = (0,153,255,255), colorcara = (0,153,255,255)) + self.user.set_tamanios(tamanio = (80,80), grosorbor = 1, detalle = 1, espesor = 1) + ww, hh = self.user.get_tamanio() + w,h = G.RESOLUCION + self.user.set_posicion(punto = (w - ww - 10, 25)) + self.user.connect(callback = None, sonido_select = None) + self.add(self.user) + imagen= G.get_Flecha() self.flecha= JAMButton("",None) self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) @@ -468,10 +481,11 @@ class Controles(pygame.sprite.OrderedUpdates): self.add(self.progress_reloj) def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) + puntos = "%s" %(self.main.puntos) self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) + x,y = self.user.get_posicion() + w,h = self.puntaje.get_tamanio() + x -= w+10 self.puntaje.set_posicion(punto= (x,y)) def switching_game(self, button): diff --git a/FGR_T0201.py b/FGR_T0201.py index 0498843..3396f3d 100644 --- a/FGR_T0201.py +++ b/FGR_T0201.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0201(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "Caminando a la Escuela" self.estado = False @@ -389,7 +390,7 @@ class Controles(pygame.sprite.OrderedUpdates): self.progress_reloj= None self.decorativas= None self.sonidos_reloj= None - + self.user = None self.load_sprites() def get_recuadro_select(self, tamanio): @@ -429,6 +430,18 @@ class Controles(pygame.sprite.OrderedUpdates): label.set_posicion(punto=(x-w/2,y)) def load_sprites(self): + imagen = self.main.usuario['personaje'] + self.user = JAMButton(self.main.usuario['nombre'],None) + self.user.set_imagen(origen = imagen, tamanio = (60,60)) + self.user.set_colores(colorbas = (0,153,255,255), + colorbor = (0,153,255,255), colorcara = (0,153,255,255)) + self.user.set_tamanios(tamanio = (80,80), grosorbor = 1, detalle = 1, espesor = 1) + ww, hh = self.user.get_tamanio() + w,h = G.RESOLUCION + self.user.set_posicion(punto = (w - ww - 10, 25)) + self.user.connect(callback = None, sonido_select = None) + self.add(self.user) + imagen= G.get_Flecha() self.flecha= JAMButton("",None) self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) @@ -483,10 +496,11 @@ class Controles(pygame.sprite.OrderedUpdates): self.add(self.decorativas) def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) + puntos = "%s" %(self.main.puntos) self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) + x,y = self.user.get_posicion() + w,h = self.puntaje.get_tamanio() + x -= w+10 self.puntaje.set_posicion(punto= (x,y)) def switching_game(self, button): diff --git a/FGR_T0202.py b/FGR_T0202.py index a0b1a1e..448325c 100644 --- a/FGR_T0202.py +++ b/FGR_T0202.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0202(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "Caminando a la Escuela II" self.estado = False @@ -106,8 +107,6 @@ class FGR_T0202(gtk.Widget): self.controles.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - #self.victory() - #self.game_over(None) def reset(self): self.puntos= 0 @@ -128,25 +127,20 @@ class FGR_T0202(gtk.Widget): self.controles.stop() self.puntos+= (10*self.controles.cronometro.get_tiempo_restante()) self.controles.actualiza_puntos() - self.ventana.blit(self.fondo, (0,0)) self.seniales.draw(self.ventana) self.controles.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() pygame.time.wait(1000) - text1= "Excelente, Arturo les agradece su ayuda. Por haber contestado correctamente y haber" text2= "ayudado a Arturo se ganaron 2 stickers. Les falta sólo 1 para completar este nivel." - mensaje= Mensaje(self, "Victory", text1, text2) self.fondo= self.fondo1 - self.ventana.blit(self.fondo, (0,0)) mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - while mensaje.estado == True: self.reloj.tick(35) mensaje.clear(self.ventana, self.fondo) @@ -154,7 +148,6 @@ class FGR_T0202(gtk.Widget): mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - pygame.time.wait(6000) return self.salir(True) @@ -163,25 +156,20 @@ class FGR_T0202(gtk.Widget): self.controles.update() # para actualizar imagen de progressbar del reloj self.controles.stop() self.controles.actualiza_puntos() - self.ventana.blit(self.fondo, (0,0)) self.seniales.draw(self.ventana) self.controles.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() pygame.time.wait(1000) - text1= "Te han Faltado Unos Segundos Para Completar la Actividad." text2= "Prueba Nuevamente." - mensaje= Mensaje(self, "End", text1, text2) self.fondo= self.fondo1 - self.ventana.blit(self.fondo, (0,0)) mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - while mensaje.estado == True: self.reloj.tick(35) mensaje.clear(self.ventana, self.fondo) @@ -189,7 +177,6 @@ class FGR_T0202(gtk.Widget): mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - pygame.time.wait(6000) return self.salir(False) @@ -209,7 +196,8 @@ class FGR_T0202(gtk.Widget): self.fondo1, self.fondo2= G.get_Fondos_FGR_T0202() self.textos= Textos_Intro() self.botonesmenu= ButtonsMenu(self) - self.controles= Controles(self) + from Globals import Controles + self.controles = Controles(self) self.seniales= Seniales(self) self.sonido_error, self.sonido_exito= G.get_Sonidos() self.sound_select= JAMG.get_sound_select() @@ -266,11 +254,9 @@ class FGR_T0202(gtk.Widget): dialog.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - dialog.clear(self.ventana, self.fondo) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - def ok_intro(self, button): return self.salir(False) def cancel_intro(self, button): @@ -311,7 +297,6 @@ class FGR_T0202(gtk.Widget): 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)) @@ -330,159 +315,9 @@ class FGR_T0202(gtk.Widget): # ----------- EVENTOS en JUEGO --------------- def salir(self, valor= None): - ''' - if valor: self.estado= True - if not valor: self.estado= False - pygame.mixer.music.unpause() - self.seniales.empty() - self.controles.empty()''' self.estado = False self.emit("run_grupo", "grupo2", self.puntos) -# -------- CONTROLES ---------- -class Controles(pygame.sprite.OrderedUpdates): - def __init__(self, main): - pygame.sprite.OrderedUpdates.__init__(self) - self.main= main - self.flecha= None - self.titulo= None - self.puntaje= None - self.cronometro= None - self.recuadro_select= None - self.progress_reloj= None - self.sonidos_reloj= None - - self.load_sprites() - - def load_sprites(self): - imagen= G.get_Flecha() - self.flecha= JAMButton("",None) - self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) - self.flecha.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) - self.flecha.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1) - self.flecha.set_posicion(punto= (10,10)) - self.flecha.connect (callback= self.main.run_dialog_game) - self.add(self.flecha) - - x,y= self.flecha.posicion - w,h= self.flecha.get_tamanio() - x+= w - ancho= G.RESOLUCION[0]/2 - x - cartel_titulo= pygame.sprite.Sprite() - cartel_titulo.image= G.get_Imagen_Cartel1() - cartel_titulo.image= pygame.transform.scale(cartel_titulo.image.copy(), (ancho,cartel_titulo.image.get_size()[1])) - cartel_titulo.rect= cartel_titulo.image.get_rect() - cartel_titulo.rect.x= x - cartel_titulo.rect.y= -60 - self.add(cartel_titulo) - - self.titulo= JAMLabel(self.main.nombre) - self.titulo.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.titulo.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - x,y= (cartel_titulo.rect.x + 50, 10) - self.titulo.set_posicion(punto= (x,y)) - self.add(self.titulo) - - self.puntaje= JAMLabel("%s" %(self.main.puntos)) - self.puntaje.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.puntaje.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - self.add(self.puntaje) - - self.sonidos_reloj= G.get_sound_clock() - - from BiblioJAM.JAMCron import JAMCron - self.cronometro= JAMCron() - x,y= (0-self.cronometro.cron.rect.w-1, 0-self.cronometro.cron.rect.h-1) - self.cronometro.cron.set_posicion(punto= (x,y)) - self.cronometro.set_callback(self.main.game_over) - self.cronometro.set_alarma(tiempo= (1,0), duracion= 3) - self.add(self.cronometro) - - self.progress_reloj= ProgressBar(self.main) - self.add(self.progress_reloj) - - def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) - self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) - self.puntaje.set_posicion(punto= (x,y)) - - def switching_game(self, button): - self.main.estado= "Intro" - return self.main.run() - - def init(self): - sound= self.sonidos_reloj[0] - self.cronometro.set_sound(sound) - self.cronometro.reset() - self.actualiza_puntos() - self.cronometro.play() - def stop(self): - self.cronometro.pause() - def play(self): - self.cronometro.play() - -class ProgressBar(pygame.sprite.Sprite): - def __init__(self, main): - pygame.sprite.Sprite.__init__(self) - self.main= main - self.acumula= 0 - - w,h= G.RESOLUCION - self.tamanio= (w/2-10,10) - self.posicion= (w/2,10) - - rect1= JAMG.get_Rectangulo( JAMG.get_verde1(), self.tamanio) - w,y= rect1.get_size() - a= w/6*3 - rect2= JAMG.get_Rectangulo( JAMG.get_amarillo1(), (a,self.tamanio[1])) - imagen= JAMG.pegar_imagenes_alineado_derecha(rect2, rect1) - a= w/6 - rect3= JAMG.get_Rectangulo( JAMG.get_rojo1(), (a,self.tamanio[1])) - self.imagen_original= JAMG.pegar_imagenes_alineado_derecha(rect3, imagen) - - self.image= self.imagen_original.copy() - self.rect= self.image.get_rect() - self.rect.x, self.rect.y= self.posicion - - def update(self): - tiempo= self.main.controles.cronometro.cron.segundos_final - transcurridos= self.main.controles.cronometro.get_tiempo_transcurrido() - faltan= self.main.controles.cronometro.cron.segundos_faltan - mitad= tiempo/2 - cuarto= tiempo/4 - if faltan <= mitad: - if faltan > cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[1]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[1]) - self.main.controles.play() - elif faltan <= cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[2]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[2]) - self.main.controles.play() - - ancho, alto= self.tamanio - ind= float(float(ancho)/float(self.main.controles.cronometro.cron.segundos_final)) - ancho= float(float(ancho)- float(self.main.controles.cronometro.get_tiempo_transcurrido())*ind) - dif= float(float(self.tamanio[0]) - float(ancho)) - try: - self.image= self.imagen_original.copy().subsurface((dif,0,int(ancho), int(alto))) - except: - self.image= self.imagen_original.copy().subsurface((dif,0,0,0)) - - self.rect= self.image.get_rect() - x,y= self.posicion - x+= dif - self.rect.x, self.rect.y= (x,y) -# -------- CONTROLES ---------- - # -------- SEÑALES ---------- class Seniales(pygame.sprite.OrderedUpdates): ''' Grupo de Señales. ''' @@ -497,12 +332,10 @@ class Seniales(pygame.sprite.OrderedUpdates): def load_sprites(self): for afirmacion in G.get_afirmaciones_FGR_T0202(): self.afirmaciones.append(Afirmaciones(self, afirmacion)) - boton= Sprite_Boton_afirmacion(self, "Verdadero", True) self.botones.append(boton) boton= Sprite_Boton_afirmacion(self, "Falso", False) self.botones.append(boton) - w,h= (0,0) for boton in self.botones: w1,h1= boton.get_tamanio() @@ -511,11 +344,9 @@ class Seniales(pygame.sprite.OrderedUpdates): for boton in self.botones: boton.set_tamanios(tamanio=(w,h), grosorbor=1, detalle=1, espesor=1) boton.connect(callback= self.deja_en, sonido_select= None) - x,y,w,h= self.afirmaciones[0].sprite_imagen.rect y+= h+20 x= G.RESOLUCION[0]/2 + 50 - self.botones[1].set_posicion(punto= (x,y)) w1,h1= self.botones[0].get_tamanio() self.botones[0].set_posicion(punto= (x-50-w1,y)) @@ -558,18 +389,15 @@ class Afirmaciones(pygame.sprite.OrderedUpdates): pygame.sprite.OrderedUpdates.__init__(self) self.main= main imagen, afirmacion, valor= afirmacion - self.valor= valor self.sprite_imagen= self.get_imagen_sprite(imagen) self.label= self.get_labels(afirmacion) - self.add(self.sprite_imagen) self.add(self.label) def get_labels(self, afirmacion): fuente, tamanio= JAMG.get_Font_fawn() tamanio= 50 - labels= [] textos= afirmacion.split("\n") for t in textos: @@ -577,7 +405,6 @@ class Afirmaciones(pygame.sprite.OrderedUpdates): label.set_text(color=JAMG.get_blanco()) label.set_font_from_file(fuente, tamanio= tamanio) labels.append(label) - x, y, w, h= self.sprite_imagen.rect labels.reverse() for label in labels: @@ -612,12 +439,10 @@ class Textos_Intro(pygame.sprite.OrderedUpdates): self.labels= [] self.gruber= None self.base= None - self.load_textos() self.set_posicion_labels() self.base= self.get_base() self.gruber= self.get_gruber() - self.add(self.base) self.add(self.labels) self.add(self.gruber) @@ -684,7 +509,6 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): pygame.sprite.OrderedUpdates.__init__(self) self.main= main imagen= G.get_Flecha() - salir= JAMButton("",None) salir.set_imagen(origen= imagen, tamanio=(100,55)) salir.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) @@ -692,7 +516,6 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): salir.set_posicion(punto= (10,10)) salir.connect (callback= self.main.run_dialog_intro) self.add(salir) - jugar= JAMButton("Jugar",None) jugar.set_text(color=JAMG.get_blanco()) fuente, tamanio= JAMG.get_Font_fawn() @@ -723,27 +546,22 @@ class Mensaje(pygame.sprite.OrderedUpdates): pygame.sprite.OrderedUpdates.__init__(self) self.main= main self.estado= True - self.base= None self.label1= None self.label2= None self.labels= [] self.gruber= None - self.label1= Sprite_Texto(text1) self.label2= Sprite_Texto(text2) self.labels= [self.label1, self.label2] - self.x_final_label1= 0 self.x_final_label2= 0 - self.init() self.base= self.get_base() if opcion== "Victory": self.gruber= self.get_gruber2() elif opcion== "End": self.gruber= self.get_gruber3() - self.add(self.base) self.add(self.labels) self.add(self.gruber) @@ -752,12 +570,10 @@ class Mensaje(pygame.sprite.OrderedUpdates): w,h= G.RESOLUCION w1,h1= (self.label1.rect.w, self.label1.rect.h) w2,h2= (self.label2.rect.w, self.label2.rect.h) - x= 0-w y= h/2-h2/2 self.label2.rect.x, self.label2.rect.y= (x,y) self.x_final_label2= w/2-w2/2 - x= w y= self.label2.rect.y - h2 self.label1.rect.x, self.label1.rect.y= (x,y) diff --git a/FGR_T0301.py b/FGR_T0301.py index ba20d7a..99d453a 100644 --- a/FGR_T0301.py +++ b/FGR_T0301.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0301(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "Seré Conductor" self.estado = False @@ -215,8 +216,9 @@ class FGR_T0301(gtk.Widget): self.VH= float(D)/float(B) self.fondo1, self.fondo2= G.get_Fondos_FGR_T0301() self.textos= Textos_Intro() - self.botonesmenu= ButtonsMenu(self) - self.controles= Controles(self) + self.botonesmenu = ButtonsMenu(self) + from Globals import Controles + self.controles = Controles(self) self.seniales= SopadeLetras(self) self.carteles= Carteles(self) self.sonido_error, self.sonido_exito= G.get_Sonidos() @@ -338,159 +340,9 @@ class FGR_T0301(gtk.Widget): # ----------- EVENTOS en JUEGO --------------- def salir(self, valor= None): - ''' - if valor: self.estado= True - if not valor: self.estado= False - pygame.mixer.music.unpause() - self.seniales.empty() - self.carteles.empty() - self.controles.empty()''' self.estado = False self.emit("run_grupo", "grupo3", self.puntos) -# -------- CONTROLES ---------- -class Controles(pygame.sprite.OrderedUpdates): - def __init__(self, main): - pygame.sprite.OrderedUpdates.__init__(self) - self.main= main - self.flecha= None - self.titulo= None - self.puntaje= None - self.cronometro= None - self.progress_reloj= None - self.sonidos_reloj= None - - self.load_sprites() - - def load_sprites(self): - imagen= G.get_Flecha() - self.flecha= JAMButton("",None) - self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) - self.flecha.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) - self.flecha.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1) - self.flecha.set_posicion(punto= (10,10)) - self.flecha.connect (callback= self.main.run_dialog_game) - self.add(self.flecha) - - x,y= self.flecha.posicion - w,h= self.flecha.get_tamanio() - x+= w - ancho= G.RESOLUCION[0]/2 - x - cartel_titulo= pygame.sprite.Sprite() - cartel_titulo.image= G.get_Imagen_Cartel1() - cartel_titulo.image= pygame.transform.scale(cartel_titulo.image.copy(), (ancho,cartel_titulo.image.get_size()[1])) - cartel_titulo.rect= cartel_titulo.image.get_rect() - cartel_titulo.rect.x= x - cartel_titulo.rect.y= -60 - self.add(cartel_titulo) - - self.titulo= JAMLabel(self.main.nombre) - self.titulo.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.titulo.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - x,y= (cartel_titulo.rect.x + 50, 10) - self.titulo.set_posicion(punto= (x,y)) - self.add(self.titulo) - - self.puntaje= JAMLabel("%s" %(self.main.puntos)) - self.puntaje.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.puntaje.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - self.add(self.puntaje) - - self.sonidos_reloj= G.get_sound_clock() - - from BiblioJAM.JAMCron import JAMCron - self.cronometro= JAMCron() - x,y= (0-self.cronometro.cron.rect.w-1, 0-self.cronometro.cron.rect.h-1) - self.cronometro.cron.set_posicion(punto= (x,y)) - self.cronometro.set_callback(self.main.game_over) - self.cronometro.set_alarma(tiempo= (1,40), duracion= 3) - self.add(self.cronometro) - - self.progress_reloj= ProgressBar(self.main) - self.add(self.progress_reloj) - - def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) - self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) - self.puntaje.set_posicion(punto= (x,y)) - - def switching_game(self, button): - self.main.estado= "Intro" - return self.main.run() - - def init(self): - sound= self.sonidos_reloj[0] - self.cronometro.set_sound(sound) - self.cronometro.reset() - self.actualiza_puntos() - self.cronometro.play() - def stop(self): - self.cronometro.pause() - def play(self): - self.cronometro.play() - -class ProgressBar(pygame.sprite.Sprite): - def __init__(self, main): - pygame.sprite.Sprite.__init__(self) - self.main= main - self.acumula= 0 - - w,h= G.RESOLUCION - self.tamanio= (w/2-10,10) - self.posicion= (w/2,10) - - rect1= JAMG.get_Rectangulo( JAMG.get_verde1(), self.tamanio) - w,y= rect1.get_size() - a= w/6*3 - rect2= JAMG.get_Rectangulo( JAMG.get_amarillo1(), (a,self.tamanio[1])) - imagen= JAMG.pegar_imagenes_alineado_derecha(rect2, rect1) - a= w/6 - rect3= JAMG.get_Rectangulo( JAMG.get_rojo1(), (a,self.tamanio[1])) - self.imagen_original= JAMG.pegar_imagenes_alineado_derecha(rect3, imagen) - - self.image= self.imagen_original.copy() - self.rect= self.image.get_rect() - self.rect.x, self.rect.y= self.posicion - - def update(self): - tiempo= self.main.controles.cronometro.cron.segundos_final - transcurridos= self.main.controles.cronometro.get_tiempo_transcurrido() - faltan= self.main.controles.cronometro.cron.segundos_faltan - mitad= tiempo/2 - cuarto= tiempo/4 - if faltan <= mitad: - if faltan > cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[1]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[1]) - self.main.controles.play() - elif faltan <= cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[2]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[2]) - self.main.controles.play() - - ancho, alto= self.tamanio - ind= float(float(ancho)/float(self.main.controles.cronometro.cron.segundos_final)) - ancho= float(float(ancho)- float(self.main.controles.cronometro.get_tiempo_transcurrido())*ind) - dif= float(float(self.tamanio[0]) - float(ancho)) - try: - self.image= self.imagen_original.copy().subsurface((dif,0,int(ancho), int(alto))) - except: - self.image= self.imagen_original.copy().subsurface((dif,0,0,0)) - - self.rect= self.image.get_rect() - x,y= self.posicion - x+= dif - self.rect.x, self.rect.y= (x,y) -# -------- CONTROLES ---------- - # -------- SOPADELETRAS ---------- class SopadeLetras(pygame.sprite.OrderedUpdates): ''' Grupo de Señales. ''' @@ -511,7 +363,9 @@ class SopadeLetras(pygame.sprite.OrderedUpdates): self.imagen.rect= self.imagen.image.get_rect() self.add(self.imagen) - filas= ["ZOMSALEMDA","ELAPEDALES","INFLADORSO", "AECUADROFZ", "BOACECDARV", "POSEDENIEA", "ALISODTANA", "RIASIENTOF", "OCETANOASD", "MAGYOATSGH"] + filas= ["ZOMSALEMDA","ELAPEDALES","INFLADORSO", "AECUADROFZ", + "BOACECDARV", "POSEDENIEA", "ALISODTANA", "RIASIENTOF", + "OCETANOASD", "MAGYOATSGH"] self.filadebotones= [] for fila in filas: @@ -542,10 +396,14 @@ class SopadeLetras(pygame.sprite.OrderedUpdates): "PEDALES":self.filadebotones[1][3:], "INFLADOR":self.filadebotones[2][0:8], "CUADRO":self.filadebotones[3][2:8], - "LUCES":[self.filadebotones[2][3], self.filadebotones[3][3],self.filadebotones[4][3], self.filadebotones[5][3], self.filadebotones[6][3]], - "FRENOS":[self.filadebotones[3][8],self.filadebotones[4][8], self.filadebotones[5][8], self.filadebotones[6][8], self.filadebotones[7][8], self.filadebotones[8][8]], + "LUCES":[self.filadebotones[2][3], self.filadebotones[3][3], + self.filadebotones[4][3], self.filadebotones[5][3], self.filadebotones[6][3]], + "FRENOS":[self.filadebotones[3][8],self.filadebotones[4][8], + self.filadebotones[5][8], self.filadebotones[6][8], self.filadebotones[7][8], + self.filadebotones[8][8]], "ASIENTO":self.filadebotones[7][2:9], - "PLATO":[self.filadebotones[5][0], self.filadebotones[6][1], self.filadebotones[7][2], self.filadebotones[8][3], self.filadebotones[9][4]]} + "PLATO":[self.filadebotones[5][0], self.filadebotones[6][1], + self.filadebotones[7][2], self.filadebotones[8][3], self.filadebotones[9][4]]} for palabra in self.palabras: # reconvierte el diccionario a grupos de sprites diff --git a/FGR_T0302.py b/FGR_T0302.py index 7aaf0f7..ec25861 100644 --- a/FGR_T0302.py +++ b/FGR_T0302.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0302(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "Seré Conductor. ¡A Rodar!" self.estado = False @@ -106,8 +107,6 @@ class FGR_T0302(gtk.Widget): self.controles.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - #self.victory() - #self.game_over(None) def reset(self): self.puntos= 0 @@ -129,25 +128,20 @@ class FGR_T0302(gtk.Widget): self.controles.stop() self.puntos+= (10*self.controles.cronometro.get_tiempo_restante()) self.controles.actualiza_puntos() - self.ventana.blit(self.fondo, (0,0)) self.seniales.draw(self.ventana) self.controles.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() pygame.time.wait(1000) - text1= "Excelente, ahora sí que están preparados para circular en bici." text2= "Consiguieron otro sticker, les falta sólo 1 para completar la imagen." - mensaje= Mensaje(self, "Victory", text1, text2) self.fondo= self.fondo1 - self.ventana.blit(self.fondo, (0,0)) mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - while mensaje.estado == True: self.reloj.tick(35) mensaje.clear(self.ventana, self.fondo) @@ -155,7 +149,6 @@ class FGR_T0302(gtk.Widget): mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - pygame.time.wait(6000) return self.salir(True) @@ -164,25 +157,20 @@ class FGR_T0302(gtk.Widget): self.controles.update() # para actualizar imagen de progressbar del reloj self.controles.stop() self.controles.actualiza_puntos() - self.ventana.blit(self.fondo, (0,0)) self.seniales.draw(self.ventana) self.controles.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() pygame.time.wait(1000) - text1= "Te han Faltado Unos Segundos Para Completar la Actividad." text2= "Prueba Nuevamente." - mensaje= Mensaje(self, "End", text1, text2) self.fondo= self.fondo1 - self.ventana.blit(self.fondo, (0,0)) mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - while mensaje.estado == True: self.reloj.tick(35) mensaje.clear(self.ventana, self.fondo) @@ -190,7 +178,6 @@ class FGR_T0302(gtk.Widget): mensaje.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - pygame.time.wait(6000) return self.salir(False) @@ -210,7 +197,8 @@ class FGR_T0302(gtk.Widget): self.fondo1, self.fondo2= G.get_Fondos_FGR_T0302() self.textos= Textos_Intro() self.botonesmenu= ButtonsMenu(self) - self.controles= Controles(self) + from Globals import Controles + self.controles = Controles(self) self.seniales= Seniales(self) self.sonido_error, self.sonido_exito= G.get_Sonidos() self.sound_select= JAMG.get_sound_select() @@ -267,7 +255,6 @@ class FGR_T0302(gtk.Widget): dialog.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - dialog.clear(self.ventana, self.fondo) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() @@ -312,7 +299,6 @@ class FGR_T0302(gtk.Widget): 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)) @@ -331,159 +317,9 @@ class FGR_T0302(gtk.Widget): # ----------- EVENTOS en JUEGO --------------- def salir(self, valor= None): - ''' - if valor: self.estado= True - if not valor: self.estado= False - pygame.mixer.music.unpause() - self.seniales.empty() - self.controles.empty()''' self.estado = False self.emit("run_grupo", "grupo3", self.puntos) -# -------- CONTROLES ---------- -class Controles(pygame.sprite.OrderedUpdates): - def __init__(self, main): - pygame.sprite.OrderedUpdates.__init__(self) - self.main= main - self.flecha= None - self.titulo= None - self.puntaje= None - self.cronometro= None - self.recuadro_select= None - self.progress_reloj= None - self.sonidos_reloj= None - - self.load_sprites() - - def load_sprites(self): - imagen= G.get_Flecha() - self.flecha= JAMButton("",None) - self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) - self.flecha.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) - self.flecha.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1) - self.flecha.set_posicion(punto= (10,10)) - self.flecha.connect (callback= self.main.run_dialog_game) - self.add(self.flecha) - - x,y= self.flecha.posicion - w,h= self.flecha.get_tamanio() - x+= w - ancho= G.RESOLUCION[0]/2 - x - cartel_titulo= pygame.sprite.Sprite() - cartel_titulo.image= G.get_Imagen_Cartel1() - cartel_titulo.image= pygame.transform.scale(cartel_titulo.image.copy(), (ancho,cartel_titulo.image.get_size()[1])) - cartel_titulo.rect= cartel_titulo.image.get_rect() - cartel_titulo.rect.x= x - cartel_titulo.rect.y= -60 - self.add(cartel_titulo) - - self.titulo= JAMLabel(self.main.nombre) - self.titulo.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.titulo.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - x,y= (cartel_titulo.rect.x + 50, 10) - self.titulo.set_posicion(punto= (x,y)) - self.add(self.titulo) - - self.puntaje= JAMLabel("%s" %(self.main.puntos)) - self.puntaje.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.puntaje.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - self.add(self.puntaje) - - self.sonidos_reloj= G.get_sound_clock() - - from BiblioJAM.JAMCron import JAMCron - self.cronometro= JAMCron() - x,y= (0-self.cronometro.cron.rect.w-1, 0-self.cronometro.cron.rect.h-1) - self.cronometro.cron.set_posicion(punto= (x,y)) - self.cronometro.set_callback(self.main.game_over) - self.cronometro.set_alarma(tiempo= (1,0), duracion= 3) - self.add(self.cronometro) - - self.progress_reloj= ProgressBar(self.main) - self.add(self.progress_reloj) - - def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) - self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) - self.puntaje.set_posicion(punto= (x,y)) - - def switching_game(self, button): - self.main.estado= "Intro" - return self.main.run() - - def init(self): - sound= self.sonidos_reloj[0] - self.cronometro.set_sound(sound) - self.cronometro.reset() - self.actualiza_puntos() - self.cronometro.play() - def stop(self): - self.cronometro.pause() - def play(self): - self.cronometro.play() - -class ProgressBar(pygame.sprite.Sprite): - def __init__(self, main): - pygame.sprite.Sprite.__init__(self) - self.main= main - self.acumula= 0 - - w,h= G.RESOLUCION - self.tamanio= (w/2-10,10) - self.posicion= (w/2,10) - - rect1= JAMG.get_Rectangulo( JAMG.get_verde1(), self.tamanio) - w,y= rect1.get_size() - a= w/6*3 - rect2= JAMG.get_Rectangulo( JAMG.get_amarillo1(), (a,self.tamanio[1])) - imagen= JAMG.pegar_imagenes_alineado_derecha(rect2, rect1) - a= w/6 - rect3= JAMG.get_Rectangulo( JAMG.get_rojo1(), (a,self.tamanio[1])) - self.imagen_original= JAMG.pegar_imagenes_alineado_derecha(rect3, imagen) - - self.image= self.imagen_original.copy() - self.rect= self.image.get_rect() - self.rect.x, self.rect.y= self.posicion - - def update(self): - tiempo= self.main.controles.cronometro.cron.segundos_final - transcurridos= self.main.controles.cronometro.get_tiempo_transcurrido() - faltan= self.main.controles.cronometro.cron.segundos_faltan - mitad= tiempo/2 - cuarto= tiempo/4 - if faltan <= mitad: - if faltan > cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[1]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[1]) - self.main.controles.play() - elif faltan <= cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[2]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[2]) - self.main.controles.play() - - ancho, alto= self.tamanio - ind= float(float(ancho)/float(self.main.controles.cronometro.cron.segundos_final)) - ancho= float(float(ancho)- float(self.main.controles.cronometro.get_tiempo_transcurrido())*ind) - dif= float(float(self.tamanio[0]) - float(ancho)) - try: - self.image= self.imagen_original.copy().subsurface((dif,0,int(ancho), int(alto))) - except: - self.image= self.imagen_original.copy().subsurface((dif,0,0,0)) - - self.rect= self.image.get_rect() - x,y= self.posicion - x+= dif - self.rect.x, self.rect.y= (x,y) -# -------- CONTROLES ---------- - # -------- SEÑALES ---------- class Seniales(pygame.sprite.OrderedUpdates): ''' Grupo de Señales. ''' diff --git a/FGR_T0303.py b/FGR_T0303.py index da6b598..669988f 100644 --- a/FGR_T0303.py +++ b/FGR_T0303.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0303(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "¡Ciclistas y peatones precavidos y expertos!" self.estado = False @@ -210,6 +211,7 @@ class FGR_T0303(gtk.Widget): self.fondo1, self.fondo2= G.get_Fondos_FGR_T0303() self.textos= Textos_Intro() self.botonesmenu= ButtonsMenu(self) + from Globals import Controles self.controles= Controles(self) self.seniales= Seniales(self) self.sonido_error, self.sonido_exito= G.get_Sonidos() @@ -331,159 +333,9 @@ class FGR_T0303(gtk.Widget): # ----------- EVENTOS en JUEGO --------------- def salir(self, valor= None): - ''' - if valor: self.estado= True - if not valor: self.estado= False - pygame.mixer.music.unpause() - self.seniales.empty() - self.controles.empty()''' self.estado = False self.emit("run_grupo", "grupo3", self.puntos) -# -------- CONTROLES ---------- -class Controles(pygame.sprite.OrderedUpdates): - def __init__(self, main): - pygame.sprite.OrderedUpdates.__init__(self) - self.main= main - self.flecha= None - self.titulo= None - self.puntaje= None - self.cronometro= None - self.recuadro_select= None - self.progress_reloj= None - self.sonidos_reloj= None - - self.load_sprites() - - def load_sprites(self): - imagen= G.get_Flecha() - self.flecha= JAMButton("",None) - self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) - self.flecha.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) - self.flecha.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1) - self.flecha.set_posicion(punto= (10,10)) - self.flecha.connect (callback= self.main.run_dialog_game) - self.add(self.flecha) - - x,y= self.flecha.posicion - w,h= self.flecha.get_tamanio() - x+= w - ancho= G.RESOLUCION[0]/2 - x - cartel_titulo= pygame.sprite.Sprite() - cartel_titulo.image= G.get_Imagen_Cartel1() - cartel_titulo.image= pygame.transform.scale(cartel_titulo.image.copy(), (ancho,cartel_titulo.image.get_size()[1])) - cartel_titulo.rect= cartel_titulo.image.get_rect() - cartel_titulo.rect.x= x - cartel_titulo.rect.y= -60 - self.add(cartel_titulo) - - self.titulo= JAMLabel(self.main.nombre) - self.titulo.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.titulo.set_font_from_file(fuente, tamanio= 25) - w,h= G.RESOLUCION - x,y= (cartel_titulo.rect.x + 50, 10) - self.titulo.set_posicion(punto= (x,y)) - self.add(self.titulo) - - self.puntaje= JAMLabel("%s" %(self.main.puntos)) - self.puntaje.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.puntaje.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - self.add(self.puntaje) - - self.sonidos_reloj= G.get_sound_clock() - - from BiblioJAM.JAMCron import JAMCron - self.cronometro= JAMCron() - x,y= (0-self.cronometro.cron.rect.w-1, 0-self.cronometro.cron.rect.h-1) - self.cronometro.cron.set_posicion(punto= (x,y)) - self.cronometro.set_callback(self.main.game_over) - self.cronometro.set_alarma(tiempo= (1,0), duracion= 3) - self.add(self.cronometro) - - self.progress_reloj= ProgressBar(self.main) - self.add(self.progress_reloj) - - def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) - self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) - self.puntaje.set_posicion(punto= (x,y)) - - def switching_game(self, button): - self.main.estado= "Intro" - return self.main.run() - - def init(self): - sound= self.sonidos_reloj[0] - self.cronometro.set_sound(sound) - self.cronometro.reset() - self.actualiza_puntos() - self.cronometro.play() - def stop(self): - self.cronometro.pause() - def play(self): - self.cronometro.play() - -class ProgressBar(pygame.sprite.Sprite): - def __init__(self, main): - pygame.sprite.Sprite.__init__(self) - self.main= main - self.acumula= 0 - - w,h= G.RESOLUCION - self.tamanio= (w/2-10,10) - self.posicion= (w/2,10) - - rect1= JAMG.get_Rectangulo( JAMG.get_verde1(), self.tamanio) - w,y= rect1.get_size() - a= w/6*3 - rect2= JAMG.get_Rectangulo( JAMG.get_amarillo1(), (a,self.tamanio[1])) - imagen= JAMG.pegar_imagenes_alineado_derecha(rect2, rect1) - a= w/6 - rect3= JAMG.get_Rectangulo( JAMG.get_rojo1(), (a,self.tamanio[1])) - self.imagen_original= JAMG.pegar_imagenes_alineado_derecha(rect3, imagen) - - self.image= self.imagen_original.copy() - self.rect= self.image.get_rect() - self.rect.x, self.rect.y= self.posicion - - def update(self): - tiempo= self.main.controles.cronometro.cron.segundos_final - transcurridos= self.main.controles.cronometro.get_tiempo_transcurrido() - faltan= self.main.controles.cronometro.cron.segundos_faltan - mitad= tiempo/2 - cuarto= tiempo/4 - if faltan <= mitad: - if faltan > cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[1]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[1]) - self.main.controles.play() - elif faltan <= cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[2]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[2]) - self.main.controles.play() - - ancho, alto= self.tamanio - ind= float(float(ancho)/float(self.main.controles.cronometro.cron.segundos_final)) - ancho= float(float(ancho)- float(self.main.controles.cronometro.get_tiempo_transcurrido())*ind) - dif= float(float(self.tamanio[0]) - float(ancho)) - try: - self.image= self.imagen_original.copy().subsurface((dif,0,int(ancho), int(alto))) - except: - self.image= self.imagen_original.copy().subsurface((dif,0,0,0)) - - self.rect= self.image.get_rect() - x,y= self.posicion - x+= dif - self.rect.x, self.rect.y= (x,y) -# -------- CONTROLES ---------- - # -------- SEÑALES ---------- class Seniales(pygame.sprite.OrderedUpdates): ''' Grupo de Señales. ''' diff --git a/FGR_T0401.py b/FGR_T0401.py index b8e6f78..aaae838 100644 --- a/FGR_T0401.py +++ b/FGR_T0401.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0401(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "Niñas y niños pasajeros!" self.estado = False @@ -211,6 +212,7 @@ class FGR_T0401(gtk.Widget): self.fondo1, self.fondo2= G.get_Fondos_FGR_T0401() self.textos= Textos_Intro() self.botonesmenu= ButtonsMenu(self) + from Globals import Controles self.controles= Controles(self) self.seniales= Seniales(self) self.sonido_error, self.sonido_exito= G.get_Sonidos() @@ -332,159 +334,9 @@ class FGR_T0401(gtk.Widget): # ----------- EVENTOS en JUEGO --------------- def salir(self, valor= None): - ''' - if valor: self.estado= True - if not valor: self.estado= False - pygame.mixer.music.unpause() - self.seniales.empty() - self.controles.empty()''' self.estado = False self.emit("run_grupo", "grupo4", self.puntos) -# -------- CONTROLES ---------- -class Controles(pygame.sprite.OrderedUpdates): - def __init__(self, main): - pygame.sprite.OrderedUpdates.__init__(self) - self.main= main - self.flecha= None - self.titulo= None - self.puntaje= None - self.cronometro= None - self.recuadro_select= None - self.progress_reloj= None - self.sonidos_reloj= None - - self.load_sprites() - - def load_sprites(self): - imagen= G.get_Flecha() - self.flecha= JAMButton("",None) - self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) - self.flecha.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) - self.flecha.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1) - self.flecha.set_posicion(punto= (10,10)) - self.flecha.connect (callback= self.main.run_dialog_game) - self.add(self.flecha) - - x,y= self.flecha.posicion - w,h= self.flecha.get_tamanio() - x+= w - ancho= G.RESOLUCION[0]/2 - x - cartel_titulo= pygame.sprite.Sprite() - cartel_titulo.image= G.get_Imagen_Cartel1() - cartel_titulo.image= pygame.transform.scale(cartel_titulo.image.copy(), (ancho,cartel_titulo.image.get_size()[1])) - cartel_titulo.rect= cartel_titulo.image.get_rect() - cartel_titulo.rect.x= x - cartel_titulo.rect.y= -60 - self.add(cartel_titulo) - - self.titulo= JAMLabel(self.main.nombre) - self.titulo.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.titulo.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - x,y= (cartel_titulo.rect.x + 50, 10) - self.titulo.set_posicion(punto= (x,y)) - self.add(self.titulo) - - self.puntaje= JAMLabel("%s" %(self.main.puntos)) - self.puntaje.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.puntaje.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - self.add(self.puntaje) - - self.sonidos_reloj= G.get_sound_clock() - - from BiblioJAM.JAMCron import JAMCron - self.cronometro= JAMCron() - x,y= (0-self.cronometro.cron.rect.w-1, 0-self.cronometro.cron.rect.h-1) - self.cronometro.cron.set_posicion(punto= (x,y)) - self.cronometro.set_callback(self.main.game_over) - self.cronometro.set_alarma(tiempo= (1,0), duracion= 3) - self.add(self.cronometro) - - self.progress_reloj= ProgressBar(self.main) - self.add(self.progress_reloj) - - def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) - self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) - self.puntaje.set_posicion(punto= (x,y)) - - def switching_game(self, button): - self.main.estado= "Intro" - return self.main.run() - - def init(self): - sound= self.sonidos_reloj[0] - self.cronometro.set_sound(sound) - self.cronometro.reset() - self.actualiza_puntos() - self.cronometro.play() - def stop(self): - self.cronometro.pause() - def play(self): - self.cronometro.play() - -class ProgressBar(pygame.sprite.Sprite): - def __init__(self, main): - pygame.sprite.Sprite.__init__(self) - self.main= main - self.acumula= 0 - - w,h= G.RESOLUCION - self.tamanio= (w/2-10,10) - self.posicion= (w/2,10) - - rect1= JAMG.get_Rectangulo( JAMG.get_verde1(), self.tamanio) - w,y= rect1.get_size() - a= w/6*3 - rect2= JAMG.get_Rectangulo( JAMG.get_amarillo1(), (a,self.tamanio[1])) - imagen= JAMG.pegar_imagenes_alineado_derecha(rect2, rect1) - a= w/6 - rect3= JAMG.get_Rectangulo( JAMG.get_rojo1(), (a,self.tamanio[1])) - self.imagen_original= JAMG.pegar_imagenes_alineado_derecha(rect3, imagen) - - self.image= self.imagen_original.copy() - self.rect= self.image.get_rect() - self.rect.x, self.rect.y= self.posicion - - def update(self): - tiempo= self.main.controles.cronometro.cron.segundos_final - transcurridos= self.main.controles.cronometro.get_tiempo_transcurrido() - faltan= self.main.controles.cronometro.cron.segundos_faltan - mitad= tiempo/2 - cuarto= tiempo/4 - if faltan <= mitad: - if faltan > cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[1]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[1]) - self.main.controles.play() - elif faltan <= cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[2]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[2]) - self.main.controles.play() - - ancho, alto= self.tamanio - ind= float(float(ancho)/float(self.main.controles.cronometro.cron.segundos_final)) - ancho= float(float(ancho)- float(self.main.controles.cronometro.get_tiempo_transcurrido())*ind) - dif= float(float(self.tamanio[0]) - float(ancho)) - try: - self.image= self.imagen_original.copy().subsurface((dif,0,int(ancho), int(alto))) - except: - self.image= self.imagen_original.copy().subsurface((dif,0,0,0)) - - self.rect= self.image.get_rect() - x,y= self.posicion - x+= dif - self.rect.x, self.rect.y= (x,y) -# -------- CONTROLES ---------- - # -------- SEÑALES ---------- class Seniales(pygame.sprite.OrderedUpdates): ''' Grupo de Señales. ''' diff --git a/FGR_T0402.py b/FGR_T0402.py index 7b958e2..1972e86 100644 --- a/FGR_T0402.py +++ b/FGR_T0402.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0402(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "¡Pasajeros sin responsabilidad ciudadana!" self.estado = False @@ -215,6 +216,7 @@ class FGR_T0402(gtk.Widget): self.fondo1, self.fondo2= G.get_Fondos_FGR_T0402() self.textos= Textos_Intro() self.botonesmenu= ButtonsMenu(self) + from Globals import Controles self.controles= Controles(self) self.seniales= Seniales(self) self.sonido_error, self.sonido_exito= G.get_Sonidos() @@ -336,159 +338,9 @@ class FGR_T0402(gtk.Widget): # ----------- EVENTOS en JUEGO --------------- def salir(self, valor= None): - ''' - if valor: self.estado= True - if not valor: self.estado= False - pygame.mixer.music.unpause() - self.seniales.empty() - self.controles.empty()''' self.estado = False self.emit("run_grupo", "grupo4", self.puntos) -# -------- CONTROLES ---------- -class Controles(pygame.sprite.OrderedUpdates): - def __init__(self, main): - pygame.sprite.OrderedUpdates.__init__(self) - self.main= main - self.flecha= None - self.titulo= None - self.puntaje= None - self.cronometro= None - self.recuadro_select= None - self.progress_reloj= None - self.sonidos_reloj= None - - self.load_sprites() - - def load_sprites(self): - imagen= G.get_Flecha() - self.flecha= JAMButton("",None) - self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) - self.flecha.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) - self.flecha.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1) - self.flecha.set_posicion(punto= (10,10)) - self.flecha.connect (callback= self.main.run_dialog_game) - self.add(self.flecha) - - x,y= self.flecha.posicion - w,h= self.flecha.get_tamanio() - x+= w - ancho= G.RESOLUCION[0]/2 - x - cartel_titulo= pygame.sprite.Sprite() - cartel_titulo.image= G.get_Imagen_Cartel1() - cartel_titulo.image= pygame.transform.scale(cartel_titulo.image.copy(), (ancho,cartel_titulo.image.get_size()[1])) - cartel_titulo.rect= cartel_titulo.image.get_rect() - cartel_titulo.rect.x= x - cartel_titulo.rect.y= -60 - self.add(cartel_titulo) - - self.titulo= JAMLabel(self.main.nombre) - self.titulo.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.titulo.set_font_from_file(fuente, tamanio= 25) - w,h= G.RESOLUCION - x,y= (cartel_titulo.rect.x + 50, 10) - self.titulo.set_posicion(punto= (x,y)) - self.add(self.titulo) - - self.puntaje= JAMLabel("%s" %(self.main.puntos)) - self.puntaje.set_text(color=JAMG.get_negro()) - fuente, tamanio= JAMG.get_Font_fawn() - self.puntaje.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - self.add(self.puntaje) - - self.sonidos_reloj= G.get_sound_clock() - - from BiblioJAM.JAMCron import JAMCron - self.cronometro= JAMCron() - x,y= (0-self.cronometro.cron.rect.w-1, 0-self.cronometro.cron.rect.h-1) - self.cronometro.cron.set_posicion(punto= (x,y)) - self.cronometro.set_callback(self.main.game_over) - self.cronometro.set_alarma(tiempo= (1,0), duracion= 3) - self.add(self.cronometro) - - self.progress_reloj= ProgressBar(self.main) - self.add(self.progress_reloj) - - def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) - self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) - self.puntaje.set_posicion(punto= (x,y)) - - def switching_game(self, button): - self.main.estado= "Intro" - return self.main.run() - - def init(self): - sound= self.sonidos_reloj[0] - self.cronometro.set_sound(sound) - self.cronometro.reset() - self.actualiza_puntos() - self.cronometro.play() - def stop(self): - self.cronometro.pause() - def play(self): - self.cronometro.play() - -class ProgressBar(pygame.sprite.Sprite): - def __init__(self, main): - pygame.sprite.Sprite.__init__(self) - self.main= main - self.acumula= 0 - - w,h= G.RESOLUCION - self.tamanio= (w/2-10,10) - self.posicion= (w/2,10) - - rect1= JAMG.get_Rectangulo( JAMG.get_verde1(), self.tamanio) - w,y= rect1.get_size() - a= w/6*3 - rect2= JAMG.get_Rectangulo( JAMG.get_amarillo1(), (a,self.tamanio[1])) - imagen= JAMG.pegar_imagenes_alineado_derecha(rect2, rect1) - a= w/6 - rect3= JAMG.get_Rectangulo( JAMG.get_rojo1(), (a,self.tamanio[1])) - self.imagen_original= JAMG.pegar_imagenes_alineado_derecha(rect3, imagen) - - self.image= self.imagen_original.copy() - self.rect= self.image.get_rect() - self.rect.x, self.rect.y= self.posicion - - def update(self): - tiempo= self.main.controles.cronometro.cron.segundos_final - transcurridos= self.main.controles.cronometro.get_tiempo_transcurrido() - faltan= self.main.controles.cronometro.cron.segundos_faltan - mitad= tiempo/2 - cuarto= tiempo/4 - if faltan <= mitad: - if faltan > cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[1]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[1]) - self.main.controles.play() - elif faltan <= cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[2]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[2]) - self.main.controles.play() - - ancho, alto= self.tamanio - ind= float(float(ancho)/float(self.main.controles.cronometro.cron.segundos_final)) - ancho= float(float(ancho)- float(self.main.controles.cronometro.get_tiempo_transcurrido())*ind) - dif= float(float(self.tamanio[0]) - float(ancho)) - try: - self.image= self.imagen_original.copy().subsurface((dif,0,int(ancho), int(alto))) - except: - self.image= self.imagen_original.copy().subsurface((dif,0,0,0)) - - self.rect= self.image.get_rect() - x,y= self.posicion - x+= dif - self.rect.x, self.rect.y= (x,y) -# -------- CONTROLES ---------- - # -------- SEÑALES ---------- class Seniales(pygame.sprite.OrderedUpdates): ''' Grupo de Señales. ''' diff --git a/FGR_T0501.py b/FGR_T0501.py index 5fdc7ef..27debbb 100644 --- a/FGR_T0501.py +++ b/FGR_T0501.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0501(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "Paseando en Familia" self.estado = False @@ -211,6 +212,7 @@ class FGR_T0501(gtk.Widget): self.fondo1, self.fondo2= G.get_Fondos_FGR_T0501() self.textos= Textos_Intro() self.botonesmenu= ButtonsMenu(self) + from Globals import Controles self.controles= Controles(self) self.seniales= Seniales(self) self.sonido_error, self.sonido_exito= G.get_Sonidos() @@ -333,159 +335,9 @@ class FGR_T0501(gtk.Widget): # ----------- EVENTOS en JUEGO --------------- def salir(self, valor= None): - ''' - if valor: self.estado= True - if not valor: self.estado= False - pygame.mixer.music.unpause() - self.seniales.empty() - self.controles.empty()''' self.estado = False self.emit("run_grupo", "grupo5", self.puntos) -# -------- CONTROLES ---------- -class Controles(pygame.sprite.OrderedUpdates): - def __init__(self, main): - pygame.sprite.OrderedUpdates.__init__(self) - self.main= main - self.flecha= None - self.titulo= None - self.puntaje= None - self.cronometro= None - self.recuadro_select= None - self.progress_reloj= None - self.sonidos_reloj= None - - self.load_sprites() - - def load_sprites(self): - imagen= G.get_Flecha() - self.flecha= JAMButton("",None) - self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) - self.flecha.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) - self.flecha.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1) - self.flecha.set_posicion(punto= (10,10)) - self.flecha.connect (callback= self.main.run_dialog_game) - self.add(self.flecha) - - x,y= self.flecha.posicion - w,h= self.flecha.get_tamanio() - x+= w - ancho= G.RESOLUCION[0]/2 - x - cartel_titulo= pygame.sprite.Sprite() - cartel_titulo.image= G.get_Imagen_Cartel1() - cartel_titulo.image= pygame.transform.scale(cartel_titulo.image.copy(), (ancho,cartel_titulo.image.get_size()[1])) - cartel_titulo.rect= cartel_titulo.image.get_rect() - cartel_titulo.rect.x= x - cartel_titulo.rect.y= -60 - self.add(cartel_titulo) - - self.titulo= JAMLabel(self.main.nombre) - self.titulo.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.titulo.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - x,y= (cartel_titulo.rect.x + 50, 10) - self.titulo.set_posicion(punto= (x,y)) - self.add(self.titulo) - - self.puntaje= JAMLabel("%s" %(self.main.puntos)) - self.puntaje.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.puntaje.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - self.add(self.puntaje) - - self.sonidos_reloj= G.get_sound_clock() - - from BiblioJAM.JAMCron import JAMCron - self.cronometro= JAMCron() - x,y= (0-self.cronometro.cron.rect.w-1, 0-self.cronometro.cron.rect.h-1) - self.cronometro.cron.set_posicion(punto= (x,y)) - self.cronometro.set_callback(self.main.game_over) - self.cronometro.set_alarma(tiempo= (1,0), duracion= 3) - self.add(self.cronometro) - - self.progress_reloj= ProgressBar(self.main) - self.add(self.progress_reloj) - - def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) - self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) - self.puntaje.set_posicion(punto= (x,y)) - - def switching_game(self, button): - self.main.estado= "Intro" - return self.main.run() - - def init(self): - sound= self.sonidos_reloj[0] - self.cronometro.set_sound(sound) - self.cronometro.reset() - self.actualiza_puntos() - self.cronometro.play() - def stop(self): - self.cronometro.pause() - def play(self): - self.cronometro.play() - -class ProgressBar(pygame.sprite.Sprite): - def __init__(self, main): - pygame.sprite.Sprite.__init__(self) - self.main= main - self.acumula= 0 - - w,h= G.RESOLUCION - self.tamanio= (w/2-10,10) - self.posicion= (w/2,10) - - rect1= JAMG.get_Rectangulo( JAMG.get_verde1(), self.tamanio) - w,y= rect1.get_size() - a= w/6*3 - rect2= JAMG.get_Rectangulo( JAMG.get_amarillo1(), (a,self.tamanio[1])) - imagen= JAMG.pegar_imagenes_alineado_derecha(rect2, rect1) - a= w/6 - rect3= JAMG.get_Rectangulo( JAMG.get_rojo1(), (a,self.tamanio[1])) - self.imagen_original= JAMG.pegar_imagenes_alineado_derecha(rect3, imagen) - - self.image= self.imagen_original.copy() - self.rect= self.image.get_rect() - self.rect.x, self.rect.y= self.posicion - - def update(self): - tiempo= self.main.controles.cronometro.cron.segundos_final - transcurridos= self.main.controles.cronometro.get_tiempo_transcurrido() - faltan= self.main.controles.cronometro.cron.segundos_faltan - mitad= tiempo/2 - cuarto= tiempo/4 - if faltan <= mitad: - if faltan > cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[1]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[1]) - self.main.controles.play() - elif faltan <= cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[2]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[2]) - self.main.controles.play() - - ancho, alto= self.tamanio - ind= float(float(ancho)/float(self.main.controles.cronometro.cron.segundos_final)) - ancho= float(float(ancho)- float(self.main.controles.cronometro.get_tiempo_transcurrido())*ind) - dif= float(float(self.tamanio[0]) - float(ancho)) - try: - self.image= self.imagen_original.copy().subsurface((dif,0,int(ancho), int(alto))) - except: - self.image= self.imagen_original.copy().subsurface((dif,0,0,0)) - - self.rect= self.image.get_rect() - x,y= self.posicion - x+= dif - self.rect.x, self.rect.y= (x,y) -# -------- CONTROLES ---------- - # -------- SEÑALES ---------- class Seniales(pygame.sprite.OrderedUpdates): ''' Grupo de Señales. ''' diff --git a/FGR_T0502.py b/FGR_T0502.py index 5e39ca8..09dc9eb 100644 --- a/FGR_T0502.py +++ b/FGR_T0502.py @@ -23,8 +23,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0502(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.nombre = "Memory" self.ventana = None self.estado = False @@ -227,6 +228,7 @@ class FGR_T0502(gtk.Widget): self.fondo2 = JAMG.pegar_imagenes_centradas(self.fondo2, self.fondo1.copy()) self.textos = Textos_Intro() self.botonesmenu = ButtonsMenu(self) + from Globals import Controles self.controles = Controles(self) self.seniales = Seniales(self) self.sonido_error, self.sonido_exito = G.get_Sonidos() @@ -242,7 +244,7 @@ class FGR_T0502(gtk.Widget): return self.run_dialog_intro(None) def run_Instruc(self): - self.fondo = G.get_instruc("101") + self.fondo = G.get_instruc("502") self.ventana.blit(self.fondo, (0,0)) self.botonesmenu.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) @@ -352,6 +354,7 @@ class FGR_T0502(gtk.Widget): self.emit("run_grupo", "grupo5", self.puntos) # -------- CONTROLES ---------- +''' class Controles(pygame.sprite.OrderedUpdates): def __init__(self, main): pygame.sprite.OrderedUpdates.__init__(self) @@ -362,10 +365,23 @@ class Controles(pygame.sprite.OrderedUpdates): self.cronometro = None self.progress_reloj = None self.sonidos_reloj = None + self.user = None self.load_sprites() def load_sprites(self): + imagen = self.main.usuario['personaje'] + self.user = JAMButton(self.main.usuario['nombre'],None) + self.user.set_imagen(origen = imagen, tamanio = (60,60)) + self.user.set_colores(colorbas = (0,153,255,255), + colorbor = (0,153,255,255), colorcara = (0,153,255,255)) + self.user.set_tamanios(tamanio = (80,80), grosorbor = 1, detalle = 1, espesor = 1) + ww, hh = self.user.get_tamanio() + w,h = G.RESOLUCION + self.user.set_posicion(punto = (w - ww - 10, 25)) + self.user.connect(callback = None, sonido_select = None) + self.add(self.user) + imagen= G.get_Flecha() self.flecha= JAMButton("",None) self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) @@ -417,10 +433,11 @@ class Controles(pygame.sprite.OrderedUpdates): self.add(self.progress_reloj) def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) + puntos = "%s" %(self.main.puntos) self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) + x,y = self.user.get_posicion() + w,h = self.puntaje.get_tamanio() + x -= w+10 self.puntaje.set_posicion(punto= (x,y)) def switching_game(self, button): @@ -486,7 +503,7 @@ class ProgressBar(pygame.sprite.Sprite): self.rect = self.image.get_rect() x,y = self.posicion x += dif - self.rect.x, self.rect.y= (x,y) + self.rect.x, self.rect.y= (x,y)''' # -------- CONTROLES ---------- # -------- SEÑALES ---------- @@ -548,20 +565,22 @@ class Seniales(pygame.sprite.OrderedUpdates): class Senial(JAMButton): def __init__(self, senial): JAMButton.__init__(self, '',None) - self.imagen2, self.nombre = senial - self.imagen1 = os.path.join(G.IMAGENES, "FGR_T0502", "memory_logo.jpg") + imagen2, self.nombre = senial + imagen1 = os.path.join(G.IMAGENES, "FGR_T0502", "memory_logo.jpg") + self.set_imagen(origen = imagen1, tamanio=(175, 175)) self.set_tamanios(tamanio = (175, 175), grosorbor=1, detalle=1, espesor=1) + self.imagen1 = pygame.transform.scale(pygame.image.load(imagen1),(175, 175)) + self.imagen2 = pygame.transform.scale(pygame.image.load(imagen2),(175, 175)) self.reset() - def reset(self): - self.set_imagen(origen = self.imagen1, tamanio=(175, 175)) - self.set_colores(colorbas = (255,255,255,255), - colorbor = (255,255,255,255), colorcara = (0,153,255,255)) - + self.final_unselect = self.imagen1.copy() + self.final_select = JAMG.get_my_surface_whit_border(self.imagen1.copy(), (255,255,255,255), 10) + self.image = self.final_unselect def seleccionar(self): - self.set_imagen(origen = self.imagen2, tamanio=(175, 175)) - self.set_colores(colorbas = (0,153,255,255), - colorbor = (0,153,255,255), colorcara = (0,153,255,255)) + self.final_unselect = self.imagen2.copy() + self.final_select = self.imagen2.copy() + self.image = self.final_unselect + # -------- SEÑALES ---------- # --------- TEXTOS ---------------- diff --git a/FGR_T0503.py b/FGR_T0503.py index a8488fd..f06d00c 100644 --- a/FGR_T0503.py +++ b/FGR_T0503.py @@ -23,8 +23,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0503(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "Paseando en Familia." self.estado = False @@ -229,6 +230,7 @@ class FGR_T0503(gtk.Widget): self.fondo1, self.fondo2= G.get_Fondos_FGR_T0503() self.textos= Textos_Intro() self.botonesmenu= ButtonsMenu(self) + from Globals import Controles self.controles= Controles(self) self.seniales= Seniales(self) #self.carteles= Carteles(self) @@ -245,7 +247,7 @@ class FGR_T0503(gtk.Widget): return self.run_dialog_intro(None) def run_Instruc(self): - self.fondo= G.get_instruc("301") + self.fondo= G.get_instruc("503") self.ventana.blit(self.fondo, (0,0)) self.botonesmenu.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) @@ -352,143 +354,6 @@ class FGR_T0503(gtk.Widget): self.estado = False self.emit("run_grupo", "grupo5", self.puntos) -# -------- CONTROLES ---------- -class Controles(pygame.sprite.OrderedUpdates): - def __init__(self, main): - pygame.sprite.OrderedUpdates.__init__(self) - self.main= main - self.flecha= None - self.titulo= None - self.puntaje= None - self.cronometro= None - self.progress_reloj= None - self.sonidos_reloj= None - self.load_sprites() - - def load_sprites(self): - imagen= G.get_Flecha() - self.flecha= JAMButton("",None) - self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) - self.flecha.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) - self.flecha.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1) - self.flecha.set_posicion(punto= (10,10)) - self.flecha.connect (callback= self.main.run_dialog_game) - self.add(self.flecha) - - x,y= self.flecha.posicion - w,h= self.flecha.get_tamanio() - x+= w - ancho= G.RESOLUCION[0]/2 - x - cartel_titulo= pygame.sprite.Sprite() - cartel_titulo.image= G.get_Imagen_Cartel1() - cartel_titulo.image= pygame.transform.scale(cartel_titulo.image.copy(), (ancho,cartel_titulo.image.get_size()[1])) - cartel_titulo.rect= cartel_titulo.image.get_rect() - cartel_titulo.rect.x= x - cartel_titulo.rect.y= -60 - self.add(cartel_titulo) - - self.titulo= JAMLabel(self.main.nombre) - self.titulo.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.titulo.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - x,y= (cartel_titulo.rect.x + 50, 10) - self.titulo.set_posicion(punto= (x,y)) - self.add(self.titulo) - - self.puntaje= JAMLabel("%s" %(self.main.puntos)) - self.puntaje.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.puntaje.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - self.add(self.puntaje) - - self.sonidos_reloj= G.get_sound_clock() - - from BiblioJAM.JAMCron import JAMCron - self.cronometro= JAMCron() - x,y= (0-self.cronometro.cron.rect.w-1, 0-self.cronometro.cron.rect.h-1) - self.cronometro.cron.set_posicion(punto= (x,y)) - self.cronometro.set_callback(self.main.game_over) - self.cronometro.set_alarma(tiempo= (1,40), duracion= 3) - self.add(self.cronometro) - - self.progress_reloj= ProgressBar(self.main) - self.add(self.progress_reloj) - - def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) - self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) - self.puntaje.set_posicion(punto= (x,y)) - - def switching_game(self, button): - self.main.estado= "Intro" - return self.main.run() - - def init(self): - sound= self.sonidos_reloj[0] - self.cronometro.set_sound(sound) - self.cronometro.reset() - self.actualiza_puntos() - self.cronometro.play() - def stop(self): - self.cronometro.pause() - def play(self): - self.cronometro.play() - -class ProgressBar(pygame.sprite.Sprite): - def __init__(self, main): - pygame.sprite.Sprite.__init__(self) - self.main= main - self.acumula= 0 - w,h= G.RESOLUCION - self.tamanio= (w/2-10,10) - self.posicion= (w/2,10) - rect1= JAMG.get_Rectangulo( JAMG.get_verde1(), self.tamanio) - w,y= rect1.get_size() - a= w/6*3 - rect2= JAMG.get_Rectangulo( JAMG.get_amarillo1(), (a,self.tamanio[1])) - imagen= JAMG.pegar_imagenes_alineado_derecha(rect2, rect1) - a= w/6 - rect3= JAMG.get_Rectangulo( JAMG.get_rojo1(), (a,self.tamanio[1])) - self.imagen_original= JAMG.pegar_imagenes_alineado_derecha(rect3, imagen) - self.image= self.imagen_original.copy() - self.rect= self.image.get_rect() - self.rect.x, self.rect.y= self.posicion - - def update(self): - tiempo= self.main.controles.cronometro.cron.segundos_final - transcurridos= self.main.controles.cronometro.get_tiempo_transcurrido() - faltan= self.main.controles.cronometro.cron.segundos_faltan - mitad= tiempo/2 - cuarto= tiempo/4 - if faltan <= mitad: - if faltan > cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[1]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[1]) - self.main.controles.play() - elif faltan <= cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[2]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[2]) - self.main.controles.play() - ancho, alto= self.tamanio - ind= float(float(ancho)/float(self.main.controles.cronometro.cron.segundos_final)) - ancho= float(float(ancho)- float(self.main.controles.cronometro.get_tiempo_transcurrido())*ind) - dif= float(float(self.tamanio[0]) - float(ancho)) - try: - self.image= self.imagen_original.copy().subsurface((dif,0,int(ancho), int(alto))) - except: - self.image= self.imagen_original.copy().subsurface((dif,0,0,0)) - self.rect= self.image.get_rect() - x,y= self.posicion - x+= dif - self.rect.x, self.rect.y= (x,y) -# -------- CONTROLES ---------- - # -------- SOPADELETRAS ---------- class Seniales(pygame.sprite.OrderedUpdates): def __init__(self, main): diff --git a/FGR_T0504.py b/FGR_T0504.py index d54a008..c753c27 100644 --- a/FGR_T0504.py +++ b/FGR_T0504.py @@ -22,8 +22,9 @@ import BiblioJAM.JAMGlobals as JAMG class FGR_T0504(gtk.Widget): __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} - def __init__(self): + def __init__(self, usuario): gtk.Widget.__init__(self) + self.usuario = usuario self.ventana = None self.nombre = "Seré Conductor" self.estado = False @@ -214,6 +215,7 @@ class FGR_T0504(gtk.Widget): self.fondo1, self.fondo2= G.get_Fondos_FGR_T0301() self.textos= Textos_Intro() self.botonesmenu= ButtonsMenu(self) + from Globals import Controles self.controles= Controles(self) #self.seniales= SopadeLetras(self) #self.carteles= Carteles(self) @@ -230,7 +232,7 @@ class FGR_T0504(gtk.Widget): return self.run_dialog_intro(None) def run_Instruc(self): - self.fondo= G.get_instruc("301") + self.fondo= G.get_instruc("504") self.ventana.blit(self.fondo, (0,0)) self.botonesmenu.draw(self.ventana) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) @@ -339,149 +341,6 @@ class FGR_T0504(gtk.Widget): self.estado = False self.emit("run_grupo", "grupo5", self.puntos) -# -------- CONTROLES ---------- -class Controles(pygame.sprite.OrderedUpdates): - def __init__(self, main): - pygame.sprite.OrderedUpdates.__init__(self) - self.main= main - self.flecha= None - self.titulo= None - self.puntaje= None - self.cronometro= None - self.progress_reloj= None - self.sonidos_reloj= None - - self.load_sprites() - - def load_sprites(self): - imagen= G.get_Flecha() - self.flecha= JAMButton("",None) - self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) - self.flecha.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) - self.flecha.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1) - self.flecha.set_posicion(punto= (10,10)) - self.flecha.connect (callback= self.main.run_dialog_game) - self.add(self.flecha) - - x,y= self.flecha.posicion - w,h= self.flecha.get_tamanio() - x+= w - ancho= G.RESOLUCION[0]/2 - x - cartel_titulo= pygame.sprite.Sprite() - cartel_titulo.image= G.get_Imagen_Cartel1() - cartel_titulo.image= pygame.transform.scale(cartel_titulo.image.copy(), (ancho,cartel_titulo.image.get_size()[1])) - cartel_titulo.rect= cartel_titulo.image.get_rect() - cartel_titulo.rect.x= x - cartel_titulo.rect.y= -60 - self.add(cartel_titulo) - - self.titulo= JAMLabel(self.main.nombre) - self.titulo.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.titulo.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - x,y= (cartel_titulo.rect.x + 50, 10) - self.titulo.set_posicion(punto= (x,y)) - self.add(self.titulo) - - self.puntaje= JAMLabel("%s" %(self.main.puntos)) - self.puntaje.set_text(color=JAMG.get_blanco()) - fuente, tamanio= JAMG.get_Font_fawn() - self.puntaje.set_font_from_file(fuente, tamanio= 40) - w,h= G.RESOLUCION - self.add(self.puntaje) - - self.sonidos_reloj= G.get_sound_clock() - - from BiblioJAM.JAMCron import JAMCron - self.cronometro= JAMCron() - x,y= (0-self.cronometro.cron.rect.w-1, 0-self.cronometro.cron.rect.h-1) - self.cronometro.cron.set_posicion(punto= (x,y)) - self.cronometro.set_callback(self.main.game_over) - self.cronometro.set_alarma(tiempo= (1,40), duracion= 3) - self.add(self.cronometro) - - self.progress_reloj= ProgressBar(self.main) - self.add(self.progress_reloj) - - def actualiza_puntos(self): - puntos= "%s" %(self.main.puntos) - self.puntaje.set_text(texto= puntos) - w,h= G.RESOLUCION - x,y= (w-self.puntaje.rect.w-20, 25) - self.puntaje.set_posicion(punto= (x,y)) - - def switching_game(self, button): - self.main.estado= "Intro" - return self.main.run() - - def init(self): - sound= self.sonidos_reloj[0] - self.cronometro.set_sound(sound) - self.cronometro.reset() - self.actualiza_puntos() - self.cronometro.play() - def stop(self): - self.cronometro.pause() - def play(self): - self.cronometro.play() - -class ProgressBar(pygame.sprite.Sprite): - def __init__(self, main): - pygame.sprite.Sprite.__init__(self) - self.main= main - self.acumula= 0 - - w,h= G.RESOLUCION - self.tamanio= (w/2-10,10) - self.posicion= (w/2,10) - - rect1= JAMG.get_Rectangulo( JAMG.get_verde1(), self.tamanio) - w,y= rect1.get_size() - a= w/6*3 - rect2= JAMG.get_Rectangulo( JAMG.get_amarillo1(), (a,self.tamanio[1])) - imagen= JAMG.pegar_imagenes_alineado_derecha(rect2, rect1) - a= w/6 - rect3= JAMG.get_Rectangulo( JAMG.get_rojo1(), (a,self.tamanio[1])) - self.imagen_original= JAMG.pegar_imagenes_alineado_derecha(rect3, imagen) - - self.image= self.imagen_original.copy() - self.rect= self.image.get_rect() - self.rect.x, self.rect.y= self.posicion - - def update(self): - tiempo= self.main.controles.cronometro.cron.segundos_final - transcurridos= self.main.controles.cronometro.get_tiempo_transcurrido() - faltan= self.main.controles.cronometro.cron.segundos_faltan - mitad= tiempo/2 - cuarto= tiempo/4 - if faltan <= mitad: - if faltan > cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[1]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[1]) - self.main.controles.play() - elif faltan <= cuarto: - if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[2]: - self.main.controles.stop() - self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[2]) - self.main.controles.play() - - ancho, alto= self.tamanio - ind= float(float(ancho)/float(self.main.controles.cronometro.cron.segundos_final)) - ancho= float(float(ancho)- float(self.main.controles.cronometro.get_tiempo_transcurrido())*ind) - dif= float(float(self.tamanio[0]) - float(ancho)) - try: - self.image= self.imagen_original.copy().subsurface((dif,0,int(ancho), int(alto))) - except: - self.image= self.imagen_original.copy().subsurface((dif,0,0,0)) - - self.rect= self.image.get_rect() - x,y= self.posicion - x+= dif - self.rect.x, self.rect.y= (x,y) -# -------- CONTROLES ---------- - # -------- SOPADELETRAS ---------- ''' class SopadeLetras(pygame.sprite.OrderedUpdates): diff --git a/Globals.py b/Globals.py index 73556de..40d2479 100644 --- a/Globals.py +++ b/Globals.py @@ -18,6 +18,11 @@ import shelve from pygame.locals import * gc.enable() +import BiblioJAM +from BiblioJAM.JAMButton import JAMButton +from BiblioJAM.JAMLabel import JAMLabel +import BiblioJAM.JAMGlobals as JAMG + GRIS = gtk.gdk.Color(60156, 60156, 60156, 1) AMARILLO1 = gtk.gdk.Color(65000,65000,40275,1) NARANJA = gtk.gdk.Color(65000,26000,0,1) @@ -120,7 +125,6 @@ def get_sound_clock(): def get_instruc(name): imagen = os.path.join(IMAGENES, "Instructivos/%s.jpg" % (name)) return pygame.transform.scale(pygame.image.load(imagen), RESOLUCION) - #return pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/Instructivos/%s.jpg" % (name)), RESOLUCION) def get_Presentacion(): directorio = os.path.join(IMAGENES, "Presentacion") imagenes = [] @@ -802,7 +806,7 @@ def get_Fondos_FGR_T0503(): return (fondo1, fondo2) def get_Texto_FGR_T0503(): return [ - "1- Papa y mama lo usan cuando cae el sol para", + "1- Papá y mamá lo usan cuando cae el sol para", " ir en moto o caminar por la ruta", "2- Cuando vamos de paseo, mamá y papá nunca", " lo olvidan, pero en el auto, no lo usan JAMÁS!", @@ -820,3 +824,153 @@ def get_Texto_FGR_T0503(): "8- En el auto y en mi bicicleta, debo", " asegurarme que funcione correctamente la . . ."] +class Controles(pygame.sprite.OrderedUpdates): + def __init__(self, main): + pygame.sprite.OrderedUpdates.__init__(self) + self.main = main + self.flecha = None + self.titulo = None + self.puntaje = None + self.cronometro = None + self.progress_reloj = None + self.sonidos_reloj = None + self.user = None + + self.load_sprites() + + def load_sprites(self): + imagen = self.main.usuario['personaje'] + self.user = JAMButton(self.main.usuario['nombre'],None) + self.user.set_imagen(origen = imagen, tamanio = (60,60)) + self.user.set_colores(colorbas = (0,153,255,255), + colorbor = (0,153,255,255), colorcara = (0,153,255,255)) + self.user.set_tamanios(tamanio = (80,80), grosorbor = 1, detalle = 1, espesor = 1) + ww, hh = self.user.get_tamanio() + w,h = RESOLUCION + self.user.set_posicion(punto = (w - ww - 10, 25)) + self.user.connect(callback = None, sonido_select = None) + self.add(self.user) + + imagen= get_Flecha() + self.flecha= JAMButton("",None) + self.flecha.set_imagen(origen= imagen, tamanio=(100,55)) + self.flecha.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro()) + self.flecha.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1) + self.flecha.set_posicion(punto= (10,10)) + self.flecha.connect (callback= self.main.run_dialog_game) + self.add(self.flecha) + + x,y= self.flecha.posicion + w,h= self.flecha.get_tamanio() + x+= w + ancho= RESOLUCION[0]/2 - x + cartel_titulo= pygame.sprite.Sprite() + cartel_titulo.image= get_Imagen_Cartel1() + cartel_titulo.image= pygame.transform.scale(cartel_titulo.image.copy(), (ancho,cartel_titulo.image.get_size()[1])) + cartel_titulo.rect= cartel_titulo.image.get_rect() + cartel_titulo.rect.x= x + cartel_titulo.rect.y= -60 + self.add(cartel_titulo) + + self.titulo= JAMLabel(self.main.nombre) + self.titulo.set_text(color=JAMG.get_blanco()) + fuente, tamanio= JAMG.get_Font_fawn() + self.titulo.set_font_from_file(fuente, tamanio= 40) + w,h= RESOLUCION + x,y= (cartel_titulo.rect.x + 50, 10) + self.titulo.set_posicion(punto= (x,y)) + self.add(self.titulo) + + self.puntaje= JAMLabel("%s" %(self.main.puntos)) + self.puntaje.set_text(color=JAMG.get_blanco()) + fuente, tamanio= JAMG.get_Font_fawn() + self.puntaje.set_font_from_file(fuente, tamanio= 40) + w,h= RESOLUCION + self.add(self.puntaje) + + self.sonidos_reloj= get_sound_clock() + + from BiblioJAM.JAMCron import JAMCron + self.cronometro= JAMCron() + x,y= (0-self.cronometro.cron.rect.w-1, 0-self.cronometro.cron.rect.h-1) + self.cronometro.cron.set_posicion(punto= (x,y)) + self.cronometro.set_callback(self.main.game_over) + self.cronometro.set_alarma(tiempo = (1,30), duracion = 3) + self.add(self.cronometro) + + self.progress_reloj= ProgressBar(self.main) + self.add(self.progress_reloj) + + def actualiza_puntos(self): + puntos = "%s" %(self.main.puntos) + self.puntaje.set_text(texto= puntos) + x,y = self.user.get_posicion() + w,h = self.puntaje.get_tamanio() + x -= w+10 + self.puntaje.set_posicion(punto= (x,y)) + + def switching_game(self, button): + self.main.estado= "Intro" + return self.main.run() + + def init(self): + sound= self.sonidos_reloj[0] + self.cronometro.set_sound(sound) + self.cronometro.reset() + self.actualiza_puntos() + self.cronometro.play() + def stop(self): + self.cronometro.pause() + def play(self): + self.cronometro.play() + +class ProgressBar(pygame.sprite.Sprite): + def __init__(self, main): + pygame.sprite.Sprite.__init__(self) + self.main = main + self.acumula = 0 + w,h = RESOLUCION + self.tamanio = (w/2-10,10) + self.posicion = (w/2,10) + rect1 = JAMG.get_Rectangulo( JAMG.get_verde1(), self.tamanio) + w,y = rect1.get_size() + a = w/6*3 + rect2 = JAMG.get_Rectangulo( JAMG.get_amarillo1(), (a,self.tamanio[1])) + imagen = JAMG.pegar_imagenes_alineado_derecha(rect2, rect1) + a = w/6 + rect3 = JAMG.get_Rectangulo( JAMG.get_rojo1(), (a,self.tamanio[1])) + self.imagen_original = JAMG.pegar_imagenes_alineado_derecha(rect3, imagen) + self.image = self.imagen_original.copy() + self.rect = self.image.get_rect() + self.rect.x, self.rect.y= self.posicion + + def update(self): + tiempo = self.main.controles.cronometro.cron.segundos_final + transcurridos = self.main.controles.cronometro.get_tiempo_transcurrido() + faltan = self.main.controles.cronometro.cron.segundos_faltan + mitad = tiempo/2 + cuarto = tiempo/4 + if faltan <= mitad: + if faltan > cuarto: + if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[1]: + self.main.controles.stop() + self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[1]) + self.main.controles.play() + elif faltan <= cuarto: + if not self.main.controles.cronometro.sonido == self.main.controles.sonidos_reloj[2]: + self.main.controles.stop() + self.main.controles.cronometro.set_sound(self.main.controles.sonidos_reloj[2]) + self.main.controles.play() + ancho, alto = self.tamanio + ind = float(float(ancho)/float(self.main.controles.cronometro.cron.segundos_final)) + ancho = float(float(ancho)- float(self.main.controles.cronometro.get_tiempo_transcurrido())*ind) + dif = float(float(self.tamanio[0]) - float(ancho)) + try: + self.image = self.imagen_original.copy().subsurface((dif,0,int(ancho), int(alto))) + except: + self.image = self.imagen_original.copy().subsurface((dif,0,0,0)) + self.rect = self.image.get_rect() + x,y = self.posicion + x += dif + self.rect.x, self.rect.y= (x,y) + diff --git a/Grupos.py b/Grupos.py index c982534..3274fdb 100644 --- a/Grupos.py +++ b/Grupos.py @@ -133,12 +133,14 @@ class Grupos(gtk.Widget): def run_game54(self, jambutton): self.estado = None self.emit("run_game", "FGR_T0504") + def handle_event_Intro(self): for event in pygame.event.get(pygame.KEYDOWN): tecla = event.key if tecla == pygame.K_ESCAPE: pygame.event.clear() - self.run_dialog_intro(None) + #self.run_dialog_intro(None) + self.emit_volver(None) def load(self): A, B = G.RESOLUCION @@ -157,6 +159,7 @@ class Grupos(gtk.Widget): pygame.event.set_allowed([MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, KEYDOWN, VIDEORESIZE, VIDEOEXPOSE, QUIT, ACTIVEEVENT]) pygame.mouse.set_visible(True) + ''' def run_dialog_intro(self, button): from BiblioJAM.JAMDialog import JAMDialog dialog = JAMDialog(mensaje = "¿Abandonas el Juego?", @@ -184,12 +187,13 @@ class Grupos(gtk.Widget): pygame.display.update() dialog.clear(self.ventana, self.fondo) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) - pygame.display.update() + pygame.display.update()''' + ''' def ok_intro(self, button): return self.emit_volver() def cancel_intro(self, button): - self.estado = "Intro" + self.estado = "Intro"''' class ButtonsMenu(pygame.sprite.OrderedUpdates): def __init__(self, main): @@ -200,8 +204,8 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): salir.set_colores(colorbas = JAMG.get_negro(), colorcara = JAMG.get_negro()) salir.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1) salir.set_posicion(punto = (10,10)) - salir.connect(callback = main.run_dialog_intro, sonido_select = None) - self.add(salir) + #salir.connect(callback = main.run_dialog_intro, sonido_select = None) + #self.add(salir) imagen = main.usuario['personaje'] user = JAMButton(main.usuario['nombre'],None) @@ -216,13 +220,11 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): self.add(user) if main.grupo == "grupo1": - grupo = JAMButton('', None) - grupo.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1) + grupo = BotonJuego() + grupo.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1) imagen = os.path.join(G.IMAGENES, "Menu", "img1.png") grupo.set_imagen(origen = imagen) - grupo.set_colores(colorbas = (255,255,255,255), - colorbor = (255,255,255,255), colorcara = (255,255,255,255)) - grupo.connect(callback = None, sonido_select = None) + grupo.connect(callback = main.emit_volver, sonido_select = None) self.add(grupo) uno = JAMButton('T0101', None) @@ -262,13 +264,11 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): self.add(cuatro) if main.grupo == "grupo2": - grupo = JAMButton('', None) - grupo.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1) + grupo = BotonJuego() + grupo.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1) imagen = os.path.join(G.IMAGENES, "Menu", "img2.png") grupo.set_imagen(origen = imagen) - grupo.set_colores(colorbas = (255,255,255,255), - colorbor = (255,255,255,255), colorcara = (255,255,255,255)) - grupo.connect(callback = None, sonido_select = None) + grupo.connect(callback = main.emit_volver, sonido_select = None) self.add(grupo) uno = JAMButton('T0201', None) @@ -308,13 +308,11 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): self.add(cuatro) if main.grupo == "grupo3": - grupo = JAMButton('', None) - grupo.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1) + grupo = BotonJuego() + grupo.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1) imagen = os.path.join(G.IMAGENES, "Menu", "img3.png") grupo.set_imagen(origen = imagen) - grupo.set_colores(colorbas = (255,255,255,255), - colorbor = (255,255,255,255), colorcara = (255,255,255,255)) - grupo.connect(callback = None, sonido_select = None) + grupo.connect(callback = main.emit_volver, sonido_select = None) self.add(grupo) uno = JAMButton('T0301', None) @@ -354,13 +352,11 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): self.add(cuatro) if main.grupo == "grupo4": - grupo = JAMButton('', None) - grupo.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1) + grupo = BotonJuego() + grupo.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1) imagen = os.path.join(G.IMAGENES, "Menu", "img4.png") grupo.set_imagen(origen = imagen) - grupo.set_colores(colorbas = (255,255,255,255), - colorbor = (255,255,255,255), colorcara = (255,255,255,255)) - grupo.connect(callback = None, sonido_select = None) + grupo.connect(callback = main.emit_volver, sonido_select = None) self.add(grupo) uno = JAMButton('T0401', None) @@ -400,13 +396,11 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): self.add(cuatro) if main.grupo == "grupo5": - grupo = JAMButton('', None) - grupo.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1) + grupo = BotonJuego() + grupo.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1) imagen = os.path.join(G.IMAGENES, "Menu", "img5.png") grupo.set_imagen(origen = imagen) - grupo.set_colores(colorbas = (255,255,255,255), - colorbor = (255,255,255,255), colorcara = (255,255,255,255)) - grupo.connect(callback = None, sonido_select = None) + grupo.connect(callback = main.emit_volver, sonido_select = None) self.add(grupo) uno = JAMButton('T0501', None) @@ -440,23 +434,19 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): cuatro.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1) #imagen = os.path.join(G.IMAGENES, "Menu", "img4.png") #cuatro.set_imagen(origen = imagen) - #cuatro.set_colores(colorbas = (255,255,255,255), - # colorbor = (255,255,255,255), colorcara = (0,153,255,255)) cuatro.connect(callback = main.run_game54, sonido_select = None) self.add(cuatro) sep = 50 w,h = G.RESOLUCION - a,b = salir.get_posicion() - c, d = salir.get_tamanio() - grupo.set_posicion( (a,b+d+sep ) ) - ww, hh = uno.get_tamanio() - uno.set_posicion( (w/2-ww/2, b+d+sep) ) - x, y = uno.get_posicion() - tres.set_posicion( (x, y + hh + sep) ) - dos.set_posicion( (x + ww + sep, y) ) - x, y = dos.get_posicion() - cuatro.set_posicion( (x, y + hh + sep) ) + centrox = w/2 + centroy = h/2 + uno.set_posicion( (centrox - sep*3, centroy - uno.get_tamanio()[1]) ) + dos.set_posicion( (uno.get_posicion()[0] + uno.get_tamanio()[0] + sep, centroy - uno.get_tamanio()[1]) ) + tres.set_posicion( (uno.get_posicion()[0], centroy + sep) ) + cuatro.set_posicion( (tres.get_posicion()[0] + tres.get_tamanio()[0] + sep, centroy + sep) ) + + grupo.set_posicion( (uno.get_posicion()[0] - uno.get_tamanio()[0] - sep, uno.get_posicion()[1] + uno.get_tamanio()[1]/2) ) class BotonJuego(JAMButton): def __init__(self): diff --git a/Imagenes/FGR_T0502/fondo_blanco.jpg b/Imagenes/FGR_T0502/fondo_blanco.jpg new file mode 100644 index 0000000..e2e4751 --- /dev/null +++ b/Imagenes/FGR_T0502/fondo_blanco.jpg Binary files differ diff --git a/Imagenes/Instructivos/502.jpg b/Imagenes/Instructivos/502.jpg new file mode 100644 index 0000000..473375c --- /dev/null +++ b/Imagenes/Instructivos/502.jpg Binary files differ diff --git a/Imagenes/Instructivos/503.jpg b/Imagenes/Instructivos/503.jpg new file mode 100644 index 0000000..fe270a3 --- /dev/null +++ b/Imagenes/Instructivos/503.jpg Binary files differ diff --git a/Imagenes/Instructivos/504.jpg b/Imagenes/Instructivos/504.jpg new file mode 100644 index 0000000..805cfb1 --- /dev/null +++ b/Imagenes/Instructivos/504.jpg Binary files differ diff --git a/Imagenes/Login/down.png b/Imagenes/Login/down.png deleted file mode 100644 index 96dc41e..0000000 --- a/Imagenes/Login/down.png +++ /dev/null Binary files differ diff --git a/Imagenes/Login/down1.png b/Imagenes/Login/down1.png new file mode 100644 index 0000000..94e7b73 --- /dev/null +++ b/Imagenes/Login/down1.png Binary files differ diff --git a/Imagenes/Login/down2.png b/Imagenes/Login/down2.png new file mode 100644 index 0000000..bd2a337 --- /dev/null +++ b/Imagenes/Login/down2.png Binary files differ diff --git a/Imagenes/Login/up.png b/Imagenes/Login/up.png deleted file mode 100644 index b8740e2..0000000 --- a/Imagenes/Login/up.png +++ /dev/null Binary files differ diff --git a/Imagenes/Login/up1.png b/Imagenes/Login/up1.png new file mode 100644 index 0000000..b9c36c8 --- /dev/null +++ b/Imagenes/Login/up1.png Binary files differ diff --git a/Imagenes/Login/up2.png b/Imagenes/Login/up2.png new file mode 100644 index 0000000..131cfe8 --- /dev/null +++ b/Imagenes/Login/up2.png Binary files differ diff --git a/Login.py b/Login.py index 7e40567..fb80f49 100644 --- a/Login.py +++ b/Login.py @@ -152,6 +152,7 @@ class Selector(pygame.sprite.OrderedUpdates): salir.connect(callback = main.run_dialog_intro) self.add(salir) + ''' self.upper = JAMButton("",None) imagen = os.path.join(G.IMAGENES, "Login", "up.png")#"selecciona_arriba.png") self.upper.set_tamanios(tamanio = (376, 30), grosorbor=1, detalle=1, espesor=1) @@ -159,17 +160,25 @@ class Selector(pygame.sprite.OrderedUpdates): self.upper.set_colores(colorbas = (255,255,255,255), colorbor = (255,255,255,255), colorcara = (0,153,255,255)) self.upper.connect(callback = self.up_user, sonido_select = None) + self.add(self.upper)''' + + self.upper = BotonScroll() + self.upper.set_imagen("up") + self.upper.connect(callback = self.up_user, sonido_select = None) self.add(self.upper) + ''' self.down = JAMButton("",None) - imagen = os.path.join(G.IMAGENES, "Login", "down.png") + imagen = os.path.join(G.IMAGENES, "Login", "down1.png") self.down.set_tamanios(tamanio = (376, 30), grosorbor=1, detalle=1, espesor=1) self.down.set_imagen(origen = imagen, tamanio = (376, 30)) - #imagen = os.path.join(G.IMAGENES, "Login", "selecciona_abajo.png") - #self.down.set_tamanios(grosorbor=1, detalle=1, espesor=1) self.down.set_colores(colorbas = (255,255,255,255), colorbor = (255,255,255,255), colorcara = (0,153,255,255)) - self.down.set_imagen(origen = imagen) + self.down.connect(callback = self.down_user, sonido_select = None) + self.add(self.down)''' + + self.down = BotonScroll() + self.down.set_imagen("down") self.down.connect(callback = self.down_user, sonido_select = None) self.add(self.down) @@ -190,6 +199,8 @@ class Selector(pygame.sprite.OrderedUpdates): self.crear = JAMButton("Crear Nuevo",None) self.crear.set_tamanios(grosorbor = 1, detalle = 1, espesor = 1) self.crear.set_font_from_file(fuente, tamanio = 25) + self.crear.set_colores(colorbas = (0,153,255,255), + colorbor = (255,255,255,255), colorcara = (0,153,255,255)) self.crear.connect(callback = main.crear_usuario, sonido_select = None) self.add(self.crear) @@ -266,6 +277,20 @@ class Selector(pygame.sprite.OrderedUpdates): user.set_posicion( (x, posy) ) posy += user.get_tamanio()[1] +class BotonScroll(JAMButton): + def __init__(self): + JAMButton.__init__(self, '', None) + def set_imagen(self, origen): + imagen = os.path.join(G.IMAGENES, "Login", "%s%s" % (origen, "1.png")) + self.set_tamanios(tamanio = (376, 30), grosorbor=1, detalle=1, espesor=1) + imagen = pygame.transform.scale(pygame.image.load(imagen), (376, 30)) + self.final_unselect = imagen + + imagen = os.path.join(G.IMAGENES, "Login", "%s%s" % (origen, "2.png")) + self.final_select = pygame.transform.scale(pygame.image.load(imagen), (376, 30)) + self.image = self.final_unselect + self.rect = self.image.get_rect() + class Usuario(JAMButton): def __init__(self, usuario): JAMButton.__init__(self, '', None) @@ -276,7 +301,7 @@ class Usuario(JAMButton): self.set_alineacion_label("izquierda") self.set_font_from_file(fuente, tamanio = 25) self.set_text(texto = self.usuario['nombre']) - self.set_colores(colorbas = (255,255,255,255), + self.set_colores(colorbas = (0,153,255,255), colorbor = (255,255,255,255), colorcara = (0,153,255,255)) diff --git a/Menu.py b/Menu.py index b35c03e..b8173b6 100644 --- a/Menu.py +++ b/Menu.py @@ -109,7 +109,8 @@ class Menu(gtk.Widget): tecla = event.key if tecla == pygame.K_ESCAPE: pygame.event.clear() - self.run_dialog_intro(None) + #self.run_dialog_intro(None) + self.emit_volver(None) def load(self): A, B = G.RESOLUCION @@ -128,6 +129,7 @@ class Menu(gtk.Widget): pygame.event.set_allowed([MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, KEYDOWN, VIDEORESIZE, VIDEOEXPOSE, QUIT, ACTIVEEVENT]) pygame.mouse.set_visible(True) + ''' def run_dialog_intro(self, button): from BiblioJAM.JAMDialog import JAMDialog dialog = JAMDialog(mensaje = "¿Abandonas el Juego?", @@ -156,7 +158,7 @@ class Menu(gtk.Widget): dialog.clear(self.ventana, self.fondo) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) - pygame.display.update() + pygame.display.update()''' def ok_intro(self, button): return self.emit_volver() @@ -165,6 +167,7 @@ class Menu(gtk.Widget): class ButtonsMenu(pygame.sprite.OrderedUpdates): def __init__(self, main): + self.main = main pygame.sprite.OrderedUpdates.__init__(self) imagen = G.get_Flecha() salir = JAMButton("",None) @@ -172,7 +175,8 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): salir.set_colores(colorbas = JAMG.get_negro(), colorcara = JAMG.get_negro()) salir.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1) salir.set_posicion(punto = (10,10)) - salir.connect(callback = main.run_dialog_intro) + #salir.connect(callback = main.run_dialog_intro) + salir.connect(callback = self.main.emit_volver, sonido_select = None) self.add(salir) imagen = main.usuario['personaje'] @@ -281,7 +285,7 @@ class Presentacion(pygame.sprite.OrderedUpdates): siguiente.set_tamanios(tamanio = (150,0), grosorbor = 1, detalle = 1, espesor = 1) ww,hh = siguiente.get_tamanio() siguiente.set_posicion(punto = (w-ww-20,h-hh-20)) - siguiente.connect(callback = self.next) + siguiente.connect(callback = self.next, sonido_select = None) self.add(siguiente) anterior = JAMButton("Anterior", None) anterior.set_text(color = JAMG.get_blanco()) @@ -290,7 +294,7 @@ class Presentacion(pygame.sprite.OrderedUpdates): anterior.set_tamanios(tamanio = (150,0), grosorbor = 1, detalle = 1, espesor = 1) ww,hh = anterior.get_tamanio() anterior.set_posicion(punto = (20,h-hh-20)) - anterior.connect (callback = self.previous) + anterior.connect (callback = self.previous, sonido_select = None) self.add(anterior) salir = JAMButton("Salir", None) salir.set_text(color = JAMG.get_blanco()) @@ -299,7 +303,7 @@ class Presentacion(pygame.sprite.OrderedUpdates): salir.set_tamanios(tamanio = (150,0), grosorbor = 1, detalle = 1, espesor = 1) ww,hh = salir.get_tamanio() salir.set_posicion(punto = (w/2-ww/2,20)) - salir.connect(callback = self.volver) + salir.connect(callback = self.volver, sonido_select = None) self.add(salir) self.imagen_actual = self.imagenes[0] self.main.fondo = self.imagen_actual -- cgit v0.9.1