From c6fbb6b5b652f63bdd4e163aa2e1cda5b488748b Mon Sep 17 00:00:00 2001 From: flavio Date: Wed, 04 Apr 2012 00:41:10 +0000 Subject: Login --- (limited to 'FGR_T0101.py') diff --git a/FGR_T0101.py b/FGR_T0101.py index 22c44ff..44d5e95 100644 --- a/FGR_T0101.py +++ b/FGR_T0101.py @@ -6,61 +6,62 @@ # https://sites.google.com/site/sugaractivities/ # http://codigosdeejemplo.blogspot.com/ -import pygame, gc, sys, random, gtk, pygtk +import pygame +import gc +import gobject +import sys +import random +import gtk 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_T0101(): - def __init__(self, main): - # Variables para JAMatrix - self.ventana= None - self.name= "Señales de Tránsito" - self.estado= False - - self.main= main - self.ventana= self.main.ventana - - # Variables del Juego - self.fondo= None - self.reloj= None - self.puntos= 0 +class FGR_T0101(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.nombre = "Señales de Tránsito" + self.ventana = None + self.estado = False + 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.load() + self.estado = "Intro" 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,20 +113,8 @@ class FGR_T0101(): #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.puntos = 0 self.controles.init() self.seniales.init() @@ -133,31 +122,31 @@ class FGR_T0101(): self.sound_select.play() if not self.controles.recuadro_select in self.controles: self.controles.add(self.controles.recuadro_select) - self.senial_select= senial - self.controles.recuadro_select.rect.center= self.senial_select.rect.center + self.senial_select = senial + self.controles.recuadro_select.rect.center = self.senial_select.rect.center 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.senial_select.ubicada = True self.controles.recuadro_select.remove(self.controles) - self.senial_select.rect.center= (cartel.rect.x, cartel.rect.y)#cartel.rect.center - self.senial_select= None - self.puntos+= 10 + self.senial_select.rect.center = (cartel.rect.x, cartel.rect.y)#cartel.rect.center + self.senial_select = None + self.puntos += 10 self.controles.actualiza_puntos() - fin= True + fin = True for senial in self.seniales: - if senial.ubicada== False: - fin= False + if senial.ubicada == False: + fin = False return if fin == True: return self.victory() else: self.sonido_error.play() self.controles.recuadro_select.remove(self.controles) - self.senial_select= None - self.controles.cronometro.cron.segundos_transcurridos+= 5 + self.senial_select = None + self.controles.cronometro.cron.segundos_transcurridos += 5 def suelta(self): if self.senial_select: @@ -237,33 +226,28 @@ class FGR_T0101(): return self.salir(False) # ----------- SETEOS ------------- - def preset(self): - 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.resolucionreal= (C,D) - self.VA= float(C)/float(A) - self.VH= float(D)/float(B) - def load(self): - self.fondo1, self.fondo2= G.get_Fondos_FGR_T0101() - self.fondo2= JAMG.pegar_imagenes_centradas(self.fondo2, self.fondo1.copy()) - 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.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) + 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.resolucionreal = (C,D) + self.VA = float(C)/float(A) + self.VH = float(D)/float(B) + self.fondo1, self.fondo2 = G.get_Fondos_FGR_T0101() + self.fondo2 = JAMG.pegar_imagenes_centradas(self.fondo2, self.fondo1.copy()) + 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.reloj = pygame.time.Clock() # ----------- EVENTOS en MENU --------------- def handle_event_Intro(self): @@ -324,7 +308,7 @@ class FGR_T0101(): def ok_intro(self, button): return self.salir(False) def cancel_intro(self, button): - self.estado= "Intro" + self.estado = "Intro" # ----------- EVENTOS en MENU --------------- # ----------- EVENTOS en JUEGO --------------- @@ -366,7 +350,7 @@ class FGR_T0101(): 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)) @@ -374,18 +358,21 @@ class FGR_T0101(): self.controles.play() def ok(self, button): - self.estado= "Intro" + self.estado = "Intro" def cancel(self, button): - self.estado= "Game" + self.estado = "Game" # ----------- EVENTOS en JUEGO --------------- - def salir(self, valor= None): - if valor: self.estado= True - if not valor: self.estado= False + 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): @@ -460,7 +447,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) @@ -498,7 +485,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] @@ -590,7 +577,7 @@ class Seniales(pygame.sprite.OrderedUpdates): posicion= random.choice(posiciones) posiciones.remove(posicion) sprite= Sprite_Seniales(imagen, self.main, posicion) - sprite.name= senial + sprite.nombre= senial self.add(sprite) # el sprite para seleccionar las señales self.main.controles.get_recuadro_select((w,h)) @@ -615,7 +602,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): @@ -662,7 +649,7 @@ class Carteles(pygame.sprite.OrderedUpdates): posicion= random.choice(posiciones) sprite.rect.center= posicion posiciones.remove(posicion) - sprite.name= cartel + sprite.nombre= cartel self.main.controles.get_labels_carteles(cartel, posicion) self.add(sprite) @@ -673,7 +660,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 def update(self): eventos= pygame.event.get(pygame.MOUSEBUTTONDOWN) @@ -780,7 +767,7 @@ 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= self.main.run_dialog_intro) + salir.connect (callback = self.main.run_dialog_intro) self.add(salir) jugar= JAMButton("Jugar",None) @@ -804,7 +791,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 --------- @@ -909,14 +896,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 --------- - -class Main(): - def __init__(self): - pygame.display.set_mode(G.RESOLUCION , 0, 0) - self.ventana= pygame.display.get_surface() - FGR_T0101(self) - -if __name__ == "__main__": - Main() -- cgit v0.9.1