Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/FGR_T0101.py
diff options
context:
space:
mode:
authorflavio <fdanesse@gmail.com>2012-04-04 00:41:10 (GMT)
committer flavio <fdanesse@gmail.com>2012-04-04 00:41:10 (GMT)
commitc6fbb6b5b652f63bdd4e163aa2e1cda5b488748b (patch)
treec2e03ca8f7fb2fb0494456786fbecd90d65883f4 /FGR_T0101.py
parenta1096db00fa9a775551622cce8df04062af1f5e0 (diff)
Login
Diffstat (limited to 'FGR_T0101.py')
-rw-r--r--FGR_T0101.py203
1 files changed, 90 insertions, 113 deletions
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()