Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BiblioJAM/JAMButton.py7
-rw-r--r--BiblioJAM/JAMDialog.py16
-rw-r--r--BiblioJAM/JAMGlobals.py3
-rw-r--r--BiblioJAM/JAMLabel.py2
-rw-r--r--Crear_Usuario.py539
-rw-r--r--Derecho_a_Transitar.py197
-rw-r--r--FGR_T0101.py203
-rw-r--r--FGR_T0102.py156
-rw-r--r--FGR_T0201.py120
-rw-r--r--FGR_T0202.py125
-rw-r--r--FGR_T0301.py129
-rw-r--r--FGR_T0302.py122
-rw-r--r--FGR_T0303.py96
-rw-r--r--FGR_T0401.py95
-rw-r--r--FGR_T0402.py125
-rw-r--r--FGR_T0501.py94
-rw-r--r--Globals.py198
-rw-r--r--Grupos.py452
-rw-r--r--Imagenes/Login/down.pngbin0 -> 1470 bytes
-rw-r--r--Imagenes/Login/fondo.jpgbin0 -> 15867 bytes
-rw-r--r--Imagenes/Login/fondo_selecciona.pngbin0 -> 1839 bytes
-rw-r--r--Imagenes/Login/jacinto.pngbin0 -> 25193 bytes
-rw-r--r--Imagenes/Login/jose.pngbin0 -> 27412 bytes
-rw-r--r--Imagenes/Login/natalia.pngbin0 -> 29269 bytes
-rw-r--r--Imagenes/Login/up.pngbin0 -> 1379 bytes
-rw-r--r--Imagenes/Menu/img1.pngbin0 -> 79866 bytes
-rw-r--r--Imagenes/Menu/img2.pngbin0 -> 104060 bytes
-rw-r--r--Imagenes/Menu/img3.pngbin0 -> 108651 bytes
-rw-r--r--Imagenes/Menu/img4.pngbin0 -> 95219 bytes
-rw-r--r--Imagenes/Menu/img5.pngbin0 -> 107287 bytes
-rw-r--r--Imagenes/back.pngbin0 -> 1171 bytes
-rw-r--r--Imagenes/enter.pngbin0 -> 1171 bytes
-rw-r--r--Imagenes/fondo1.jpgbin98218 -> 0 bytes
-rw-r--r--Imagenes/fondo1.pngbin0 -> 509370 bytes
-rw-r--r--Imagenes/icono_teclado.jpgbin0 -> 1204 bytes
-rw-r--r--Login.py282
-rw-r--r--Main.py172
-rw-r--r--Menu.py517
38 files changed, 2342 insertions, 1308 deletions
diff --git a/BiblioJAM/JAMButton.py b/BiblioJAM/JAMButton.py
index b302d51..efa4160 100644
--- a/BiblioJAM/JAMButton.py
+++ b/BiblioJAM/JAMButton.py
@@ -29,7 +29,8 @@ class JAMButton(pygame.sprite.Sprite):
COLORCARA, COLORBAS, COLORBOR, GROSORBOR, DETALLE, ESPESOR= VG.get_default_jambutton_values()
- self.base= {"tamanio":None, "colorbas":COLORBAS, "colorbor":COLORBOR, "grosorbor":GROSORBOR, "detalle":DETALLE, "espesor":ESPESOR}
+ self.base= {"tamanio":None, "colorbas":COLORBAS, "colorbor":COLORBOR,
+ "grosorbor":GROSORBOR, "detalle":DETALLE, "espesor":ESPESOR}
self.cara= {"tamanio":None, "color":COLORCARA}
self.borde_label= {"grosor": 0, "color":VG.get_negro()}
@@ -38,7 +39,9 @@ class JAMButton(pygame.sprite.Sprite):
self.etiqueta_select= JAMLabel(texto)
self.etiqueta_select.set_contenedor(colorbas=self.base["colorbor"])
- self.JAMObjects = {"JAMLabelunselect": self.etiqueta_unselect, "JAMLabelselect": self.etiqueta_select, "Base": self.base, "Cara": self.cara, "Borde": self.borde_label}
+ self.JAMObjects = {"JAMLabelunselect": self.etiqueta_unselect,
+ "JAMLabelselect": self.etiqueta_select, "Base": self.base,
+ "Cara": self.cara, "Borde": self.borde_label}
self.imagen_cara_unselect= None
self.imagen_cara_select= None
diff --git a/BiblioJAM/JAMDialog.py b/BiblioJAM/JAMDialog.py
index c3cec16..ab9976b 100644
--- a/BiblioJAM/JAMDialog.py
+++ b/BiblioJAM/JAMDialog.py
@@ -19,7 +19,7 @@ class JAMDialog(pygame.sprite.OrderedUpdates):
def __init__(self, mensaje="JAMDialog", funcion_ok=None, funcion_cancel=None):
''' Es un grupo de sprite que contiene: JAMButton aceptar, JAMButton cancelar, Base.'''
pygame.sprite.OrderedUpdates.__init__(self)
- self.resolucion= (800,600)
+ self.resolucion= (1200,900)
self.mensaje= mensaje
self.funcion_ok= None #funcion_ok
self.funcion_cancel= None #funcion_cancel
@@ -91,17 +91,17 @@ class JAMDialog(pygame.sprite.OrderedUpdates):
self.boton_cancelar.set_imagen(origen=imagencancelar , tamanio=tamanio)
self.Reconstruye_JAMDialog(["imagenbuttons"])
- def connect(self, funcion_ok=None, funcion_cancel=None):
+ def connect(self, funcion_ok = None, funcion_cancel = None):
''' Conecta los Botones a Funciones. '''
if funcion_ok != self.funcion_ok:
- self.funcion_ok= funcion_ok
- self.boton_aceptar.connect(callback=self.funcion_ok, sonido_select=VG.get_sound_select())
+ self.funcion_ok = funcion_ok
+ self.boton_aceptar.connect(callback = self.funcion_ok, sonido_select = None)
if funcion_cancel != self.funcion_cancel:
- self.funcion_cancel= funcion_cancel
- self.boton_cancelar.connect(callback=self.funcion_cancel, sonido_select=VG.get_sound_select())
+ self.funcion_cancel = funcion_cancel
+ self.boton_cancelar.connect(callback = self.funcion_cancel, sonido_select = None)
if not funcion_ok or not funcion_cancel:
- self.boton_aceptar.connect(sonido_select=VG.get_sound_select())
- self.boton_cancelar.connect(sonido_select=VG.get_sound_select())
+ self.boton_aceptar.connect(sonido_select = None)
+ self.boton_cancelar.connect(sonido_select = None)
# ------ Botones
def set_colors_dialog(self, base=None, bordes=None):
diff --git a/BiblioJAM/JAMGlobals.py b/BiblioJAM/JAMGlobals.py
index eda39b0..d9d9140 100644
--- a/BiblioJAM/JAMGlobals.py
+++ b/BiblioJAM/JAMGlobals.py
@@ -257,7 +257,8 @@ def get_estilo_papel_quemado():
# CALENDARIO
def get_calendar(mes, anio):
- ''' Devuelve una lista que representa los renglones para un calendario según mes y año, (anio y mes deben ser enteros). '''
+ ''' Devuelve una lista que representa los renglones para
+ un calendario según mes y año, (anio y mes deben ser enteros). '''
import calendar
calendario= calendar.Calendar()
semanas= calendario.monthdayscalendar(anio, mes)
diff --git a/BiblioJAM/JAMLabel.py b/BiblioJAM/JAMLabel.py
index 7f5c7ef..da68753 100644
--- a/BiblioJAM/JAMLabel.py
+++ b/BiblioJAM/JAMLabel.py
@@ -25,7 +25,7 @@ class JAMLabel(pygame.sprite.Sprite):
self.imagen = {"origen": None, "tamanio": None}
self.texto = {"tipo": pygame.font.get_default_font(), "tamanio": 20, "color": VG.get_negro(), "texto": texto}
- self.font_from_file= None # Agregado 15-06-2011 - Para cargar un tipo de letra desde un archivo.(os.getcwd()+"/Fuentes/fawn.ttf", 43)
+ self.font_from_file= None
self.base = {"tamanio": None, "color": None}
self.borde = {"grosor": None, "color": None}
self.contenedor = {"base": self.base, "borde": self.borde}
diff --git a/Crear_Usuario.py b/Crear_Usuario.py
new file mode 100644
index 0000000..68026cc
--- /dev/null
+++ b/Crear_Usuario.py
@@ -0,0 +1,539 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import pygame
+import os
+import gc
+import sys
+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
+from BiblioJAM.JAMEntryText import JAMEntryText
+from BiblioJAM.JAMBoardEntryText import JAMBoardEntryText
+import BiblioJAM.JAMGlobals as JAMG
+
+class Crear_Usuario(gtk.Widget):
+ __gsignals__ = {"run":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_PYOBJECT,)),
+ "back":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, [])}
+ def __init__(self):
+ gtk.Widget.__init__(self)
+ self.ventana = None
+ self.estado = False
+ self.fondo = None
+ self.reloj = None
+ self.frame = None
+ self.ventana_real = None
+ self.resolucionreal = None
+ self.VA = None
+ self.VH = None
+ self.load()
+ self.estado = "Intro"
+
+ def run(self):
+ self.ventana.blit(self.fondo, (0,0))
+ self.frame.draw(self.ventana)
+ pygame.display.update()
+ while self.estado == "Intro":
+ self.reloj.tick(35)
+ while gtk.events_pending():
+ gtk.main_iteration(False)
+ G.Traduce_posiciones(self.VA, self.VH)
+ self.frame.clear(self.ventana, self.fondo)
+ self.frame.update()
+ self.handle_event_Intro()
+ pygame.event.clear()
+ self.frame.draw(self.ventana)
+ self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
+ pygame.display.update()
+
+ def emit_volver(self, button=None):
+ self.estado = None
+ self.emit("back")
+
+ def handle_event_Intro(self):
+ for event in pygame.event.get(pygame.KEYDOWN):
+ tecla = event.key
+ if tecla == pygame.K_ESCAPE:
+ return self.run_dialog_intro(None)
+
+ def load(self):
+ pygame.display.set_mode( (0,0), pygame.DOUBLEBUF | pygame.FULLSCREEN, 0)
+ 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)
+ 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)
+ imagen = os.path.join(G.IMAGENES, "Login", "fondo.jpg")
+ self.fondo = pygame.transform.scale(pygame.image.load(imagen), G.RESOLUCION)
+ self.reloj = pygame.time.Clock()
+ self.frame = Frame(self)
+ self.frame.center(self.fondo.get_size())
+
+ def run_dialog_intro(self, button):
+ from BiblioJAM.JAMDialog import JAMDialog
+ dialog = JAMDialog(mensaje = "¿Abandonas el Juego?",
+ funcion_ok = self.ok_intro, funcion_cancel = self.cancel_intro)
+ fuente, tamanio = JAMG.get_Font_fawn()
+ dialog.set_font_from_file(fuente, tamanio = 40)
+ dialog.boton_aceptar.set_font_from_file(fuente, tamanio = 25)
+ dialog.boton_cancelar.set_font_from_file(fuente, tamanio = 25)
+ a,b,c = JAMG.get_estilo_papel_quemado()
+ dialog.set_colors_dialog(base = c, bordes = c)
+ dialog.set_colors_buttons(colorbas = a, colorbor = b, colorcara = c)
+ self.estado = "Dialog"
+ dialog.draw(self.ventana)
+ pygame.display.update()
+ while self.estado == "Dialog":
+ self.reloj.tick(35)
+ while gtk.events_pending():
+ gtk.main_iteration(False)
+ G.Traduce_posiciones(self.VA, self.VH)
+ dialog.clear(self.ventana, self.fondo)
+ dialog.update()
+ pygame.event.clear()
+ 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.emit_volver()
+ def cancel_intro(self, button):
+ self.estado = "Intro"
+
+ def crear_usuario(self, usuario):
+ self.estado = None
+ self.emit("run", usuario)
+
+class Frame(pygame.sprite.OrderedUpdates):
+ def __init__(self, main):
+ pygame.sprite.OrderedUpdates.__init__(self)
+ imagen = os.path.join(G.IMAGENES, "Login", "fondo_selecciona.png")
+ imagen = pygame.transform.scale(pygame.image.load(imagen), (800, 570))
+ fuente, tamanio = JAMG.get_Font_fawn()
+ imagen_teclado = os.path.join(G.IMAGENES, "icono_teclado.jpg")
+
+ self.main = main
+ self.estado = None
+
+ self.usuario = {
+ 'nombre':'',
+ 'edad':'',
+ 'escuela':'',
+ 'clase':'',
+ 'departamento':'',
+ 'personaje':'' }
+
+ self.jacinto = JAMButton('',None)
+ 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)
+ 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)
+ 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()
+
+ self.fondo = pygame.sprite.Sprite()
+ self.fondo.image = (imagen)
+ self.fondo.rect = self.fondo.image.get_rect()
+ self.add(self.fondo)
+ 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())
+ 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)
+ self.add(salir)
+
+ # Ingresar nombre
+ self.label_nombre = JAMLabel("Nombre:")
+ self.label_nombre.set_text(color = (255,255,255,255))
+ self.label_nombre.set_font_from_file(fuente, tamanio = 30)
+ self.add(self.label_nombre)
+ self.entry_nombre = JAMButton("",None)
+ self.entrys.append(self.entry_nombre)
+ self.add(self.entry_nombre)
+
+ # Ingresar Edad
+ self.label_edad = JAMLabel("Edad:")
+ self.label_edad.set_text(color = (255,255,255,255))
+ self.label_edad.set_font_from_file(fuente, tamanio = 30)
+ self.add(self.label_edad)
+ self.entry_edad = JAMButton("",None)
+ self.entrys.append(self.entry_edad)
+ self.add(self.entry_edad)
+
+ # Ingresar escuela
+ self.label_escuela = JAMLabel("Escuela:")
+ self.label_escuela.set_text(color = (255,255,255,255))
+ self.label_escuela.set_font_from_file(fuente, tamanio = 30)
+ self.add(self.label_escuela)
+ self.entry_escuela = JAMButton("",None)
+ self.entrys.append(self.entry_escuela)
+ self.add(self.entry_escuela)
+
+ # Ingresar Clase
+ self.label_clase = JAMLabel("Clase:")
+ self.label_clase.set_text(color = (255,255,255,255))
+ self.label_clase.set_font_from_file(fuente, tamanio = 30)
+ self.add(self.label_clase)
+ self.entry_clase = JAMButton("",None)
+ self.entrys.append(self.entry_clase)
+ self.add(self.entry_clase)
+
+ # Ingresar departamento
+ self.label_departamento = JAMLabel("Departamento:")
+ self.label_departamento.set_text(color = (255,255,255,255))
+ self.label_departamento.set_font_from_file(fuente, tamanio = 30)
+ self.add(self.label_departamento)
+ self.entry_departamento = JAMButton("",None)
+ self.entrys.append(self.entry_departamento)
+ self.add(self.entry_departamento)
+
+ for boton in self.entrys:
+ boton.set_alineacion_label("izquierda")
+ boton.set_imagen(origen = imagen_teclado)
+ boton.set_font_from_file(fuente, tamanio = 25)
+ boton.set_tamanios(tamanio = (300, 35), grosorbor = 1, detalle = 1, espesor = 1)
+ boton.connect(callback = None, sonido_select = None)
+
+ self.label_derecho = JAMLabel("Selecciona un Personaje:")
+ self.label_derecho.set_text(color = (255,255,255,255))
+ self.label_derecho.set_font_from_file(fuente, tamanio = 30)
+ self.add(self.label_derecho)
+
+ 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.connect(callback = self.crear_usuario, sonido_select = None)
+
+ self.add(self.boton_crear)
+
+ self.add(self.jacinto)
+ self.add(self.jose)
+ self.add(self.natalia)
+
+ self.entry_nombre.connect(callback = self.enter_nombre)
+ self.entry_edad.connect(callback = self.enter_edad)
+ self.entry_escuela.connect(callback = self.enter_escuela)
+ self.entry_clase.connect(callback = self.enter_clase)
+ self.entry_departamento.connect(callback = self.enter_departamento)
+
+ def center(self, fondo_size):
+ sep = 10
+ w,h = fondo_size
+ x, y = (w/2 - self.fondo.rect.w/2, h/2 - self.fondo.rect.h/2)
+ self.fondo.rect.x, self.fondo.rect.y = (x, y)
+
+ x += sep*2
+ y += sep*2
+
+ self.label_nombre.set_posicion( (x,y) )
+ y += self.label_nombre.get_tamanio()[1]
+ self.entry_nombre.set_posicion( (x,y) )
+ y += sep*3 + self.entry_nombre.get_tamanio()[1]
+
+ self.label_edad.set_posicion( (x,y) )
+ y += self.label_edad.get_tamanio()[1]
+ self.entry_edad.set_posicion( (x,y) )
+ y += sep*3 + self.entry_edad.get_tamanio()[1]
+
+ self.label_escuela.set_posicion( (x,y) )
+ y += self.label_escuela.get_tamanio()[1]
+ self.entry_escuela.set_posicion( (x,y) )
+ y += sep*3 + self.entry_escuela.get_tamanio()[1]
+
+ self.label_clase.set_posicion( (x,y) )
+ y += self.label_clase.get_tamanio()[1]
+ self.entry_clase.set_posicion( (x,y) )
+ y += sep*3 + self.entry_clase.get_tamanio()[1]
+
+ self.label_departamento.set_posicion( (x,y) )
+ y += self.label_departamento.get_tamanio()[1]
+ self.entry_departamento.set_posicion( (x,y) )
+
+ w,h = fondo_size
+ 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
+ self.label_derecho.set_posicion( (x,y) )
+
+ ww,hh = self.jacinto.get_tamanio()
+ x = self.fondo.rect.x + mitad + mitad/2 - ww - sep
+ y = self.label_derecho.get_posicion()[1] + self.label_derecho.get_tamanio()[1] + sep
+ self.jacinto.set_posicion( (x,y) )
+
+ x = self.jacinto.get_posicion()[0] + self.jacinto.get_tamanio()[0] + sep
+ self.natalia.set_posicion( (x,y) )
+
+ ww,hh = self.jose.get_tamanio()
+ x = self.fondo.rect.x + mitad + mitad/2 - ww/2
+ y = self.natalia.get_posicion()[1] + self.natalia.get_tamanio()[1] + sep
+ self.jose.set_posicion( (x,y) )
+
+ ww,hh = self.boton_crear.get_tamanio()
+ x = self.fondo.rect.x + mitad + mitad/2 - ww/2
+ y = self.jose.get_posicion()[1] + self.jose.get_tamanio()[1] + sep*5
+ self.boton_crear.set_posicion( (x,y) )
+
+ def crear_usuario(self, button):
+ if self.usuario['nombre'] and self.usuario['edad'] \
+ and self.usuario['escuela'] and self.usuario['clase'] \
+ and self.usuario['departamento'] and self.usuario['personaje']:
+ self.main.crear_usuario(self.usuario)
+ else:
+ print "Hay un campo sin llenar"
+
+ def select_personaje(self, button):
+ 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))
+ else:
+ personaje.set_colores(colorbas = (0,153,255,255),
+ colorbor = (255,255,255,255), colorcara = (255,255,0,255))
+
+ def enter_nombre(self, button):
+ x,y = button.get_posicion()
+ w,h = button.get_tamanio()
+ self.board.set_posicion(punto= (x+w,y))
+ self.board.callback_enter = self.add_nombre
+ self.board.text_buffer = button.get_text()
+ self.add(self.board)
+ self.run_board(button)
+ def add_nombre(self, textbuffer):
+ self.estado = None
+ if textbuffer: self.usuario['nombre'] = textbuffer
+ def enter_edad(self, button):
+ x,y = button.get_posicion()
+ w,h = button.get_tamanio()
+ self.board.set_posicion(punto= (x+w,y))
+ self.board.callback_enter = self.add_edad
+ self.board.text_buffer = button.get_text()
+ self.add(self.board)
+ self.run_board(button)
+ def add_edad(self, textbuffer):
+ self.estado = None
+ if textbuffer: self.usuario['edad'] = textbuffer
+ def enter_escuela(self, button):
+ x,y = button.get_posicion()
+ w,h = button.get_tamanio()
+ self.board.set_posicion(punto= (x+w,y))
+ self.board.callback_enter = self.add_escuela
+ self.board.text_buffer = button.get_text()
+ self.add(self.board)
+ self.run_board(button)
+ def add_escuela(self, textbuffer):
+ self.estado = None
+ if textbuffer: self.usuario['escuela'] = textbuffer
+ def enter_clase(self, button):
+ x,y = button.get_posicion()
+ w,h = button.get_tamanio()
+ self.board.set_posicion(punto= (x+w,y))
+ self.board.callback_enter = self.add_clase
+ self.board.text_buffer = button.get_text()
+ self.add(self.board)
+ self.run_board(button)
+ def add_clase(self, textbuffer):
+ self.estado = None
+ if textbuffer: self.usuario['clase'] = textbuffer
+ def enter_departamento(self, button):
+ x,y = button.get_posicion()
+ w,h = button.get_tamanio()
+ self.board.set_posicion(punto= (x+w,y))
+ self.board.callback_enter = self.add_departamento
+ self.board.text_buffer = button.get_text()
+ self.add(self.board)
+ self.run_board(button)
+ def add_departamento(self, textbuffer):
+ self.estado = None
+ if textbuffer: self.usuario['departamento'] = textbuffer
+
+ def run_board(self, button):
+ self.estado = "board"
+ self.board.draw(self.main.ventana)
+ pygame.display.update()
+ while self.estado == "board":
+ self.main.reloj.tick(35)
+ while gtk.events_pending():
+ gtk.main_iteration(False)
+ G.Traduce_posiciones(self.main.VA, self.main.VH)
+ self.clear(self.main.ventana, self.main.fondo)
+ self.board.update()
+ pygame.event.clear()
+ button.set_text( texto = self.board.text_buffer)
+ self.draw(self.main.ventana)
+ self.main.ventana_real.blit(pygame.transform.scale(self.main.ventana, self.main.resolucionreal), (0,0))
+ pygame.display.update()
+ self.board.clear(self.main.ventana, self.main.fondo)
+ self.main.ventana_real.blit(pygame.transform.scale(self.main.ventana, self.main.resolucionreal), (0,0))
+ pygame.display.update()
+ self.remove(self.board)
+
+class Board(pygame.sprite.OrderedUpdates):
+ def __init__(self):
+ pygame.sprite.OrderedUpdates.__init__(self)
+ self.fuente, tamanio = JAMG.get_Font_fawn()
+
+ self.tamanio = None
+ self.base = None
+ self.text_buffer = ""
+ self.callback_enter = None
+
+ self.letras, self.numeros, self.especiales = self.get_botones_letras()
+ botones = self.letras + self.numeros + self.especiales
+ self.set_normaliza_tamanios_botones(botones)
+ self.set_posicion()
+
+ self.base = pygame.sprite.Sprite()
+ self.base.image = JAMG.get_Rectangulo_Transparente(self.tamanio)
+ self.base.rect = self.base.image.get_rect()
+
+ self.add(self.base)
+ self.add(self.letras)
+ self.add(self.numeros)
+ self.add(self.especiales)
+
+ def set_buffer(self, button):
+ if self.text_buffer == " ": self.text_buffer = ""
+ texto = button.get_text()
+ if texto and texto != "Ñ": self.text_buffer += texto # hay un error en Ñ
+ if self.text_buffer == " ": self.text_buffer = ""
+
+ def set_back_space(self, button):
+ if self.text_buffer:
+ if len(self.text_buffer) > 1:
+ self.text_buffer = self.text_buffer[:-1]
+ else:
+ self.text_buffer = " "
+
+ def set_enter(self, button):
+ if self.callback_enter: self.callback_enter(self.text_buffer)
+
+ def get_botones_letras(self):
+ simbols = JAMG.get_letras_up()
+ botones_letras = []
+ for letra in simbols:
+ boton = JAMButton(letra, None)
+ boton.set_font_from_file(self.fuente, tamanio = 20)
+ boton.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1)
+ boton.set_colores(colorbas = (0,153,255,255), colorbor = (0,153,255,255), colorcara = (255,255,255,255))
+ #boton.set_text(color = (0,153,255,255))
+ boton.connect(callback = self.set_buffer, sonido_select = None)
+ botones_letras.append(boton)
+
+ simbols = JAMG.get_numeros()
+ botones_numeros = []
+ for letra in simbols:
+ boton = JAMButton(letra, None)
+ boton.set_font_from_file(self.fuente, tamanio = 20)
+ boton.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1)
+ boton.set_colores(colorbas = (0,153,255,255), colorbor = (0,153,255,255), colorcara = (255,255,255,255))
+ #boton.set_text(color = (0,153,255,255))
+ boton.connect(callback = self.set_buffer, sonido_select = None)
+ botones_numeros.append(boton)
+
+ botones_especiales = []
+ for letra in ['', ' ', '']:
+ boton = JAMButton(letra, None)
+ #boton.set_font_from_file(self.fuente, tamanio = 20)
+ boton.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1)
+ boton.set_colores(colorbas = (0,153,255,255), colorbor = (0,153,255,255), colorcara = (255,255,255,255))
+ #boton.set_text(color = (0,153,255,255))
+ boton.connect(callback = self.set_buffer, sonido_select = None)
+ botones_especiales.append(boton)
+
+ imagen = os.path.join(G.IMAGENES, "back.png")
+ boton = botones_especiales[0]
+ boton.set_imagen(origen = imagen)
+ boton.connect(callback = self.set_back_space, sonido_select = None)
+
+ imagen = os.path.join(G.IMAGENES, "enter.png")
+ boton = botones_especiales[2]
+ boton.set_imagen(origen = imagen)
+ boton.connect(callback = self.set_enter, sonido_select = None)
+
+ return (botones_letras, botones_numeros, botones_especiales)
+
+ def set_normaliza_tamanios_botones(self, botones):
+ ''' Normaliza los Tamaños de los botones. '''
+ lado = 0
+ for button in botones:
+ button.set_tamanios(tamanio = (0,0))
+ if button.rect.w > lado:
+ lado = button.rect.w
+ if button.rect.h > lado:
+ lado = button.rect.h
+ for button in botones:
+ button.set_tamanios(tamanio = (lado,lado))
+
+ def set_posicion(self, punto = (0,0)):
+ if self.base:
+ self.base.rect.x, self.base.rect.y = punto
+ x, y = punto
+ for boton in self.numeros:
+ boton.set_posicion( (x,y) )
+ x += boton.get_tamanio()[0]
+ x, y = punto
+ y += boton.get_tamanio()[1]
+ for boton in self.letras[:9]:
+ boton.set_posicion( (x,y) )
+ x += boton.get_tamanio()[0]
+ x = punto[0]
+ y += boton.get_tamanio()[1]
+ for boton in self.letras[9:18]:
+ boton.set_posicion( (x,y) )
+ x += boton.get_tamanio()[0]
+ x = punto[0]
+ y += boton.get_tamanio()[1]
+ for boton in self.letras[18:]:
+ boton.set_posicion( (x,y) )
+ x += boton.get_tamanio()[0]
+ w = self.numeros[0].get_tamanio()[0]*len(self.numeros)
+ h = self.numeros[0].get_tamanio()[1]*4
+ self.tamanio = (w,h)
+
+ boton = self.numeros[-1]
+ x,y = boton.get_posicion()
+ w,h = boton.get_tamanio()
+ y += h
+ self.especiales[0].set_posicion( (x,y) )
+ y += h
+ self.especiales[1].set_posicion( (x,y) )
+ y += h
+ self.especiales[2].set_posicion( (x,y) )
+
diff --git a/Derecho_a_Transitar.py b/Derecho_a_Transitar.py
index 832ead1..603c8a3 100644
--- a/Derecho_a_Transitar.py
+++ b/Derecho_a_Transitar.py
@@ -1,36 +1,39 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-import os, gtk, pygtk, gobject, sys, socket, pygame
+import os
+import gtk
+import gobject
+import sys
+import socket
+import pygame
+import shelve
from pygame.locals import *
from sugar.activity import activity
-from Main import Main
import Globals as G
class Derecho_a_Transitar(activity.Activity):
def __init__(self, handle):
- activity.Activity.__init__(self, handle, False)
- self.eventbox= PygameCanvas()
- self.set_canvas(self.eventbox)
-
+ activity.Activity.__init__(self, handle, False)
+ self.set_title("Derecho A Transitar")
+ self.socket = gtk.Socket()
+ self.set_canvas(self.socket)
+ self.gtkplug = gtkplug()
+ self.socket.add_id(self.gtkplug.get_id())
self.add_events(gtk.gdk.ALL_EVENTS_MASK)
self.connect("destroy", self.salir)
-
+ self.connect("set-focus-child", self.refresh)
self.show_all()
- self.realize()
-
- os.putenv('SDL_WINDOWID', str(self.eventbox.socket.get_id()))
- gobject.idle_add(self.get_run_game)
-
- def get_run_game(self):
- print "Lanzando Derecho a Transitar."
- pygame.init()
- Main()
- return False
-
+ def refresh(self, widget, datos):
+ try:
+ pygame.display.update()
+ except:
+ pass
+ self.queue_draw()
+ return True
def salir(self, widget):
- lambda w: gtk.main_quit()
+ pygame.quit()
sys.exit()
class PygameCanvas(gtk.EventBox):
@@ -41,7 +44,7 @@ class PygameCanvas(gtk.EventBox):
self.socket = gtk.Socket()
self.add(self.socket)
self.button_state = [0,0,0]
- self.mouse_pos = (0,0)
+ self.mouse_pos = (0,0)
def setup_events(self):
self.set_events(gtk.gdk.KEY_PRESS | gtk.gdk.EXPOSE | gtk.gdk.POINTER_MOTION_MASK | \
@@ -56,16 +59,16 @@ class PygameCanvas(gtk.EventBox):
self.connect("focus-in-event", self.set_focus)
def keypress(self, selfmain, event, parametros= None):
- nombre= gtk.gdk.keyval_name(event.keyval)
- tipo= pygame.KEYDOWN
- unic= str.lower(nombre)
- valor= nombre
+ nombre = gtk.gdk.keyval_name(event.keyval)
+ tipo = pygame.KEYDOWN
+ unic = str.lower(nombre)
+ valor = nombre
try:
- valor= getattr(pygame, "K_%s" % (str.upper(nombre)))
+ valor = getattr(pygame, "K_%s" % (str.upper(nombre)))
except:
print "no has programado la traduccion de esta tecla: ", nombre
return False
- evt = pygame.event.Event(tipo, key= valor, unicode= unic, mod=None)
+ evt = pygame.event.Event(tipo, key = valor, unicode = unic, mod = None)
try:
pygame.event.post(evt)
except:
@@ -73,7 +76,8 @@ class PygameCanvas(gtk.EventBox):
return False
def mousedown(self, widget, event):
- evt = pygame.event.Event(pygame.MOUSEBUTTONDOWN, button= event.button, pos=(int(event.x), int(event.y)))
+ evt = pygame.event.Event(pygame.MOUSEBUTTONDOWN,
+ button = event.button, pos=(int(event.x), int(event.y)))
try:
pygame.event.post(evt)
except:
@@ -83,13 +87,14 @@ class PygameCanvas(gtk.EventBox):
def mousemotion(self, widget, event):
x, y, state = event.window.get_pointer()
rel = (x - self.mouse_pos[0], y - self.mouse_pos[1])
- self.mouse_pos= (int(x), int(y))
+ self.mouse_pos = (int(x), int(y))
self.button_state = [
state & gtk.gdk.BUTTON1_MASK and 1 or 0,
state & gtk.gdk.BUTTON2_MASK and 1 or 0,
state & gtk.gdk.BUTTON3_MASK and 1 or 0,
]
- evt = pygame.event.Event(pygame.MOUSEMOTION, pos= self.mouse_pos, rel=rel, buttons=self.button_state)
+ evt = pygame.event.Event(pygame.MOUSEMOTION, pos = self.mouse_pos,
+ rel = rel, buttons = self.button_state)
try:
pygame.event.post(evt)
except:
@@ -105,7 +110,9 @@ class PygameCanvas(gtk.EventBox):
return False # continue processing
def resize(self, widget, event):
- evt = pygame.event.Event(pygame.VIDEORESIZE, size=(event.width,event.height), width=event.width, height=event.height)
+ evt = pygame.event.Event(pygame.VIDEORESIZE,
+ size = (event.width,event.height),
+ width = event.width, height=event.height)
try:
pygame.event.post(evt)
except:
@@ -120,26 +127,19 @@ class PygameCanvas(gtk.EventBox):
self.queue_draw()
return False
-# -----------------------------------------------
-# ******** El Juego en gtk ********
-# -----------------------------------------------
class VentanaGTK(gtk.Window):
def __init__(self):
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
self.set_title("Derecho A Transitar")
self.fullscreen()
-
- self.socket = gtk.Socket()
- self.add(self.socket)
-
- self.gtkplug= gtkplug()
+ self.socket = gtk.Socket()
+ self.add(self.socket)
+ self.gtkplug = gtkplug()
self.socket.add_id(self.gtkplug.get_id())
-
self.add_events(gtk.gdk.ALL_EVENTS_MASK)
self.connect("destroy", self.salir)
self.connect("set-focus-child", self.refresh)
self.show_all()
-
def refresh(self, widget, datos):
try:
pygame.display.update()
@@ -147,7 +147,6 @@ class VentanaGTK(gtk.Window):
pass
self.queue_draw()
return True
-
def salir(self, widget):
pygame.quit()
sys.exit()
@@ -155,26 +154,118 @@ class VentanaGTK(gtk.Window):
class gtkplug(gtk.Plug):
def __init__(self):
gtk.Plug.__init__(self, 0L)
- self.set_title("Ventana de Plug")
- self.resolucion= (self.get_screen().get_width(),self.get_screen().get_height())
- self.eventbox= PygameCanvas()
+ self.resolucion = (self.get_screen().get_width(),self.get_screen().get_height())
+ self.eventbox = PygameCanvas()
self.add(self.eventbox)
- self.ventana= None
+ self.ventana = None
self.show_all()
-
+ self.usuario = None
self.connect("embedded", self.embed_event)
+ os.putenv('SDL_WINDOWID', str(self.eventbox.socket.get_id()))
+ gobject.idle_add(self.run_derecho_a_transitar)
- os.putenv('SDL_WINDOWID', str(self.eventbox.socket.get_id()))
- gobject.idle_add(self.get_run_game)
+ def embed_event(self, widget):
+ pass
- def get_run_game(self):
+ def run_derecho_a_transitar(self):
+ ''' Presentacion inicial.'''
pygame.init()
- self.eventbox.socket.window.set_cursor(None)
- Main()
+ self.eventbox.socket.window.set_cursor(None)
+ from Main import Main
+ main = Main()
+ main.connect("run", self.run_login)
+ #main.connect("run", self.run_menu)
+ main.run()
return False
- def embed_event(self, widget):
- print "Juego embebido"
+ def run_login(self, widget):
+ # Seleccionar un Usuario o llama a crear uno nuevo.
+ from Login import Login
+ login = Login()
+ login.connect("crear_usuario", self.crear_usuario)
+ login.connect("load_usuario", self.run_menu)
+ login.run()
+ return False
+
+ def crear_usuario(self, widget):
+ # Crear un Nuevo Usuario y pasa al menú o vuelve al login.
+ widget.destroy()
+ from Crear_Usuario import Crear_Usuario
+ crear_usuario = Crear_Usuario()
+ crear_usuario.connect("back", self.run_login)
+ crear_usuario.connect("run", self.run_menu)
+ crear_usuario.run()
+ return False
+
+ def run_menu(self, widget, usuario = None):
+ # Menú con grupos de actividades.
+ # Se llama desde login y crear usuario.
+ if usuario: self.usuario = usuario
+ filename = os.path.join(G.USERS, self.usuario['nombre'])
+ d = shelve.open(filename)
+ d['nombre'] = self.usuario['nombre']
+ d['edad'] = self.usuario['edad']
+ d['escuela'] = self.usuario['escuela']
+ d['clase'] = self.usuario['clase']
+ d['departamento'] = self.usuario['departamento']
+ d['personaje'] = self.usuario['personaje']
+ d.close()
+ os.chmod(filename, 0666)
+ widget.destroy()
+ from Menu import Menu
+ menu = Menu(self.usuario)
+ menu.connect("run_grupo", self.run_grupo)
+ menu.connect("back", self.run_login)
+ menu.run()
+ return False
+
+ def run_grupo(self, widget, grupo, puntos = None):
+ # Menú de actividades para grupos.
+ widget.destroy()
+ if puntos: print ">>>>", puntos # Guardar por actividad
+ from Grupos import Grupos
+ grupos = Grupos(grupo, self.usuario)
+ grupos.connect("back", self.run_menu)
+ grupos.connect("run_game", self.run_game)
+ grupos.run()
+ return False
+
+ def run_game(self, widget, game):
+ # Corre un juego.
+ widget.destroy()
+ if game == "FGR_T0101":
+ from FGR_T0101 import FGR_T0101
+ juego = FGR_T0101()
+ if game == "FGR_T0102":
+ from FGR_T0102 import FGR_T0102
+ juego = FGR_T0102()
+ if game == "FGR_T0201":
+ from FGR_T0201 import FGR_T0201
+ juego = FGR_T0201()
+ if game == "FGR_T0202":
+ from FGR_T0202 import FGR_T0202
+ juego = FGR_T0202()
+ if game == "FGR_T0301":
+ from FGR_T0301 import FGR_T0301
+ juego = FGR_T0301()
+ if game == "FGR_T0302":
+ from FGR_T0302 import FGR_T0302
+ juego = FGR_T0302()
+ if game == "FGR_T0303":
+ from FGR_T0303 import FGR_T0303
+ juego = FGR_T0303()
+ if game == "FGR_T0401":
+ from FGR_T0401 import FGR_T0401
+ juego = FGR_T0401()
+ if game == "FGR_T0402":
+ from FGR_T0402 import FGR_T0402
+ juego = FGR_T0402()
+ if game == "FGR_T0501":
+ from FGR_T0501 import FGR_T0501
+ juego = FGR_T0501()
+ juego.connect("run_grupo", self.run_grupo)
+ juego.run()
+ return False
if __name__=="__main__":
VentanaGTK()
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()
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()
diff --git a/FGR_T0201.py b/FGR_T0201.py
index 63f49e1..8c7bd18 100644
--- a/FGR_T0201.py
+++ b/FGR_T0201.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 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_T0201():
- def __init__(self, main):
- # Variables para JAMatrix
- self.ventana= None
- self.name= "Caminando a la Escuela"
- self.estado= False
-
- self.main= main
- self.ventana= self.main.ventana
-
+class FGR_T0201(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 = "Caminando a la Escuela"
+ 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.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,18 +114,6 @@ class FGR_T0201():
#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.carteles.init()
@@ -139,7 +129,7 @@ class FGR_T0201():
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)
@@ -239,7 +229,10 @@ class FGR_T0201():
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()
@@ -248,8 +241,6 @@ class FGR_T0201():
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_T0201()
self.textos= Textos_Intro()
self.botonesmenu= ButtonsMenu(self)
@@ -259,12 +250,6 @@ class FGR_T0201():
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)
# ----------- EVENTOS en MENU ---------------
def handle_event_Intro(self):
@@ -367,7 +352,7 @@ class FGR_T0201():
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))
@@ -381,12 +366,15 @@ class FGR_T0201():
# ----------- 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", "grupo2", self.puntos)
# -------- CONTROLES ----------
class Controles(pygame.sprite.OrderedUpdates):
@@ -462,7 +450,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)
@@ -503,7 +491,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]
@@ -639,7 +627,7 @@ class Sprite_Palabras(JAMButton):
JAMButton.__init__(self, texto, None)
self.main= main
self.ubicada= False
- self.name= self.get_text()
+ self.nombre= self.get_text()
def update(self):
if self == self.main.senial_select or self.ubicada: return
@@ -715,10 +703,10 @@ class Sprites_Labels_Cartesles(JAMLabel):
class Sprite_Carteles(JAMButton):
''' El cartel.'''
- def __init__(self, main, name):
+ def __init__(self, main, nombre):
JAMButton.__init__(self, ".................", None)
self.main= main
- self.name= name
+ self.nombre= nombre
self.set_colores(colorbas= JAMG.get_negro(), colorbor= JAMG.get_blanco(), colorcara= JAMG.get_negro())
self.set_text(color= JAMG.get_blanco())
self.set_font_from_file(JAMG.get_Font_fawn()[0], tamanio= 25)
@@ -836,7 +824,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 ---------
@@ -942,8 +930,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_T0201()
diff --git a/FGR_T0202.py b/FGR_T0202.py
index 5a4b86b..5872cda 100644
--- a/FGR_T0202.py
+++ b/FGR_T0202.py
@@ -6,60 +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_T0202():
- def __init__(self, main):
- # Variables para JAMatrix
- self.ventana= None
- self.name= "Caminando a la Escuela II"
- self.estado= False
-
- self.main= main
- self.ventana= self.main.ventana
-
+class FGR_T0202(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 = "Caminando a la Escuela II"
+ 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.senial_select= None
+ self.textos = None
+ self.botonesmenu = None
+ self.controles = None
+ self.seniales = 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))
@@ -107,18 +109,6 @@ class FGR_T0202():
#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()
@@ -204,7 +194,10 @@ class FGR_T0202():
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()
@@ -213,8 +206,6 @@ class FGR_T0202():
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_T0202()
self.textos= Textos_Intro()
self.botonesmenu= ButtonsMenu(self)
@@ -223,12 +214,6 @@ class FGR_T0202():
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)
# ----------- EVENTOS en MENU ---------------
def handle_event_Intro(self):
@@ -331,7 +316,7 @@ class FGR_T0202():
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))
@@ -345,11 +330,14 @@ class FGR_T0202():
# ----------- 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.controles.empty()'''
+ self.estado = False
+ self.emit("run_grupo", "grupo2", self.puntos)
# -------- CONTROLES ----------
class Controles(pygame.sprite.OrderedUpdates):
@@ -388,7 +376,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)
@@ -426,7 +414,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]
@@ -726,7 +714,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 ---------
@@ -832,15 +820,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.init()
- pygame.display.set_mode(G.RESOLUCION , 0, 0)
- self.ventana= pygame.display.get_surface()
- FGR_T0202(self)
-
-if __name__ == "__main__":
- Main()
diff --git a/FGR_T0301.py b/FGR_T0301.py
index 3d23368..b0de625 100644
--- a/FGR_T0301.py
+++ b/FGR_T0301.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 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_T0301():
- def __init__(self, main):
- # Variables para JAMatrix
- self.ventana= None
- self.name= "Seré Conductor"
- self.estado= False
-
- self.main= main
- self.ventana= self.main.ventana
-
+class FGR_T0301(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 = "Seré Conductor"
+ 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.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))
@@ -111,18 +113,6 @@ class FGR_T0301():
#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.carteles.init()
@@ -211,7 +201,10 @@ class FGR_T0301():
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()
@@ -220,8 +213,6 @@ class FGR_T0301():
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_T0301()
self.textos= Textos_Intro()
self.botonesmenu= ButtonsMenu(self)
@@ -231,12 +222,6 @@ class FGR_T0301():
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)
# ----------- EVENTOS en MENU ---------------
def handle_event_Intro(self):
@@ -339,7 +324,7 @@ class FGR_T0301():
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))
@@ -353,12 +338,15 @@ class FGR_T0301():
# ----------- 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", "grupo3", self.puntos)
# -------- CONTROLES ----------
class Controles(pygame.sprite.OrderedUpdates):
@@ -396,7 +384,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)
@@ -434,7 +422,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]
@@ -677,7 +665,7 @@ class Sprite_Imagen_Palabra(pygame.sprite.Sprite):
self.kill()
class Palabra(pygame.sprite.OrderedUpdates):
- def __init__(self, main, name):
+ def __init__(self, main, nombre):
pygame.sprite.OrderedUpdates.__init__(self)
self.ubicada= False
@@ -844,7 +832,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 ---------
@@ -950,15 +938,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.init()
- pygame.display.set_mode(G.RESOLUCION , 0, 0)
- self.ventana= pygame.display.get_surface()
- FGR_T0301(self)
-
-if __name__ == "__main__":
- Main()
diff --git a/FGR_T0302.py b/FGR_T0302.py
index b1cc0c4..e6887ec 100644
--- a/FGR_T0302.py
+++ b/FGR_T0302.py
@@ -6,60 +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_T0302():
- def __init__(self, main):
- # Variables para JAMatrix
- self.ventana= None
- self.name= "Seré Conductor. ¡A Rodar!"
- self.estado= False
-
- self.main= main
- self.ventana= self.main.ventana
-
+class FGR_T0302(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 = "Seré Conductor. ¡A Rodar!"
+ 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.senial_select= None
+ self.textos = None
+ self.botonesmenu = None
+ self.controles = None
+ self.seniales = 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.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))
@@ -107,18 +109,6 @@ class FGR_T0302():
#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()
@@ -205,7 +195,10 @@ class FGR_T0302():
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()
@@ -214,8 +207,6 @@ class FGR_T0302():
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_T0302()
self.textos= Textos_Intro()
self.botonesmenu= ButtonsMenu(self)
@@ -224,12 +215,6 @@ class FGR_T0302():
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)
# ----------- EVENTOS en MENU ---------------
def handle_event_Intro(self):
@@ -332,7 +317,7 @@ class FGR_T0302():
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))
@@ -346,11 +331,14 @@ class FGR_T0302():
# ----------- 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.controles.empty()'''
+ self.estado = False
+ self.emit("run_grupo", "grupo3", self.puntos)
# -------- CONTROLES ----------
class Controles(pygame.sprite.OrderedUpdates):
@@ -389,7 +377,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)
@@ -427,7 +415,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]
@@ -794,7 +782,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 ---------
@@ -900,16 +888,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.init()
- pygame.display.set_mode(G.RESOLUCION , 0, 0)
- self.ventana= pygame.display.get_surface()
- FGR_T0302(self)
-
-if __name__ == "__main__":
- Main()
-
diff --git a/FGR_T0303.py b/FGR_T0303.py
index ef2becd..2f80abb 100644
--- a/FGR_T0303.py
+++ b/FGR_T0303.py
@@ -6,27 +6,27 @@
# 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_T0303():
- def __init__(self, main):
- # Variables para JAMatrix
- self.ventana= None
- self.name= "¡Ciclistas y peatones precavidos y expertos!"
- self.estado= False
-
- self.main= main
- self.ventana= self.main.ventana
-
+class FGR_T0303(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 = "¡Ciclistas y peatones precavidos y expertos!"
+ self.estado = False
# Variables del Juego
self.fondo= None
self.reloj= None
@@ -49,17 +49,19 @@ class FGR_T0303():
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))
@@ -107,18 +109,6 @@ class FGR_T0303():
#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()
@@ -205,7 +195,10 @@ class FGR_T0303():
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()
@@ -214,8 +207,6 @@ class FGR_T0303():
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_T0303()
self.textos= Textos_Intro()
self.botonesmenu= ButtonsMenu(self)
@@ -224,12 +215,6 @@ class FGR_T0303():
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)
# ----------- EVENTOS en MENU ---------------
def handle_event_Intro(self):
@@ -332,7 +317,7 @@ class FGR_T0303():
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))
@@ -346,11 +331,14 @@ class FGR_T0303():
# ----------- 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.controles.empty()'''
+ self.estado = False
+ self.emit("run_grupo", "grupo3", self.puntos)
# -------- CONTROLES ----------
class Controles(pygame.sprite.OrderedUpdates):
@@ -389,7 +377,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= 25)
@@ -427,7 +415,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]
@@ -741,7 +729,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 ---------
@@ -847,16 +835,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.init()
- pygame.display.set_mode(G.RESOLUCION , 0, 0)
- self.ventana= pygame.display.get_surface()
- FGR_T0303(self)
-
-if __name__ == "__main__":
- Main()
-
diff --git a/FGR_T0401.py b/FGR_T0401.py
index fa27d80..f62b330 100644
--- a/FGR_T0401.py
+++ b/FGR_T0401.py
@@ -6,26 +6,27 @@
# 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_T0401():
- def __init__(self, main):
- # Variables para JAMatrix
- self.ventana= None
- self.name= "Niñas y niños pasajeros!"
- self.estado= False
-
- self.main= main
- self.ventana= self.main.ventana
+class FGR_T0401(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 = "Niñas y niños pasajeros!"
+ self.estado = False
# Variables del Juego
self.fondo= None
@@ -49,17 +50,19 @@ class FGR_T0401():
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))
@@ -107,18 +110,6 @@ class FGR_T0401():
#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()
@@ -205,7 +196,10 @@ class FGR_T0401():
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()
@@ -214,8 +208,6 @@ class FGR_T0401():
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_T0401()
self.textos= Textos_Intro()
self.botonesmenu= ButtonsMenu(self)
@@ -224,12 +216,6 @@ class FGR_T0401():
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)
# ----------- EVENTOS en MENU ---------------
def handle_event_Intro(self):
@@ -332,7 +318,7 @@ class FGR_T0401():
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))
@@ -346,11 +332,14 @@ class FGR_T0401():
# ----------- 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.controles.empty()'''
+ self.estado = False
+ self.emit("run_grupo", "grupo4", self.puntos)
# -------- CONTROLES ----------
class Controles(pygame.sprite.OrderedUpdates):
@@ -389,7 +378,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)
@@ -427,7 +416,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]
@@ -779,7 +768,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 ---------
@@ -885,16 +874,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.init()
- pygame.display.set_mode(G.RESOLUCION , 0, 0)
- self.ventana= pygame.display.get_surface()
- FGR_T0401(self)
-
-if __name__ == "__main__":
- Main()
-
diff --git a/FGR_T0402.py b/FGR_T0402.py
index aabe60d..349ba01 100644
--- a/FGR_T0402.py
+++ b/FGR_T0402.py
@@ -6,60 +6,63 @@
# 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_T0402():
- def __init__(self, main):
- # Variables para JAMatrix
- self.ventana= None
- self.name= "¡Pasajeros sin responsabilidad ciudadana!"
- self.estado= False
-
- self.main= main
- self.ventana= self.main.ventana
+class FGR_T0402(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 = "¡Pasajeros sin responsabilidad ciudadana!"
+ 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.senial_select= None
+ self.textos = None
+ self.botonesmenu = None
+ self.controles = None
+ self.seniales = 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))
@@ -107,18 +110,6 @@ class FGR_T0402():
#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()
@@ -209,7 +200,10 @@ class FGR_T0402():
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()
@@ -218,8 +212,6 @@ class FGR_T0402():
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_T0402()
self.textos= Textos_Intro()
self.botonesmenu= ButtonsMenu(self)
@@ -228,12 +220,6 @@ class FGR_T0402():
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)
# ----------- EVENTOS en MENU ---------------
def handle_event_Intro(self):
@@ -336,7 +322,7 @@ class FGR_T0402():
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))
@@ -350,11 +336,14 @@ class FGR_T0402():
# ----------- 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.controles.empty()'''
+ self.estado = False
+ self.emit("run_grupo", "grupo4", self.puntos)
# -------- CONTROLES ----------
class Controles(pygame.sprite.OrderedUpdates):
@@ -393,7 +382,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= 25)
@@ -431,7 +420,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]
@@ -742,7 +731,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 ---------
@@ -848,16 +837,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.init()
- pygame.display.set_mode(G.RESOLUCION , 0, 0)
- self.ventana= pygame.display.get_surface()
- FGR_T0402(self)
-
-if __name__ == "__main__":
- Main()
-
diff --git a/FGR_T0501.py b/FGR_T0501.py
index ce80812..1abacaf 100644
--- a/FGR_T0501.py
+++ b/FGR_T0501.py
@@ -6,26 +6,27 @@
# 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_T0501():
- def __init__(self, main):
- # Variables para JAMatrix
- self.ventana= None
- self.name= "Paseando en Familia"
- self.estado= False
-
- self.main= main
- self.ventana= self.main.ventana
+class FGR_T0501(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 = "Paseando en Familia"
+ self.estado = False
# Variables del Juego
self.fondo= None
@@ -49,17 +50,19 @@ class FGR_T0501():
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))
@@ -107,18 +110,6 @@ class FGR_T0501():
#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()
@@ -205,7 +196,10 @@ class FGR_T0501():
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()
@@ -214,8 +208,6 @@ class FGR_T0501():
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_T0501()
self.textos= Textos_Intro()
self.botonesmenu= ButtonsMenu(self)
@@ -226,11 +218,6 @@ class FGR_T0501():
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):
@@ -332,7 +319,7 @@ class FGR_T0501():
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))
@@ -346,11 +333,14 @@ class FGR_T0501():
# ----------- 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.controles.empty()'''
+ self.estado = False
+ self.emit("run_grupo", "grupo5", self.puntos)
# -------- CONTROLES ----------
class Controles(pygame.sprite.OrderedUpdates):
@@ -389,7 +379,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)
@@ -427,7 +417,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]
@@ -778,7 +768,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 ---------
@@ -884,16 +874,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.init()
- pygame.display.set_mode(G.RESOLUCION , 0, 0)
- self.ventana= pygame.display.get_surface()
- FGR_T0501(self)
-
-if __name__ == "__main__":
- Main()
-
diff --git a/Globals.py b/Globals.py
index aa863f2..184ea58 100644
--- a/Globals.py
+++ b/Globals.py
@@ -6,100 +6,158 @@
# https://sites.google.com/site/sugaractivities/
# http://codigosdeejemplo.blogspot.com/
-import pygame, gc, sys, os, random, platform
+import pygame
+import gc
+import sys
+import os
+import random
+import platform
+import gtk
+import shelve
+
from pygame.locals import *
gc.enable()
+GRIS = gtk.gdk.Color(60156, 60156, 60156, 1)
+AMARILLO1 = gtk.gdk.Color(65000,65000,40275,1)
+NARANJA = gtk.gdk.Color(65000,26000,0,1)
+BLANCO = gtk.gdk.Color(65535, 65535, 65535,1)
+NEGRO = gtk.gdk.Color(0, 0, 0, 1)
+CELESTE = gtk.gdk.Color(63000, 65535, 65535,1)
+
if "olpc" in platform.platform():
os.environ['SDL_AUDIODRIVER'] = 'alsa'
-DIRECTORIO_BASE= os.path.dirname(__file__)
+DIRECTORIO_BASE = os.path.dirname(__file__)
+IMAGENES = os.path.join(DIRECTORIO_BASE, "Imagenes")
+SONIDOS = os.path.join(DIRECTORIO_BASE, "Sonidos")
+
+USERS = os.path.join(os.environ["HOME"], "DerechoATransitar")
+if not os.path.exists(USERS):
+ os.mkdir(USERS)
+ os.chmod(USERS, 0755)
+
+def get_users():
+ archivos = os.listdir(USERS)
+ usuarios = []
+ for archivo in archivos:
+ arch = shelve.open(os.path.join(USERS, archivo))
+ usuario = dict(arch)
+ arch.close()
+ usuarios.append(usuario)
+ return usuarios
def Traduce_posiciones(VA, VH):
-# Escala eventos de Posición
- eventos= pygame.event.get(pygame.MOUSEBUTTONDOWN)
+ eventos = pygame.event.get(pygame.MOUSEBUTTONDOWN)
for event in eventos:
x, y = event.pos
- xx= x/VA
- yy= y/VH
- event_pos= (xx, yy)
+ xx = x/VA
+ yy = y/VH
+ event_pos = (xx, yy)
for event in eventos:
- evt = pygame.event.Event(pygame.MOUSEBUTTONDOWN, pos= event_pos, button=event.button)
+ evt = pygame.event.Event(pygame.MOUSEBUTTONDOWN,
+ pos = event_pos, button = event.button)
pygame.event.post(evt)
- eventos= pygame.event.get(pygame.MOUSEMOTION)
+ eventos = pygame.event.get(pygame.MOUSEMOTION)
for event in eventos:
x, y = event.pos
- xx= x/VA
- yy= y/VH
- event_pos= (xx, yy)
+ xx = x/VA
+ yy = y/VH
+ event_pos = (xx, yy)
for event in eventos:
- evt = pygame.event.Event(pygame.MOUSEMOTION, pos= event_pos, rel=event.rel, buttons=event.buttons)
+ evt = pygame.event.Event(pygame.MOUSEMOTION,
+ pos = event_pos, rel = event.rel, buttons = event.buttons)
pygame.event.post(evt)
# ---- Generales
RESOLUCION = (1200,900)
def get_Fondo_Inicial():
- return pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/Pantalla-Inicio.jpg"), RESOLUCION)
+ imagen = os.path.join(IMAGENES, "Pantalla-Inicio.jpg")
+ return pygame.transform.scale(pygame.image.load(imagen), RESOLUCION)
def get_Fondo():
- return pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/fondo1.jpg"), (1200,900))
+ imagen = os.path.join(IMAGENES, "fondo1.jpg")
+ return pygame.transform.scale(pygame.image.load(imagen), RESOLUCION)
def get_Flecha():
- return (DIRECTORIO_BASE+"/Imagenes/flecha.png")
+ return os.path.join(IMAGENES, "flecha.png")
def get_Sonidos():
- frenada1= pygame.mixer.Sound(DIRECTORIO_BASE+"/Sonidos/frenada1.ogg")
- aplausos1= pygame.mixer.Sound(DIRECTORIO_BASE+"/Sonidos/aplausos1.ogg")
+ sonido = os.path.join(SONIDOS, "frenada1.ogg")
+ frenada1 = pygame.mixer.Sound(sonido)
+ sonido = os.path.join(SONIDOS, "aplausos1.ogg")
+ aplausos1 = pygame.mixer.Sound(sonido)
return frenada1, aplausos1
def get_ambiente():
- ambiente= None#pygame.mixer.music.load(DIRECTORIO_BASE+"/Sonidos/ambiente.ogg")
+ ambiente = None
+ # pygame.mixer.music.load(DIRECTORIO_BASE+"/Sonidos/ambiente.ogg")
return ambiente
def get_Imagen_Cartel1():
- ''' Devuelve la imagen para los carteles. '''
- return pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/cartel1.png"), (276,145))
+ imagen = os.path.join(IMAGENES, "cartel1.png")
+ return pygame.transform.scale(pygame.image.load(imagen), (276,145))
def get_Imagen_CartelMenu():
- ''' Devuelve la imagen para los carteles. '''
- un= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/cartel2.png"), (250,162))
- dos= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/cartel3.png"), (250,162))
+ imagen = os.path.join(IMAGENES, "cartel2.png")
+ un = pygame.transform.scale(pygame.image.load(imagen), (250,162))
+ imagen = os.path.join(IMAGENES, "cartel3.png")
+ dos = pygame.transform.scale(pygame.image.load(imagen), (250,162))
return (un, dos)
def get_Imagen_Gruber1():
- return pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/cebra1.png"), (250,310))
+ imagen = os.path.join(IMAGENES, "cebra1.png")
+ return pygame.transform.scale(pygame.image.load(imagen), (250,310))
def get_Imagen_Gruber2():
- return pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/cebra2.png"), (250,310))
+ imagen = os.path.join(IMAGENES, "cebra2.png")
+ return pygame.transform.scale(pygame.image.load(imagen), (250,310))
def get_Imagen_Gruber3():
- return pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/cebra3.png"), (250,310))
+ imagen = os.path.join(IMAGENES, "cebra3.png")
+ return pygame.transform.scale(pygame.image.load(imagen), (250,310))
def get_sound_clock():
- clock1= pygame.mixer.Sound(DIRECTORIO_BASE+"/Sonidos/clock_tick1.ogg")
- clock2= pygame.mixer.Sound(DIRECTORIO_BASE+"/Sonidos/clock_tick2.ogg")
- clock3= pygame.mixer.Sound(DIRECTORIO_BASE+"/Sonidos/clock_tick3.ogg")
+ sonido = os.path.join(SONIDOS, "clock_tick1.ogg")
+ clock1 = pygame.mixer.Sound(sonido)
+ sonido = os.path.join(SONIDOS, "clock_tick2.ogg")
+ clock2 = pygame.mixer.Sound(sonido)
+ sonido = os.path.join(SONIDOS, "clock_tick3.ogg")
+ clock3 = pygame.mixer.Sound(sonido)
return [clock1, clock2, clock3]
def get_instruc(name):
- return pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/Instructivos/%s.jpg" % (name)), (1200,900))
+ 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= DIRECTORIO_BASE+"/Imagenes/Presentacion/"
- imagenes= []
+ directorio = os.path.join(IMAGENES, "Presentacion")
+ imagenes = []
for archivo in os.listdir(directorio):
- imagen= pygame.transform.scale(pygame.image.load(directorio + "%s" % (archivo)), (1200,900))
+ img = os.path.join(directorio, "%s" % (archivo))
+ imagen = pygame.transform.scale(pygame.image.load(img), RESOLUCION)
imagenes.append(imagen)
return imagenes
+'''
def get_cartel_presenta():
- img1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/pandilla1.png"), (175,175))
- img2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/pandilla2.png"), (175,175))
- return img1, img2
+ imagen = os.path.join(IMAGENES, "pandilla1.png")
+ img1 = pygame.transform.scale(pygame.image.load(imagen), (175,175))
+ imagen = os.path.join(IMAGENES, "pandilla2.png")
+ img2 = pygame.transform.scale(pygame.image.load(imagen), (175,175))
+ return img1, img2'''
# ------------- T0101 -------------
# Imagenes:
def get_Fondos_FGR_T0101():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0101/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0101/fondo2.jpg"), (1200,900))
+ imagen = os.path.join(IMAGENES, "FGR_T0101", "fondo1.jpg")
+ fondo1 = pygame.transform.scale(pygame.image.load(imagen), RESOLUCION)
+ imagen = os.path.join(IMAGENES, "FGR_T0101", "fondo2.jpg")
+ fondo2 = pygame.transform.scale(pygame.image.load(imagen), RESOLUCION)
return (fondo1, fondo2)
def get_Seniales_FGR_T0101():
''' Devuelve las señales y sus posiciones. '''
- seniales= {}
- seniales["Sentido obligatorio"]= (pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/Seniales1/senial1.png"),(145,145)))
- seniales["Curva Peligrosa"]= (pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/Seniales1/senial2.png"),(145,145)))
- seniales["Prohibido Adelantar o Rebasar"]= (pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/Seniales1/senial3.png"),(145,145)))
- seniales["¡Peligro! Paso a nivel sin barrera"]= (pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/Seniales1/senial4.png"),(145,145)))
- seniales["Prohibido acceso a peatones"]= (pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/Seniales1/senial5.png"),(145,145)))
+ seniales = {}
+ imagen = os.path.join(IMAGENES, "Seniales1", "senial1.png")
+ seniales["Sentido obligatorio"] = (pygame.transform.scale(pygame.image.load(imagen),(145,145)))
+ imagen = os.path.join(IMAGENES, "Seniales1", "senial2.png")
+ seniales["Curva Peligrosa"] = (pygame.transform.scale(pygame.image.load(imagen),(145,145)))
+ imagen = os.path.join(IMAGENES, "Seniales1", "senial3.png")
+ seniales["Prohibido Adelantar o Rebasar"] = (pygame.transform.scale(pygame.image.load(imagen),(145,145)))
+ imagen = os.path.join(IMAGENES, "Seniales1", "senial4.png")
+ seniales["¡Peligro! Paso a nivel sin barrera"] = (pygame.transform.scale(pygame.image.load(imagen),(145,145)))
+ imagen = os.path.join(IMAGENES, "Seniales1", "senial5.png")
+ seniales["Prohibido acceso a peatones"] = (pygame.transform.scale(pygame.image.load(imagen),(145,145)))
return seniales
def get_Posicion_Seniales_FGR_T0101():
return [(190,323), (395,272), (600,339), (805,269), (1010,338)]
@@ -107,11 +165,11 @@ def get_Posicion_Seniales_FGR_T0101():
def get_Carteles_FGR_T0101():
''' Devuelve los textos de los carteles. '''
carteles= {}
- carteles["Sentido obligatorio"]= None
- carteles["Curva Peligrosa"]= None
- carteles["Prohibido Adelantar o Rebasar"]= None
- carteles["¡Peligro! Paso a nivel sin barrera"]= None
- carteles["Prohibido acceso a peatones"]= None
+ carteles["Sentido obligatorio"] = None
+ carteles["Curva Peligrosa"] = None
+ carteles["Prohibido Adelantar o Rebasar"] = None
+ carteles["¡Peligro! Paso a nivel sin barrera"] = None
+ carteles["Prohibido acceso a peatones"] = None
return carteles
def get_Posicion_Carteles_FGR_T0101():
''' Devuelve las posiciones de los carteles. '''
@@ -135,8 +193,8 @@ def get_Textos_FGR_T0101():
# ------------- T0102 -------------
# Imagenes:
def get_Fondos_FGR_T0102():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0102/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0102/fondo2.jpg"), (1200,900))
+ fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0102/fondo1.jpg"), RESOLUCION)
+ fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0102/fondo2.jpg"), RESOLUCION)
return (fondo1, fondo2)
def get_Seniales_FGR_T0102():
@@ -242,8 +300,8 @@ def get_Textos_FGR_T0102():
# ------------- T0103 -------------
# Imagenes:
def get_Fondos_FGR_T0103():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0103/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0103/fondo2.jpg"), (1200,900))
+ fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0103/fondo1.jpg"), RESOLUCION)
+ fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0103/fondo2.jpg"), RESOLUCION)
return (fondo1, fondo2)
# Textos:
@@ -264,8 +322,8 @@ def get_frases_FGR_T0103():
# ------------- T0201 -------------
# Imagenes:
def get_Fondos_FGR_T0201():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0201/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0201/fondo2.jpg"), (1200,900))
+ fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0201/fondo1.jpg"), RESOLUCION)
+ fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0201/fondo2.jpg"), RESOLUCION)
return (fondo1,fondo2)
def get_Imagenes_FGR_T0201():
@@ -311,8 +369,8 @@ def get_Posicion_Palabras_FGR_T0201():
# ------------- T0202 -------------
# Imagenes:
def get_Fondos_FGR_T0202():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0202/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0202/fondo2.jpg"), (1200,900))
+ fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0202/fondo1.jpg"), RESOLUCION)
+ fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0202/fondo2.jpg"), RESOLUCION)
return (fondo1,fondo2)
def get_afirmaciones_FGR_T0202():
@@ -368,8 +426,8 @@ def get_Textos_FGR_T0202():
# ------------- T0301 -------------
# Imagenes:
def get_Fondos_FGR_T0301():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0301/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0301/fondo2.jpg"), (1200,900))
+ fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0301/fondo1.jpg"), RESOLUCION)
+ fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0301/fondo2.jpg"), RESOLUCION)
return (fondo1,fondo2)
def get_personajes_FGR_T0301():
@@ -397,8 +455,8 @@ def get_Textos_FGR_T0301():
# ------------- T0302 -------------
# Imagenes:
def get_Fondos_FGR_T0302():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0302/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0302/fondo2.jpg"), (1200,900))
+ fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0302/fondo1.jpg"), RESOLUCION)
+ fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0302/fondo2.jpg"), RESOLUCION)
return (fondo1,fondo2)
# Textos:
@@ -478,8 +536,8 @@ def get_afirmaciones_FGR_T0302():
# ------------- T0401 -------------
# Imagenes:
def get_Fondos_FGR_T0401():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0401/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0401/fondo2.jpg"), (1200,900))
+ fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0401/fondo1.jpg"), RESOLUCION)
+ fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0401/fondo2.jpg"), RESOLUCION)
return (fondo1,fondo2)
# Textos:
@@ -558,8 +616,8 @@ def get_afirmaciones_FGR_T0401():
# ------------- T0501 -------------
# Imagenes:
def get_Fondos_FGR_T0501():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0501/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0501/fondo2.jpg"), (1200,900))
+ fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0501/fondo1.jpg"), RESOLUCION)
+ fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0501/fondo2.jpg"), RESOLUCION)
return (fondo1,fondo2)
# Textos:
@@ -627,8 +685,8 @@ def get_afirmaciones_FGR_T0501():
# ------------- T0303 -------------
# Imagenes:
def get_Fondos_FGR_T0303():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0303/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0303/fondo2.jpg"), (1200,900))
+ fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0303/fondo1.jpg"), RESOLUCION)
+ fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0303/fondo2.jpg"), RESOLUCION)
return (fondo1,fondo2)
# Textos:
@@ -668,8 +726,8 @@ def get_afirmaciones_FGR_T0303():
# ------------- T0402 -------------
# Imagenes:
def get_Fondos_FGR_T0402():
- fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0402/fondo1.jpg"), (1200,900))
- fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0402/fondo2.jpg"), (1200,900))
+ fondo1= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0402/fondo1.jpg"), RESOLUCION)
+ fondo2= pygame.transform.scale(pygame.image.load(DIRECTORIO_BASE+"/Imagenes/FGR_T0402/fondo2.jpg"), RESOLUCION)
return (fondo1,fondo2)
# Textos:
diff --git a/Grupos.py b/Grupos.py
new file mode 100644
index 0000000..879d9be
--- /dev/null
+++ b/Grupos.py
@@ -0,0 +1,452 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Main.py por: Flavio Danesse fdanesse@gmail.com
+# https://sites.google.com/site/flaviodanesse/
+# https://sites.google.com/site/sugaractivities/
+# http://codigosdeejemplo.blogspot.com/
+
+import pygame
+import os
+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
+import BiblioJAM.JAMGlobals as JAMG
+
+class Grupos(gtk.Widget):
+ __gsignals__ = {"run_game":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,)),
+ "back":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, [])}
+ def __init__(self, grupo, usuario):
+ gtk.Widget.__init__(self)
+ self.usuario = usuario
+ self.grupo = grupo
+ self.ventana = None
+ self.estado = False
+ self.fondo = None
+ self.reloj = None
+ self.botonesmenu = None
+ self.ventana_real = None
+ self.resolucionreal = None
+ self.VA = None
+ self.VH = None
+ self.load()
+ self.estado = "Intro"
+
+ def run(self):
+ self.ventana.blit(self.fondo, (0,0))
+ self.botonesmenu.draw(self.ventana)
+ pygame.display.update()
+ while self.estado == "Intro":
+ self.reloj.tick(35)
+ while gtk.events_pending():
+ gtk.main_iteration(False)
+ G.Traduce_posiciones(self.VA, self.VH)
+ self.botonesmenu.clear(self.ventana, self.fondo)
+ self.botonesmenu.update()
+ self.handle_event_Intro()
+ pygame.event.clear()
+ self.botonesmenu.draw(self.ventana)
+ self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
+ pygame.display.update()
+
+ def presentacion(self, button):
+ presentacion = Presentacion(self)
+ self.ventana.blit(self.fondo, (0,0))
+ presentacion.draw(self.ventana)
+ pygame.display.update()
+ while presentacion.estado:
+ self.reloj.tick(35)
+ while gtk.events_pending():
+ gtk.main_iteration(False)
+ G.Traduce_posiciones(self.VA, self.VH)
+ presentacion.clear(self.ventana, self.fondo)
+ presentacion.update()
+ pygame.event.clear()
+ presentacion.draw(self.ventana)
+ self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
+ pygame.display.update()
+ imagen = os.path.join(G.IMAGENES, "Login", "fondo.jpg")
+ self.fondo = pygame.transform.scale(pygame.image.load(imagen), G.RESOLUCION)
+ 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))
+ pygame.display.update()
+
+ def update(self):
+ 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))
+ pygame.display.update()
+
+ def emit_volver(self, button=None):
+ self.estado = None
+ self.emit("back")
+
+ # Juegos Grupo 1
+ def run_game11(self, jambutton):
+ self.estado = None
+ self.emit("run_game", "FGR_T0101")
+ def run_game12(self, jambutton):
+ self.estado = None
+ self.emit("run_game", "FGR_T0102")
+ # Juegos Grupo 2
+ def run_game21(self, jambutton):
+ self.estado = None
+ self.emit("run_game", "FGR_T0201")
+ def run_game22(self, jambutton):
+ self.estado = None
+ self.emit("run_game", "FGR_T0202")
+ # Juegos Grupo 3
+ def run_game31(self, jambutton):
+ self.estado = None
+ self.emit("run_game", "FGR_T0301")
+ def run_game32(self, jambutton):
+ self.estado = None
+ self.emit("run_game", "FGR_T0302")
+ def run_game33(self, jambutton):
+ self.estado = None
+ self.emit("run_game", "FGR_T0303")
+ # Juegos Grupo 4
+ def run_game41(self, jambutton):
+ self.estado = None
+ self.emit("run_game", "FGR_T0401")
+ def run_game42(self, jambutton):
+ self.estado = None
+ self.emit("run_game", "FGR_T0402")
+ # Juegos Grupo 5
+ def run_game51(self, jambutton):
+ self.estado = None
+ self.emit("run_game", "FGR_T0501")
+
+ 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)
+
+ def load(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)
+ imagen = os.path.join(G.IMAGENES, "Login", "fondo.jpg")
+ self.fondo = pygame.transform.scale(pygame.image.load(imagen), G.RESOLUCION)
+ self.botonesmenu = ButtonsMenu(self)
+ self.reloj = pygame.time.Clock()
+ 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)
+
+ def run_dialog_intro(self, button):
+ from BiblioJAM.JAMDialog import JAMDialog
+ dialog = JAMDialog(mensaje = "¿Abandonas el Juego?",
+ funcion_ok = self.ok_intro, funcion_cancel = self.cancel_intro)
+ fuente, tamanio = JAMG.get_Font_fawn()
+ dialog.set_font_from_file(fuente, tamanio = 40)
+ dialog.boton_aceptar.set_font_from_file(fuente, tamanio = 25)
+ dialog.boton_cancelar.set_font_from_file(fuente, tamanio = 25)
+ a,b,c = JAMG.get_estilo_papel_quemado()
+ dialog.set_colors_dialog(base = c, bordes = c)
+ dialog.set_colors_buttons(colorbas = a, colorbor = b, colorcara = c)
+ self.estado = "Dialog"
+ dialog.draw(self.ventana)
+ pygame.display.update()
+ while self.estado == "Dialog":
+ self.reloj.tick(35)
+ while gtk.events_pending():
+ gtk.main_iteration(False)
+ G.Traduce_posiciones(self.VA, self.VH)
+ dialog.clear(self.ventana, self.fondo)
+ dialog.update()
+ pygame.event.clear()
+ 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.emit_volver()
+ def cancel_intro(self, button):
+ self.estado = "Intro"
+
+class ButtonsMenu(pygame.sprite.OrderedUpdates):
+ def __init__(self, main):
+ pygame.sprite.OrderedUpdates.__init__(self)
+ 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())
+ 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)
+
+ imagen = main.usuario['personaje']
+ user = JAMButton(main.usuario['nombre'],None)
+ user.set_imagen(origen = imagen, tamanio = (60,60))
+ user.set_colores(colorbas = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ user.set_tamanios(tamanio = (80,80), grosorbor = 1, detalle = 1, espesor = 1)
+ ww, hh = user.get_tamanio()
+ w,h = G.RESOLUCION
+ user.set_posicion(punto = (w - ww - 10,10))
+ user.connect(callback = None, sonido_select = None)
+ self.add(user)
+
+ if main.grupo == "grupo1":
+ grupo = JAMButton('', None)
+ grupo.set_tamanios(tamanio = (0,0), 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)
+ self.add(grupo)
+
+ uno = JAMButton('T0101', None)
+ uno.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img1.png")
+ #uno.set_imagen(origen = imagen)
+ uno.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ uno.connect(callback = main.run_game11, sonido_select = None)
+ self.add(uno)
+
+ dos = JAMButton('T0102', None)
+ dos.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img2.png")
+ #dos.set_imagen(origen = imagen)
+ dos.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ dos.connect(callback = main.run_game12, sonido_select = None)
+ self.add(dos)
+
+ tres = JAMButton('', None)
+ tres.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img3.png")
+ #tres.set_imagen(origen = imagen)
+ tres.set_colores(colorbas = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ tres.connect(callback = None, sonido_select = None)
+ self.add(tres)
+
+ cuatro = JAMButton('', None)
+ 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 = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ cuatro.connect(callback = None, sonido_select = None)
+ self.add(cuatro)
+
+ if main.grupo == "grupo2":
+ grupo = JAMButton('', None)
+ grupo.set_tamanios(tamanio = (0,0), 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)
+ self.add(grupo)
+
+ uno = JAMButton('T0201', None)
+ uno.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img1.png")
+ #uno.set_imagen(origen = imagen)
+ uno.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ uno.connect(callback = main.run_game21, sonido_select = None)
+ self.add(uno)
+
+ dos = JAMButton('T0202', None)
+ dos.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img2.png")
+ #dos.set_imagen(origen = imagen)
+ dos.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ dos.connect(callback = main.run_game22, sonido_select = None)
+ self.add(dos)
+
+ tres = JAMButton('', None)
+ tres.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img3.png")
+ #tres.set_imagen(origen = imagen)
+ tres.set_colores(colorbas = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ tres.connect(callback = None, sonido_select = None)
+ self.add(tres)
+
+ cuatro = JAMButton('', None)
+ 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 = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ cuatro.connect(callback = None, sonido_select = None)
+ self.add(cuatro)
+
+ if main.grupo == "grupo3":
+ grupo = JAMButton('', None)
+ grupo.set_tamanios(tamanio = (0,0), 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)
+ self.add(grupo)
+
+ uno = JAMButton('T0301', None)
+ uno.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img1.png")
+ #uno.set_imagen(origen = imagen)
+ uno.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ uno.connect(callback = main.run_game31, sonido_select = None)
+ self.add(uno)
+
+ dos = JAMButton('T0302', None)
+ dos.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img2.png")
+ #dos.set_imagen(origen = imagen)
+ dos.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ dos.connect(callback = main.run_game32, sonido_select = None)
+ self.add(dos)
+
+ tres = JAMButton('T0303', None)
+ tres.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img3.png")
+ #tres.set_imagen(origen = imagen)
+ tres.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ tres.connect(callback = main.run_game33, sonido_select = None)
+ self.add(tres)
+
+ cuatro = JAMButton('', None)
+ 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 = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ cuatro.connect(callback = None, sonido_select = None)
+ self.add(cuatro)
+
+ if main.grupo == "grupo4":
+ grupo = JAMButton('', None)
+ grupo.set_tamanios(tamanio = (0,0), 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)
+ self.add(grupo)
+
+ uno = JAMButton('T0401', None)
+ uno.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img1.png")
+ #uno.set_imagen(origen = imagen)
+ uno.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ uno.connect(callback = main.run_game41, sonido_select = None)
+ self.add(uno)
+
+ dos = JAMButton('T0402', None)
+ dos.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img2.png")
+ #dos.set_imagen(origen = imagen)
+ dos.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ dos.connect(callback = main.run_game42, sonido_select = None)
+ self.add(dos)
+
+ tres = JAMButton('', None)
+ tres.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img3.png")
+ #tres.set_imagen(origen = imagen)
+ tres.set_colores(colorbas = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ tres.connect(callback = None, sonido_select = None)
+ self.add(tres)
+
+ cuatro = JAMButton('', None)
+ 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 = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ cuatro.connect(callback = None, sonido_select = None)
+ self.add(cuatro)
+
+ if main.grupo == "grupo5":
+ grupo = JAMButton('', None)
+ grupo.set_tamanios(tamanio = (0,0), 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)
+ self.add(grupo)
+
+ uno = JAMButton('T0501', None)
+ uno.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img1.png")
+ #uno.set_imagen(origen = imagen)
+ uno.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ uno.connect(callback = main.run_game51, sonido_select = None)
+ self.add(uno)
+
+ dos = JAMButton('', None)
+ dos.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img2.png")
+ #dos.set_imagen(origen = imagen)
+ dos.set_colores(colorbas = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ dos.connect(callback = None, sonido_select = None)
+ self.add(dos)
+
+ tres = JAMButton('', None)
+ tres.set_tamanios(tamanio = (264,264), grosorbor = 1, detalle = 1, espesor = 1)
+ #imagen = os.path.join(G.IMAGENES, "Menu", "img3.png")
+ #tres.set_imagen(origen = imagen)
+ tres.set_colores(colorbas = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ tres.connect(callback = None, sonido_select = None)
+ self.add(tres)
+
+ cuatro = JAMButton('', None)
+ 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 = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ cuatro.connect(callback = None, 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) )
+
diff --git a/Imagenes/Login/down.png b/Imagenes/Login/down.png
new file mode 100644
index 0000000..96dc41e
--- /dev/null
+++ b/Imagenes/Login/down.png
Binary files differ
diff --git a/Imagenes/Login/fondo.jpg b/Imagenes/Login/fondo.jpg
new file mode 100644
index 0000000..cd2ac78
--- /dev/null
+++ b/Imagenes/Login/fondo.jpg
Binary files differ
diff --git a/Imagenes/Login/fondo_selecciona.png b/Imagenes/Login/fondo_selecciona.png
new file mode 100644
index 0000000..cf32af6
--- /dev/null
+++ b/Imagenes/Login/fondo_selecciona.png
Binary files differ
diff --git a/Imagenes/Login/jacinto.png b/Imagenes/Login/jacinto.png
new file mode 100644
index 0000000..803ddf7
--- /dev/null
+++ b/Imagenes/Login/jacinto.png
Binary files differ
diff --git a/Imagenes/Login/jose.png b/Imagenes/Login/jose.png
new file mode 100644
index 0000000..e3ede21
--- /dev/null
+++ b/Imagenes/Login/jose.png
Binary files differ
diff --git a/Imagenes/Login/natalia.png b/Imagenes/Login/natalia.png
new file mode 100644
index 0000000..a8dd95a
--- /dev/null
+++ b/Imagenes/Login/natalia.png
Binary files differ
diff --git a/Imagenes/Login/up.png b/Imagenes/Login/up.png
new file mode 100644
index 0000000..b8740e2
--- /dev/null
+++ b/Imagenes/Login/up.png
Binary files differ
diff --git a/Imagenes/Menu/img1.png b/Imagenes/Menu/img1.png
new file mode 100644
index 0000000..846438e
--- /dev/null
+++ b/Imagenes/Menu/img1.png
Binary files differ
diff --git a/Imagenes/Menu/img2.png b/Imagenes/Menu/img2.png
new file mode 100644
index 0000000..91577d6
--- /dev/null
+++ b/Imagenes/Menu/img2.png
Binary files differ
diff --git a/Imagenes/Menu/img3.png b/Imagenes/Menu/img3.png
new file mode 100644
index 0000000..7ab3ee3
--- /dev/null
+++ b/Imagenes/Menu/img3.png
Binary files differ
diff --git a/Imagenes/Menu/img4.png b/Imagenes/Menu/img4.png
new file mode 100644
index 0000000..6b04ca4
--- /dev/null
+++ b/Imagenes/Menu/img4.png
Binary files differ
diff --git a/Imagenes/Menu/img5.png b/Imagenes/Menu/img5.png
new file mode 100644
index 0000000..d1844db
--- /dev/null
+++ b/Imagenes/Menu/img5.png
Binary files differ
diff --git a/Imagenes/back.png b/Imagenes/back.png
new file mode 100644
index 0000000..7635f6b
--- /dev/null
+++ b/Imagenes/back.png
Binary files differ
diff --git a/Imagenes/enter.png b/Imagenes/enter.png
new file mode 100644
index 0000000..dad24f6
--- /dev/null
+++ b/Imagenes/enter.png
Binary files differ
diff --git a/Imagenes/fondo1.jpg b/Imagenes/fondo1.jpg
deleted file mode 100644
index a05388f..0000000
--- a/Imagenes/fondo1.jpg
+++ /dev/null
Binary files differ
diff --git a/Imagenes/fondo1.png b/Imagenes/fondo1.png
new file mode 100644
index 0000000..810620b
--- /dev/null
+++ b/Imagenes/fondo1.png
Binary files differ
diff --git a/Imagenes/icono_teclado.jpg b/Imagenes/icono_teclado.jpg
new file mode 100644
index 0000000..e92aefa
--- /dev/null
+++ b/Imagenes/icono_teclado.jpg
Binary files differ
diff --git a/Login.py b/Login.py
new file mode 100644
index 0000000..7e40567
--- /dev/null
+++ b/Login.py
@@ -0,0 +1,282 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import pygame
+import os
+import gc
+import sys
+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 Login(gtk.Widget):
+ __gsignals__ = {"run":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, []),
+ "crear_usuario":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, []),
+ "load_usuario":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_PYOBJECT,))}
+ def __init__(self):
+ gtk.Widget.__init__(self)
+ self.ventana = None
+ self.estado = False
+ self.fondo = None
+ self.reloj = None
+ self.selector = None
+ self.ventana_real = None
+ self.resolucionreal = None
+ self.VA = None
+ self.VH = None
+ self.load()
+ self.estado = "Intro"
+
+ def run(self):
+ self.ventana.blit(self.fondo, (0,0))
+ self.selector.draw(self.ventana)
+ pygame.display.update()
+ while self.estado == "Intro":
+ self.reloj.tick(35)
+ while gtk.events_pending():
+ gtk.main_iteration(False)
+ G.Traduce_posiciones(self.VA, self.VH)
+ self.selector.clear(self.ventana, self.fondo)
+ self.selector.update()
+ self.handle_event_Intro()
+ pygame.event.clear()
+ self.selector.draw(self.ventana)
+ self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
+ pygame.display.update()
+
+ def run_game(self, button):
+ self.estado = None
+ self.emit("run")
+
+ def crear_usuario(self, button):
+ self.estado = None
+ self.emit("crear_usuario")
+
+ def emit_load_usuario(self, usuario):
+ self.estado = None
+ self.emit("load_usuario", usuario)
+
+ def handle_event_Intro(self):
+ for event in pygame.event.get(pygame.KEYDOWN):
+ tecla = event.key
+ if tecla == pygame.K_ESCAPE:
+ return self.run_dialog_intro(None)
+
+ def load(self):
+ pygame.display.set_mode( (0,0), pygame.DOUBLEBUF | pygame.FULLSCREEN, 0)
+ 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)
+ 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)
+ imagen = os.path.join(G.IMAGENES, "Login", "fondo.jpg")
+ self.fondo = pygame.transform.scale(pygame.image.load(imagen), G.RESOLUCION)
+ self.reloj = pygame.time.Clock()
+ self.selector = Selector(self)
+ self.selector.center(self.fondo.get_size())
+
+ def run_dialog_intro(self, button):
+ from BiblioJAM.JAMDialog import JAMDialog
+ dialog = JAMDialog(mensaje = "¿Abandonas el Juego?",
+ funcion_ok = self.ok_intro, funcion_cancel = self.cancel_intro)
+ fuente, tamanio = JAMG.get_Font_fawn()
+ dialog.set_font_from_file(fuente, tamanio = 40)
+ dialog.boton_aceptar.set_font_from_file(fuente, tamanio = 25)
+ dialog.boton_cancelar.set_font_from_file(fuente, tamanio = 25)
+ a,b,c = JAMG.get_estilo_papel_quemado()
+ dialog.set_colors_dialog(base = c, bordes = c)
+ dialog.set_colors_buttons(colorbas = a, colorbor = b, colorcara = c)
+ self.estado = "Dialog"
+ dialog.draw(self.ventana)
+ pygame.display.update()
+ while self.estado == "Dialog":
+ self.reloj.tick(35)
+ while gtk.events_pending():
+ gtk.main_iteration(False)
+ G.Traduce_posiciones(self.VA, self.VH)
+ dialog.clear(self.ventana, self.fondo)
+ dialog.update()
+ pygame.event.clear()
+ 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()
+ def cancel_intro(self, button):
+ self.estado = "Intro"
+ def salir(self):
+ pygame.quit()
+ sys.exit()
+
+class Selector(pygame.sprite.OrderedUpdates):
+ def __init__(self, main):
+ pygame.sprite.OrderedUpdates.__init__(self)
+ fuente, tamanio= JAMG.get_Font_fawn()
+ self.main = main
+ self.posiciones_usuarios = (0,0)
+ imagen = os.path.join(G.IMAGENES, "Login", "fondo_selecciona.png")
+ imagen = pygame.transform.scale(pygame.image.load(imagen), (427,573))
+ self.fondo = pygame.sprite.Sprite()
+ self.fondo.image = (imagen)
+ self.fondo.rect = self.fondo.image.get_rect()
+ self.add(self.fondo)
+
+ self.label = JAMLabel("Selecciona tu Usuario")
+ self.label.set_font_from_file(fuente, tamanio = 40)
+ self.label.set_text(color = (255,255,255,255))
+ self.add(self.label)
+
+ 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())
+ 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)
+ 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)
+ self.upper.set_imagen(origen = imagen, tamanio = (376, 30))
+ 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.down = JAMButton("",None)
+ imagen = os.path.join(G.IMAGENES, "Login", "down.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)
+
+ usuarios = G.get_users()
+ self.usuarios = []
+ for user in usuarios:
+ usuario = Usuario(user)
+ usuario.connect(callback = self.emit_load_usuario, sonido_select = None)
+ self.usuarios.append(usuario)
+
+ self.usuariosenmenu = None
+ if len(self.usuarios) <= 3:
+ self.usuariosenmenu = self.usuarios
+ else:
+ self.usuariosenmenu = self.usuarios[:3]
+ if self.usuariosenmenu: self.add(self.usuariosenmenu)
+
+ 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.connect(callback = main.crear_usuario, sonido_select = None)
+ self.add(self.crear)
+
+ def up_user(self, button):
+ if len(self.usuarios) <= 3:
+ return
+ else:
+ indice = self.usuarios.index(self.usuariosenmenu[0])
+ indice -= 1
+ usuarios = [self.usuarios[indice], self.usuariosenmenu[0], self.usuariosenmenu[1]]
+ self.remove(self.usuariosenmenu)
+ self.usuariosenmenu = usuarios
+ self.set_posiciones_usuarios()
+ self.add(self.usuariosenmenu)
+
+ def down_user(self, button):
+ if len(self.usuarios) <= 3:
+ return
+ else:
+ indice = self.usuarios.index(self.usuariosenmenu[-1])
+ if indice == len(self.usuarios)-1:
+ indice = 0
+ else:
+ indice += 1
+ usuarios = [self.usuariosenmenu[1], self.usuariosenmenu[2], self.usuarios[indice]]
+ self.remove(self.usuariosenmenu)
+ self.usuariosenmenu = usuarios
+ self.set_posiciones_usuarios()
+ self.add(self.usuariosenmenu)
+
+ def center(self, fondo_size):
+ sep = 10
+
+ a,b = self.label.get_tamanio()
+ self.label.set_posicion( (fondo_size[0]/2-a/2, sep*2) )
+ x,y, fondow, fondoh = self.fondo.rect
+ ww,hh = fondo_size
+ x,y = (ww/2-fondow/2,hh/2-fondoh/2)
+ self.fondo.rect.x, self.fondo.rect.y = (x,y)
+
+ w, h = self.upper.get_tamanio()
+ posx, posy = (x+(fondow/2-w/2), y+sep)
+ self.upper.set_posicion( (posx, posy) )
+
+ w, h = self.down.get_tamanio()
+ posx, posy = (x+(fondow/2-w/2), y+fondoh-h-sep)
+ self.down.set_posicion( (posx, posy) )
+
+ # usuarios
+ x,y = self.upper.get_posicion()
+ w,h = self.upper.get_tamanio()
+ xx,yy = self.down.get_posicion()
+ espacio = (yy-sep) - (y+h+sep)
+ altura = espacio/3
+
+ posy = y+h+sep
+ self.posiciones_usuarios = (x, posy)
+ for user in self.usuarios:
+ user.set_tamanios(tamanio = (w, altura), grosorbor = 1, detalle = 1, espesor = 1)
+ user.set_posicion( (x, posy) )
+ posy += altura
+
+ #self.crear.set_tamanios(tamanio=(w,h*2), grosorbor=1, detalle=1, espesor=1)
+ self.crear.set_tamanios(tamanio=(w,h), grosorbor=1, detalle=1, espesor=1)
+ x,y,ww,h = self.fondo.rect
+ self.crear.set_posicion( (fondo_size[0]/2-w/2, y+h+sep*2 ) )
+
+ def emit_load_usuario(self, widget):
+ self.main.emit_load_usuario(widget.usuario)
+
+ def set_posiciones_usuarios(self):
+ x, posy = self.posiciones_usuarios
+ for user in self.usuariosenmenu:
+ user.set_posicion( (x, posy) )
+ posy += user.get_tamanio()[1]
+
+class Usuario(JAMButton):
+ def __init__(self, usuario):
+ JAMButton.__init__(self, '', None)
+ fuente, tamanio= JAMG.get_Font_fawn()
+ self.usuario = usuario # diccionario cargado desde archivo shelve.
+ imagen = self.usuario['personaje']
+ self.set_imagen(origen = imagen)
+ 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),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+
+
diff --git a/Main.py b/Main.py
index ca5b677..4947a15 100644
--- a/Main.py
+++ b/Main.py
@@ -6,49 +6,36 @@
# https://sites.google.com/site/sugaractivities/
# http://codigosdeejemplo.blogspot.com/
-import pygame, gc, sys, random, gtk, pygtk
-from pygame.locals import *
+import pygame
+import gc
+import sys
+import gtk
+import gobject
+from pygame.locals import *
import Globals as G
gc.enable()
-
import BiblioJAM
from BiblioJAM.JAMButton import JAMButton
import BiblioJAM.JAMGlobals as JAMG
-from Menu import Menu
-class Main():
+class Main(gtk.Widget):
+ __gsignals__ = {"run":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, [])}
def __init__(self):
- # Variables para JAMatrix
- self.ventana= None
- self.name= "Derecho a Transitar"
- self.estado= False
-
- # Variables del Juego
- self.fondo= None
- self.reloj= None
- self.ambiente= None
-
- # Sprites
- self.botonesmenu= None
-
- # Escalado
- self.ventana_real= None
- self.resolucionreal= None
- self.VA= None
- self.VH= None
-
- 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()
-
- def run_menu(self):
+ gtk.Widget.__init__(self)
+ self.ventana = None
+ self.estado = False
+ self.fondo = None
+ self.reloj = None
+ self.botonesmenu = None
+ self.ventana_real = None
+ self.resolucionreal = None
+ self.VA = None
+ self.VH = None
+ self.load()
+ self.estado = "Intro"
+
+ def run(self):
self.ventana.blit(self.fondo, (0,0))
self.botonesmenu.draw(self.ventana)
pygame.display.update()
@@ -66,66 +53,47 @@ class Main():
pygame.display.update()
def run_game(self, button):
- self.fondo= None
- self.reloj= None
- #self.ambiente= None
- for boton in self.botonesmenu:
- boton.kill()
- self.botonesmenu= None
- pygame.time.wait(5)
- return Menu()
-
- def switch(self):
- if self.estado== "Intro":
- self.set_event_intro()
- return self.run_menu()
+ self.estado = None
+ self.emit("run")
- # ----------- EVENTOS en MENU ---------------
def handle_event_Intro(self):
for event in pygame.event.get(pygame.KEYDOWN):
- tecla= event.key
- if tecla== pygame.K_ESCAPE:
+ tecla = event.key
+ if tecla == pygame.K_ESCAPE:
return self.run_dialog_intro(None)
- # ----------- SETEOS -------------
- def preset(self):
+ def load(self):
pygame.display.set_mode( (0,0), pygame.DOUBLEBUF | pygame.FULLSCREEN, 0)
- A, B= G.RESOLUCION
+ 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.fondo= G.get_Fondo_Inicial()
- self.ambiente= G.get_ambiente()
- self.botonesmenu= ButtonsMenu(self)
- self.reloj = pygame.time.Clock()
- #pygame.mixer.music.play(-1)
- self.estado= True
-
- def set_event_intro(self):
+ 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)
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)
+ self.fondo = G.get_Fondo_Inicial()
+ self.botonesmenu = ButtonsMenu(self)
+ self.reloj = pygame.time.Clock()
def run_dialog_intro(self, button):
from BiblioJAM.JAMDialog import JAMDialog
- dialog= JAMDialog(mensaje="¿Abandonas el Juego?", funcion_ok=self.ok_intro, funcion_cancel=self.cancel_intro)
- fuente, tamanio= JAMG.get_Font_fawn()
- dialog.set_font_from_file(fuente, tamanio= 40)
- dialog.boton_aceptar.set_font_from_file(fuente, tamanio= 25)
- dialog.boton_cancelar.set_font_from_file(fuente, tamanio= 25)
- a,b,c= JAMG.get_estilo_papel_quemado()
- dialog.set_colors_dialog(base=c, bordes=c)
- dialog.set_colors_buttons(colorbas=a, colorbor=b, colorcara=c)
- self.estado= "Dialog"
+ dialog = JAMDialog(mensaje = "¿Abandonas el Juego?",
+ funcion_ok = self.ok_intro, funcion_cancel = self.cancel_intro)
+ fuente, tamanio = JAMG.get_Font_fawn()
+ dialog.set_font_from_file(fuente, tamanio = 40)
+ dialog.boton_aceptar.set_font_from_file(fuente, tamanio = 25)
+ dialog.boton_cancelar.set_font_from_file(fuente, tamanio = 25)
+ a,b,c = JAMG.get_estilo_papel_quemado()
+ dialog.set_colors_dialog(base = c, bordes = c)
+ dialog.set_colors_buttons(colorbas = a, colorbor = b, colorcara = c)
+ self.estado = "Dialog"
dialog.draw(self.ventana)
pygame.display.update()
- while self.estado== "Dialog":
+ while self.estado == "Dialog":
self.reloj.tick(35)
while gtk.events_pending():
gtk.main_iteration(False)
@@ -136,7 +104,6 @@ class Main():
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()
@@ -144,39 +111,32 @@ class Main():
def ok_intro(self, button):
return self.salir()
def cancel_intro(self, button):
- self.estado= "Intro"
- # ----------- EVENTOS en MENU ---------------
-
+ self.estado = "Intro"
def salir(self):
pygame.quit()
sys.exit()
-# --------- Botones en Menu (Salir y juegos) ------------------
class ButtonsMenu(pygame.sprite.OrderedUpdates):
def __init__(self, main):
pygame.sprite.OrderedUpdates.__init__(self)
- 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())
- 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)
+ 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())
+ 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)
self.add(salir)
-
- jugar= JAMButton("",None)
- jugar.set_imagen(origen= imagen, tamanio=(100,55))
- jugar.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro())
- jugar.set_tamanios(tamanio=(0,0), grosorbor=1, detalle=1, espesor=1)
- jugar.set_posicion(punto= (1000,800))
- jugar.connect (callback= main.run_game)
+ jugar = JAMButton("",None)
+ jugar.set_imagen(origen = imagen, tamanio = (100,55))
+ jugar.set_colores(colorbas = JAMG.get_negro(), colorcara=JAMG.get_negro())
+ jugar.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1)
+ w,h = G.RESOLUCION
+ ww, hh = jugar.get_tamanio()
+ jugar.set_posicion(punto = (w-ww-10,h-hh-10))
+ jugar.connect (callback = main.run_game)
self.add(jugar)
- jugar.final_select= pygame.transform.flip(jugar.final_select, True, False)
- jugar.final_unselect= pygame.transform.flip(jugar.final_unselect, True, False )
+ jugar.final_select = pygame.transform.flip(jugar.final_select, True, False)
+ jugar.final_unselect = pygame.transform.flip(jugar.final_unselect, True, False )
jugar.image = jugar.final_unselect.copy()
-# --------- Botones en Menu (Salir y juegos) ------------------
-if __name__ == "__main__":
- pygame.init()
- Main()
diff --git a/Menu.py b/Menu.py
index ce16494..49e6519 100644
--- a/Menu.py
+++ b/Menu.py
@@ -6,48 +6,39 @@
# https://sites.google.com/site/sugaractivities/
# http://codigosdeejemplo.blogspot.com/
-import pygame, gc, sys, random, gtk, pygtk
+import pygame
+import os
+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
import BiblioJAM.JAMGlobals as JAMG
-class Menu():
- def __init__(self):
+class Menu(gtk.Widget):
+ __gsignals__ = {"run_grupo":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (gobject.TYPE_STRING,)),
+ "back":(gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, [])}
+ def __init__(self, usuario):
+ gtk.Widget.__init__(self)
+ self.usuario = usuario
self.ventana = None
- self.name= "Derecho a Transitar"
- self.estado= False
-
- # Variables del Juego
- self.fondo= None
- self.reloj= None
-
- # Sprites
- self.botonesmenu= None
- self.game= None
-
- # Escalado
- self.ventana_real= None
- self.resolucionreal= None
- self.VA= None
- self.VH= None
-
- 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()
-
- def run_menu(self):
- ''' loop del menú. '''
+ self.estado = False
+ self.fondo = None
+ self.reloj = None
+ self.botonesmenu = None
+ self.ventana_real = None
+ self.resolucionreal = None
+ self.VA = None
+ self.VH = None
+ self.load()
+ self.estado = "Intro"
+
+ def run(self):
self.ventana.blit(self.fondo, (0,0))
self.botonesmenu.draw(self.ventana)
pygame.display.update()
@@ -65,7 +56,7 @@ class Menu():
pygame.display.update()
def presentacion(self, button):
- presentacion= Presentacion(self)
+ presentacion = Presentacion(self)
self.ventana.blit(self.fondo, (0,0))
presentacion.draw(self.ventana)
pygame.display.update()
@@ -80,8 +71,8 @@ class Menu():
presentacion.draw(self.ventana)
self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
pygame.display.update()
-
- self.fondo= G.get_Fondo()
+ imagen = os.path.join(G.IMAGENES, "Login", "fondo.jpg")
+ self.fondo = pygame.transform.scale(pygame.image.load(imagen), G.RESOLUCION)
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))
@@ -93,161 +84,65 @@ class Menu():
self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
pygame.display.update()
- def run_T0101(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0101 import FGR_T0101
- juego= FGR_T0101(self)
- juego.run()
- self.update()
- if juego.estado: self.run_T0102(None)
-
- def run_T0102(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0102 import FGR_T0102
- juego= FGR_T0102(self)
- juego.run()
- self.update()
- #if juego.estado: self.run_T0103(None)
-
- '''
- def run_T0103(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0103 import FGR_T0103
- return FGR_T0103(self)'''
-
- def run_T0201(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0201 import FGR_T0201
- juego= FGR_T0201(self)
- juego.run()
- self.update()
- if juego.estado: self.run_T0202(None)
-
- def run_T0202(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0202 import FGR_T0202
- juego= FGR_T0202(self)
- juego.run()
- self.update()
- #if juego.estado: self.run_T0102(None)
+ def emit_volver(self, button=None):
+ self.estado = None
+ self.emit("back")
+
+ def run_grupo1(self, jambutton):
+ self.estado = None
+ self.emit("run_grupo", "grupo1")
+ def run_grupo2(self, jambutton):
+ self.estado = None
+ self.emit("run_grupo", "grupo2")
+ def run_grupo3(self, jambutton):
+ self.estado = None
+ self.emit("run_grupo", "grupo3")
+ def run_grupo4(self, jambutton):
+ self.estado = None
+ self.emit("run_grupo", "grupo4")
+ def run_grupo5(self, jambutton):
+ self.estado = None
+ self.emit("run_grupo", "grupo5")
- def run_T0301(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0301 import FGR_T0301
- juego= FGR_T0301(self)
- juego.run()
- self.update()
- if juego.estado: self.run_T0302(None)
-
- def run_T0302(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0302 import FGR_T0302
- juego= FGR_T0302(self)
- juego.run()
- self.update()
- if juego.estado: self.run_T0303(None)
-
- def run_T0303(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0303 import FGR_T0303
- juego= FGR_T0303(self)
- juego.run()
- self.update()
- #if juego.estado: self.run_T0102(None)
-
- def run_T0401(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0401 import FGR_T0401
- juego= FGR_T0401(self)
- juego.run()
- self.update()
- if juego.estado: self.run_T0402(None)
-
- def run_T0402(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0402 import FGR_T0402
- juego= FGR_T0402(self)
- juego.run()
- self.update()
- #if juego.estado: self.run_T0403(None)
-
- def run_T0501(self, jambutton):
- self.ventana.blit(self.fondo, (0,0))
- self.ventana_real.blit(pygame.transform.scale(self.ventana, self.resolucionreal), (0,0))
- pygame.display.update()
- from FGR_T0501 import FGR_T0501
- juego= FGR_T0501(self)
- juego.run()
- self.update()
- #if juego.estado: self.run_T0102(None)
-
- def switch(self):
- if self.estado== "Intro":
- self.set_event_intro()
- return self.run_menu()
-
def handle_event_Intro(self):
for event in pygame.event.get(pygame.KEYDOWN):
- tecla= event.key
- if tecla== pygame.K_ESCAPE:
+ tecla = event.key
+ if tecla == pygame.K_ESCAPE:
pygame.event.clear()
self.run_dialog_intro(None)
- 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.fondo= G.get_Fondo()
- self.botonesmenu= ButtonsMenu(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)
+ imagen = os.path.join(G.IMAGENES, "Login", "fondo.jpg")
+ self.fondo = pygame.transform.scale(pygame.image.load(imagen), G.RESOLUCION)
+ self.botonesmenu = ButtonsMenu(self)
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)
def run_dialog_intro(self, button):
from BiblioJAM.JAMDialog import JAMDialog
- dialog= JAMDialog(mensaje="¿Abandonas el Juego?", funcion_ok=self.ok_intro, funcion_cancel=self.cancel_intro)
- fuente, tamanio= JAMG.get_Font_fawn()
- dialog.set_font_from_file(fuente, tamanio= 40)
- dialog.boton_aceptar.set_font_from_file(fuente, tamanio= 25)
- dialog.boton_cancelar.set_font_from_file(fuente, tamanio= 25)
- a,b,c= JAMG.get_estilo_papel_quemado()
- dialog.set_colors_dialog(base=c, bordes=c)
- dialog.set_colors_buttons(colorbas=a, colorbor=b, colorcara=c)
- self.estado= "Dialog"
+ dialog = JAMDialog(mensaje = "¿Abandonas el Juego?",
+ funcion_ok = self.ok_intro, funcion_cancel = self.cancel_intro)
+ fuente, tamanio = JAMG.get_Font_fawn()
+ dialog.set_font_from_file(fuente, tamanio = 40)
+ dialog.boton_aceptar.set_font_from_file(fuente, tamanio = 25)
+ dialog.boton_cancelar.set_font_from_file(fuente, tamanio = 25)
+ a,b,c = JAMG.get_estilo_papel_quemado()
+ dialog.set_colors_dialog(base = c, bordes = c)
+ dialog.set_colors_buttons(colorbas = a, colorbor = b, colorcara = c)
+ self.estado = "Dialog"
dialog.draw(self.ventana)
pygame.display.update()
- while self.estado== "Dialog":
+ while self.estado == "Dialog":
self.reloj.tick(35)
while gtk.events_pending():
gtk.main_iteration(False)
@@ -264,190 +159,159 @@ class Menu():
pygame.display.update()
def ok_intro(self, button):
- return self.salir()
+ return self.emit_volver()
def cancel_intro(self, button):
- self.estado= "Intro"
-
- def salir(self):
- pygame.quit()
- sys.exit()
+ self.estado = "Intro"
class ButtonsMenu(pygame.sprite.OrderedUpdates):
def __init__(self, main):
pygame.sprite.OrderedUpdates.__init__(self)
- 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())
- 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)
+ 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())
+ 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)
self.add(salir)
- imagen_cartel_unselect, imagen_cartel_select= G.get_Imagen_CartelMenu()
-
- uno= Cartel(imagen_cartel_unselect.copy(), imagen_cartel_select.copy(), "Señales de Tránsito")
- uno.connect(callback= main.run_T0101)
- uno.rect.x, uno.rect.y= (50, 100)
+ imagen = main.usuario['personaje']
+ user = JAMButton(main.usuario['nombre'],None)
+ user.set_imagen(origen = imagen, tamanio = (60,60))
+ user.set_colores(colorbas = (0,153,255,255),
+ colorbor = (0,153,255,255), colorcara = (0,153,255,255))
+ user.set_tamanios(tamanio = (80,80), grosorbor = 1, detalle = 1, espesor = 1)
+ ww, hh = user.get_tamanio()
+ w,h = G.RESOLUCION
+ user.set_posicion(punto = (w - ww - 10,10))
+ user.connect(callback = None, sonido_select = None)
+ self.add(user)
+
+ uno = JAMButton('', None)
+ uno.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1)
+ imagen = os.path.join(G.IMAGENES, "Menu", "img1.png")
+ uno.set_imagen(origen = imagen)
+ uno.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ uno.connect(callback = main.run_grupo1, sonido_select = None)
self.add(uno)
- dos= Cartel(imagen_cartel_unselect.copy(), imagen_cartel_select.copy(), "Caminando a la Escuela")
- dos.connect(callback= main.run_T0201)
- dos.rect.x, dos.rect.y= (200, 270)
+ dos = JAMButton('', None)
+ dos.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1)
+ imagen = os.path.join(G.IMAGENES, "Menu", "img2.png")
+ dos.set_imagen(origen = imagen)
+ dos.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ dos.connect(callback = main.run_grupo2, sonido_select = None)
self.add(dos)
- tres= Cartel(imagen_cartel_unselect.copy(), imagen_cartel_select.copy(), "Seré Conductor")
- tres.connect(callback= main.run_T0301)
- tres.rect.x, tres.rect.y= (380, 180)
+ tres = JAMButton('', None)
+ tres.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1)
+ imagen = os.path.join(G.IMAGENES, "Menu", "img3.png")
+ tres.set_imagen(origen = imagen)
+ tres.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ tres.connect(callback = main.run_grupo3, sonido_select = None)
self.add(tres)
- cuatro= Cartel(imagen_cartel_unselect.copy(), imagen_cartel_select.copy(), "Niñas y niños pasajeros!")
- cuatro.connect(callback= main.run_T0401)
- cuatro.rect.x, cuatro.rect.y= (900, 200)
+ cuatro = JAMButton('', None)
+ cuatro.set_tamanios(tamanio = (0,0), 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_grupo4, sonido_select = None)
self.add(cuatro)
- cinco= Cartel(imagen_cartel_unselect.copy(), imagen_cartel_select.copy(), "Paseando en Familia")
- cinco.connect(callback= main.run_T0501)
- cinco.rect.x, cinco.rect.y= (650, 120)
+ cinco = JAMButton('', None)
+ cinco.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1)
+ imagen = os.path.join(G.IMAGENES, "Menu", "img5.png")
+ cinco.set_imagen(origen = imagen)
+ cinco.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ cinco.connect(callback = main.run_grupo5, sonido_select = None)
self.add(cinco)
- presenta1, presenta2= G.get_cartel_presenta()
- w,h= G.RESOLUCION
- presenta= Cartel(presenta1, presenta2, "")
- presenta.connect(callback= main.presentacion)
- ww,hh= (presenta.rect.w, presenta.rect.h)
- presenta.rect.x, presenta.rect.y= (w-ww, h-hh)
+ presenta = JAMButton("", None)
+ presenta.set_tamanios(tamanio = (0,0), grosorbor = 1, detalle = 1, espesor = 1)
+ imagen = os.path.join(G.IMAGENES, "pandilla1.png")
+ presenta.set_imagen(origen = imagen)
+ presenta.set_colores(colorbas = (255,255,255,255),
+ colorbor = (255,255,255,255), colorcara = (0,153,255,255))
+ presenta.connect(callback = main.presentacion, sonido_select = None)
self.add(presenta)
-class Cartel(pygame.sprite.Sprite):
- def __init__(self, imagen_cartel_unselect, imagen_cartel_select, texto):
- pygame.sprite.Sprite.__init__(self)
- labels= self.get_labels(texto)
- self.final_unselect, self.final_select= (imagen_cartel_unselect, imagen_cartel_select)
- self.bliting_labels(self.final_unselect, labels)
- self.bliting_labels(self.final_select, labels)
- self.image= self.final_unselect
- self.rect= self.image.get_rect()
- self.select= False
- self.callback= False
+ sep = 50
+ w,h = G.RESOLUCION
+ ww, hh = uno.get_tamanio()
+ uno.set_posicion( (w/2-ww/2, sep) )
- def get_labels(self, texto):
- from BiblioJAM.JAMLabel import JAMLabel
- labels= []
- for text in texto.split("\n"):
- label= JAMLabel(text)
- label.set_text(color=JAMG.get_azul1())
- fuente, tamanio= JAMG.get_Font_fawn()
- label.set_font_from_file(fuente, tamanio= 30)
- labels.append(label)
- return labels
+ x, y = uno.get_posicion()
+ dos.set_posicion( (x + ww + sep, y + hh - sep*2) )
+ tres.set_posicion( (x - ww - sep, y + hh - sep*2) )
+ cuatro.set_posicion( ((w/2 - ww) - sep, y + (hh * 2) - sep) )
+ cinco.set_posicion( (w/2 + sep, y + (hh * 2) - sep) )
- def bliting_labels(self, imagen, labels):
- x,y,w,h= imagen.get_rect()
- y+= 10
- for label in labels:
- w1,h1= label.get_tamanio()
- imagen.blit(label.image, (w/2-w1/2, y))
- y+= h1
-
- def connect(self, callback=None):
- self.callback= callback
-
- def update(self):
- eventos_republicar= []
- eventos= pygame.event.get(pygame.MOUSEBUTTONDOWN)
- for event in eventos:
- posicion = event.pos
- if self.rect.collidepoint(posicion):
- punto= (int(posicion[0]-self.rect.x), int(posicion[1]-self.rect.y))
- color= self.image.get_at( punto )
- if color[3] != 0:
- if self.callback:
- pygame.event.clear()
- return self.callback(self)
- else:
- if not event in eventos_republicar: eventos_republicar.append(event)
-
- eventos= pygame.event.get(pygame.MOUSEMOTION)
- for event in eventos:
- posicion = event.pos
- if self.rect.collidepoint(posicion):
- punto= (int(posicion[0]-self.rect.x), int(posicion[1]-self.rect.y))
- color= self.image.get_at( punto )
- if color[3] != 0:
- if self.select == False:
- self.image = self.final_select
- self.select = True
- else:
- if self.select == True:
- self.image = self.final_unselect
- self.select = False
- if not event in eventos_republicar: eventos_republicar.append(event)
- for event in eventos_republicar:
- pygame.event.post(event)
+ ww,hh = presenta.get_tamanio()
+ presenta.set_posicion( (w-ww, h-hh) )
class Presentacion(pygame.sprite.OrderedUpdates):
def __init__(self, main):
pygame.sprite.OrderedUpdates.__init__(self)
- self.main= main
- self.imagenes= G.get_Presentacion()
- siguiente= None
- anterior= None
- salir= None
- self.imagen_actual= None
- self.estado= True
-
- fuente, tamanio= JAMG.get_Font_fawn()
- w,h= G.RESOLUCION
-
- siguiente= JAMButton("Siguiente", None)
- siguiente.set_text(color=JAMG.get_blanco())
- siguiente.set_font_from_file(fuente, tamanio= 40)
- siguiente.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro())
- 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)
+ self.main = main
+ self.imagenes = G.get_Presentacion()
+ siguiente = None
+ anterior = None
+ salir = None
+ self.imagen_actual = None
+ self.estado = True
+ fuente, tamanio = JAMG.get_Font_fawn()
+ w,h = G.RESOLUCION
+ siguiente = JAMButton("Siguiente", None)
+ siguiente.set_text(color = JAMG.get_blanco())
+ siguiente.set_font_from_file(fuente, tamanio = 40)
+ siguiente.set_colores(colorbas = JAMG.get_negro(), colorcara = JAMG.get_negro())
+ 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)
self.add(siguiente)
-
- anterior= JAMButton("Anterior", None)
- anterior.set_text(color=JAMG.get_blanco())
- anterior.set_font_from_file(fuente, tamanio= 40)
- anterior.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro())
- 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 = JAMButton("Anterior", None)
+ anterior.set_text(color = JAMG.get_blanco())
+ anterior.set_font_from_file(fuente, tamanio = 40)
+ anterior.set_colores(colorbas = JAMG.get_negro(), colorcara = JAMG.get_negro())
+ 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)
self.add(anterior)
-
- salir= JAMButton("Salir", None)
- salir.set_text(color=JAMG.get_blanco())
- salir.set_font_from_file(fuente, tamanio= 40)
- salir.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro())
- 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 = JAMButton("Salir", None)
+ salir.set_text(color = JAMG.get_blanco())
+ salir.set_font_from_file(fuente, tamanio = 40)
+ salir.set_colores(colorbas = JAMG.get_negro(), colorcara = JAMG.get_negro())
+ 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)
self.add(salir)
-
- self.imagen_actual= self.imagenes[0]
- self.main.fondo= self.imagen_actual
+ self.imagen_actual = self.imagenes[0]
+ self.main.fondo = self.imagen_actual
def volver(self, button):
for sprite in self.sprites():
sprite.kill()
self.empty()
- self.estado= False
+ self.estado = False
def next(self, button):
try:
- indice= self.imagenes.index(self.imagen_actual)
+ indice = self.imagenes.index(self.imagen_actual)
if indice < len(self.imagenes)-1:
- self.imagen_actual= self.imagenes[indice+1]
- self.main.fondo= self.imagen_actual
+ self.imagen_actual = self.imagenes[indice+1]
+ self.main.fondo = self.imagen_actual
else:
- self.imagen_actual= self.imagenes[0]
+ self.imagen_actual = self.imagenes[0]
+ self.main.fondo = self.imagen_actual
self.main.ventana.blit(self.main.fondo, (0,0))
pygame.display.update()
except:
@@ -455,12 +319,13 @@ class Presentacion(pygame.sprite.OrderedUpdates):
def previous(self, button):
try:
- indice= self.imagenes.index(self.imagen_actual)
+ indice = self.imagenes.index(self.imagen_actual)
if indice > 1:
- self.imagen_actual= self.imagenes[indice-1]
- self.main.fondo= self.imagen_actual
+ self.imagen_actual = self.imagenes[indice-1]
+ self.main.fondo = self.imagen_actual
else:
- self.imagen_actual= self.imagenes[-1]
+ self.imagen_actual = self.imagenes[-1]
+ self.main.fondo = self.imagen_actual
self.main.ventana.blit(self.main.fondo, (0,0))
pygame.display.update()
except: