diff options
Diffstat (limited to 'FGR_T0102.py')
-rw-r--r-- | FGR_T0102.py | 156 |
1 files changed, 70 insertions, 86 deletions
diff --git a/FGR_T0102.py b/FGR_T0102.py index 9173eb8..c26f2e8 100644 --- a/FGR_T0102.py +++ b/FGR_T0102.py @@ -6,61 +6,63 @@ # https://sites.google.com/site/sugaractivities/ # http://codigosdeejemplo.blogspot.com/ -import pygame, gc, sys, random, gtk, pygtk +import pygame +import gc +import sys +import random +import gtk +import gobject from pygame.locals import * - import Globals as G gc.enable() - import BiblioJAM from BiblioJAM.JAMButton import JAMButton from BiblioJAM.JAMLabel import JAMLabel import BiblioJAM.JAMGlobals as JAMG -class FGR_T0102(): - def __init__(self, main): - # Variables para JAMatrix - self.ventana= None - self.name= "Tipos de señales" - self.estado= False - - self.main= main - self.ventana= self.main.ventana - +class FGR_T0102(gtk.Widget): + __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,gobject.TYPE_INT))} + def __init__(self): + gtk.Widget.__init__(self) + self.ventana = None + self.nombre = "Tipos de señales" + self.estado = False # Variables del Juego - self.fondo= None - self.reloj= None - self.puntos= 0 + self.fondo = None + self.reloj = None + self.puntos = 0 # Sprites - self.textos= None - self.botonesmenu= None - self.controles= None - self.seniales= None - self.carteles= None - self.senial_select= None + self.textos = None + self.botonesmenu = None + self.controles = None + self.seniales = None + self.carteles = None + self.senial_select = None # sonidos - self.sonido_error= None - self.sonido_exito= None - self.sound_select= None + self.sonido_error = None + self.sonido_exito = None + self.sound_select = None # Escalado - self.ventana_real= None - self.resolucionreal= None - self.VA= None - self.VH= None + self.ventana_real = None + self.resolucionreal = None + self.VA = None + self.VH = None + self.estado = "Intro" + self.load() def run(self): - self.preset() - - from BiblioJAM.JAMatrix import JAMatrix - matrix= JAMatrix(self, self.ventana_real, self.resolucionreal) - matrix.set_imagen_matrix(None) - matrix.carga_game() - - self.estado= "Intro" - self.switch() + if self.estado == "Intro": + self.controles.stop() + self.fondo = self.fondo1 + return self.run_menu() + elif self.estado == "Game": + self.puntos = 0 + self.fondo = self.fondo2 + self.reset() + return self.run_juego() def run_menu(self): self.ventana.blit(self.fondo, (0,0)) @@ -112,18 +114,6 @@ class FGR_T0102(): #self.victory() #self.game_over(None) - def switch(self): - if self.estado== "Intro": - self.controles.stop() - self.fondo = self.fondo1 - self.set_event_intro() - return self.run_menu() - elif self.estado== "Game": - self.puntos= 0 - self.fondo = self.fondo2 - self.reset() - return self.run_juego() - def reset(self): self.puntos= 0 self.controles.init() @@ -139,7 +129,7 @@ class FGR_T0102(): def deja_en(self, cartel): if self.senial_select: - if self.senial_select.name == cartel.name: + if self.senial_select.nombre == cartel.nombre: self.sonido_exito.play() self.senial_select.ubicada= True self.controles.recuadro_select.remove(self.controles) @@ -243,37 +233,32 @@ class FGR_T0102(): return self.salir(False) # ----------- SETEOS ------------- - def preset(self): + def load(self): + pygame.event.set_blocked([JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP, JOYBUTTONDOWN, KEYUP, USEREVENT]) + pygame.event.set_allowed([MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, KEYDOWN, VIDEORESIZE, VIDEOEXPOSE, QUIT, ACTIVEEVENT]) + pygame.mouse.set_visible(True) A, B= G.RESOLUCION self.ventana = pygame.Surface( (A, B), flags=HWSURFACE ) - self.ventana_real= pygame.display.get_surface() - C= pygame.display.Info().current_w - D= pygame.display.Info().current_h + self.ventana_real = pygame.display.get_surface() + C = pygame.display.Info().current_w + D = pygame.display.Info().current_h self.resolucionreal= (C,D) - self.VA= float(C)/float(A) - self.VH= float(D)/float(B) - - def load(self): + self.VA = float(C)/float(A) + self.VH = float(D)/float(B) self.fondo1, self.fondo2= G.get_Fondos_FGR_T0102() - self.textos= Textos_Intro() - self.botonesmenu= ButtonsMenu(self) - self.controles= Controles(self) - self.seniales= Seniales(self) - self.carteles= Carteles(self) + self.textos = Textos_Intro() + self.botonesmenu = ButtonsMenu(self) + self.controles = Controles(self) + self.seniales = Seniales(self) + self.carteles = Carteles(self) self.sonido_error, self.sonido_exito= G.get_Sonidos() - self.sound_select= JAMG.get_sound_select() + self.sound_select = JAMG.get_sound_select() self.reloj = pygame.time.Clock() - self.estado= True - - def set_event_intro(self): - pygame.event.set_blocked([JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP, JOYBUTTONDOWN, KEYUP, USEREVENT]) - pygame.event.set_allowed([MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, KEYDOWN, VIDEORESIZE, VIDEOEXPOSE, QUIT, ACTIVEEVENT]) - pygame.mouse.set_visible(True) # ----------- EVENTOS en MENU --------------- def handle_event_Intro(self): for event in pygame.event.get(pygame.KEYDOWN): - letra= pygame.key.name(event.key) + letra= pygame.key.nombre(event.key) if letra== "escape": pygame.event.clear() return self.run_dialog_intro(None) @@ -336,7 +321,7 @@ class FGR_T0102(): # ----------- EVENTOS en JUEGO --------------- def handle_event_Game(self): for event in pygame.event.get(pygame.KEYDOWN): - letra= pygame.key.name(event.key) + letra= pygame.key.nombre(event.key) if letra== "escape": pygame.event.clear() return self.run_dialog_game(None) @@ -372,7 +357,7 @@ class FGR_T0102(): dialog.clear(self.ventana, self.fondo) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) pygame.display.update() - return self.switch() + return self.run() else: dialog.clear(self.ventana, self.fondo) self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0)) @@ -386,12 +371,15 @@ class FGR_T0102(): # ----------- 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.controles.empty()''' + self.estado = False + self.emit("run_grupo", "grupo1", self.puntos) # -------- CONTROLES ---------- class Controles(pygame.sprite.OrderedUpdates): @@ -450,7 +438,7 @@ class Controles(pygame.sprite.OrderedUpdates): cartel_titulo.rect.y= -60 self.add(cartel_titulo) - self.titulo= JAMLabel(self.main.name) + 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) @@ -488,7 +476,7 @@ class Controles(pygame.sprite.OrderedUpdates): def switching_game(self, button): self.main.estado= "Intro" - return self.main.switch() + return self.main.run() def init(self): sound= self.sonidos_reloj[0] @@ -580,7 +568,7 @@ class Seniales(pygame.sprite.OrderedUpdates): posicion= random.choice(posiciones) posiciones.remove(posicion) sprite= Sprite_Seniales(imagen, self.main, posicion) - sprite.name= seniales[senial][1] + sprite.nombre= seniales[senial][1] self.add(sprite) # el sprite para seleccionar las señales self.main.controles.get_recuadro_select((w,h)) @@ -605,7 +593,7 @@ class Sprite_Seniales(pygame.sprite.Sprite): self.image= imagen self.rect= self.image.get_rect() self.ubicada= False - self.name= None + self.nombre= None self.init() def init(self): @@ -651,7 +639,7 @@ class Carteles(pygame.sprite.OrderedUpdates): posicion= random.choice(posiciones) sprite.rect.center= posicion posiciones.remove(posicion) - sprite.name= cartel + sprite.nombre= cartel x,y,w,h= sprite.rect posicion= (x+w/2, y+h+20) self.main.controles.get_labels_carteles(cartel, posicion) @@ -669,7 +657,7 @@ class Sprite_Carteles(pygame.sprite.Sprite): self.main= main self.image= imagen self.rect= self.image.get_rect() - self.name= None + self.nombre= None self.posiciones= None def get_posiciones(self): @@ -815,7 +803,7 @@ class ButtonsMenu(pygame.sprite.OrderedUpdates): def switching(self, button): self.main.estado= "Game" pygame.event.clear() - return self.main.switch() + return self.main.run() # --------- Botones en Menu (Salir y Jugar) ------------------ # --------- Mensaje Final --------- @@ -922,8 +910,4 @@ class Mensaje(pygame.sprite.OrderedUpdates): self.label2.rect.x= self.x_final_label2 self.label1.rect.x= self.x_final_label1 self.estado= False -# --------- Mensaje Final --------- - -if __name__ == "__main__": - FGR_T0102() |