Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/FGR_T0102.py
diff options
context:
space:
mode:
Diffstat (limited to 'FGR_T0102.py')
-rw-r--r--FGR_T0102.py156
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()