def __init__(self, main):
		pygame.sprite.OrderedUpdates.__init__(self)
		self.main = main
		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 = self.main.run_dialog_intro)
		salir.connect (callback = self.main.salir, sonido_select = None)
		self.add(salir)

		jugar = JAMButton("Jugar",None)
		jugar.set_text(color=JAMG.get_blanco())
		fuente, tamanio = JAMG.get_Font_fawn()
		jugar.set_font_from_file(fuente, tamanio= 50)
		jugar.set_colores(colorbas=JAMG.get_negro(), colorcara=JAMG.get_negro())
		jugar.set_tamanios(tamanio=(200,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= self.run_Instruc)
		self.add(jugar)
Esempio n. 2
0
    def __init__(self, main):
        pygame.sprite.OrderedUpdates.__init__(self)
        self.main = main
        self.botones = {}

        for imagen in os.listdir(IMAGENES):
            sonido = os.path.basename(imagen).split(".")[0] + ".ogg"
            imagen = os.path.join(IMAGENES, imagen)
            boton = JAMButton("", imagen)
            boton.set_imagen(origen=imagen)
            boton.set_tamanios(tamanio=(190, 180), grosorbor=1, espesor=1)
            self.add(boton)
            jam_label = JAMLabel("Cantando . . .")
            jam_label.set_text(tamanio=25, color=(255, 0, 0, 1))
            self.botones[boton] = [sonido, jam_label, False, sonido]
            boton.connect(callback=self.play_canto, sonido_select=None)
        x = 0
        y = 0
        contador = 0
        for boton in self.sprites():
            boton.set_posicion(punto=(x, y))
            x += 200
            contador += 1
            if contador == 6:
                x = 0
                y += boton.get_tamanio()[1]
                contador = 0
Esempio n. 3
0
 def __init__(self, main):
     pygame.sprite.OrderedUpdates.__init__(self)
     self.main = main
     self.imagenes = G.get_Presentacion()
     self.siguiente = None
     self.anterior = None
     salir = None
     self.imagen_actual = None
     self.estado = True
     fuente, tamanio = JAMG.get_Font_fawn()
     w, h = G.RESOLUCION
     self.siguiente = JAMButton("Siguiente", None)
     self.siguiente.set_text(color=JAMG.get_blanco())
     self.siguiente.set_font_from_file(fuente, tamanio=40)
     self.siguiente.set_colores(colorbas=JAMG.get_negro(),
                                colorcara=JAMG.get_negro())
     self.siguiente.set_tamanios(tamanio=(150, 0),
                                 grosorbor=1,
                                 detalle=1,
                                 espesor=1)
     ww, hh = self.siguiente.get_tamanio()
     self.siguiente.set_posicion(punto=(w - ww - 20, h - hh - 20))
     self.siguiente.connect(callback=self.next, sonido_select=None)
     self.add(self.siguiente)
     self.anterior = JAMButton("Anterior", None)
     self.anterior.set_text(color=JAMG.get_blanco())
     self.anterior.set_font_from_file(fuente, tamanio=40)
     self.anterior.set_colores(colorbas=JAMG.get_negro(),
                               colorcara=JAMG.get_negro())
     self.anterior.set_tamanios(tamanio=(150, 0),
                                grosorbor=1,
                                detalle=1,
                                espesor=1)
     ww, hh = self.anterior.get_tamanio()
     self.anterior.set_posicion(punto=(20, h - hh - 20))
     self.anterior.connect(callback=self.previous, sonido_select=None)
     self.add(self.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, sonido_select=None)
     self.add(salir)
     self.imagen_actual = self.imagenes[0]
     self.main.fondo = self.imagen_actual
Esempio n. 4
0
class Main():
    def __init__(self, res):
        self.resolucionreal = res
        self.ventana = None
        self.name = "JAMClock"
        self.ventana_real = None
        self.VA = None
        self.VH = None

        # Variables del Juego
        self.fondo = None
        self.reloj = None
        self.estado = False

        self.sonidoalarma = None
        self.duracionalarma = None
        self.jamclock = None
        self.jamcalendar = None
        self.cerrar = None
        self.controlalarma = None
        self.controles = None

        self.mensaje = None
        self.dialog = None

        self.preset()
        self.load()
        self.run()

    def preset(self):
        pygame.display.set_mode((0, 0), pygame.DOUBLEBUF | pygame.FULLSCREEN,
                                0)
        A, B = RESOLUCION
        self.ventana = pygame.Surface((A, B), flags=HWSURFACE)
        self.ventana_real = pygame.display.get_surface()
        C, D = (0, 0)
        if self.resolucionreal:
            C, D = self.resolucionreal
        else:
            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):
        pygame.event.set_blocked([
            JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP,
            JOYBUTTONDOWN
        ])
        pygame.event.set_allowed([
            MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN, KEYDOWN, KEYUP,
            VIDEORESIZE, VIDEOEXPOSE, USEREVENT, QUIT, ACTIVEEVENT
        ])
        pygame.mouse.set_visible(True)

        a, b, c = JAMG.get_estilo_papel_quemado()
        if not self.reloj: self.reloj = pygame.time.Clock()
        if not self.fondo: self.fondo = self.get_fondo(color=b)

        if not self.dialog:
            self.dialog = JAMDialog()
            self.dialog.set_text(tamanio=24)
            d, e, f = JAMG.get_estilo_celeste()
            self.dialog.set_colors_dialog(base=e, bordes=f)
            self.dialog.set_colors_buttons(colorbas=a, colorbor=b, colorcara=c)
            self.dialog.set_text_buttons(tamanio=24)

        if not pygame.mixer.get_init():
            pygame.mixer.init(44100, -16, 2, 2048)
        pygame.mixer.music.set_volume(1.0)

        if not self.controles: self.controles = pygame.sprite.OrderedUpdates()
        if not self.cerrar:
            self.cerrar = JAMButton("", JAMG.get_icon_exit())
            self.cerrar.set_imagen(origen=JAMG.get_icon_exit(),
                                   tamanio=(20, 20))
            self.cerrar.set_tamanios(tamanio=(0, 0), grosorbor=1, espesor=1)
            self.cerrar.set_colores(colorbas=a, colorbor=b, colorcara=c)
            x = RESOLUCION[0] - self.cerrar.get_tamanio()[0]
            self.cerrar.set_posicion(punto=(x, 0))
            self.cerrar.connect(callback=self.selecciona_mensaje_salir)
        if not self.jamclock:
            self.jamclock = JAMClock()
            self.jamclock.set_tamanios(2)
            self.jamclock.set_colors_base(c, a)
            y = self.cerrar.get_tamanio()[1] + SEPARADOR
            self.jamclock.set_posicion(punto=(SEPARADOR, y))
            self.sonidoalarma = JAMG.get_alarma_reloj1()
            self.duracionalarma = 30
        if not self.jamcalendar:
            self.jamcalendar = JAMCalendar()
            self.jamcalendar.set_gama_colors(colorselect=a,
                                             colorbor=b,
                                             colorcara=c)
            self.jamcalendar.set_text(tamanio=24)
            x = RESOLUCION[0] - self.jamcalendar.get_tamanio()[0] - SEPARADOR
            y = self.cerrar.get_tamanio()[1] + SEPARADOR
            self.jamcalendar.set_posicion(punto=(x, y))
        if not self.controlalarma:
            self.controlalarma = ControlAlarma()
            x, y = self.jamcalendar.get_posicion()
            w, h = self.jamcalendar.get_tamanio()
            x = x + w / 2 - self.controlalarma.get_tamanio()[0] / 2
            y += h + SEPARADOR * 5
            self.controlalarma.set_posicion(punto=(x, y))
            self.controlalarma.boton_active.connect(
                callback=self.active_alarma)

        self.controles.add(self.jamclock)
        self.controles.add(self.jamcalendar)
        self.controles.add(self.cerrar)
        self.controles.add(self.controlalarma)
        self.load_conf()

        self.estado = True

    def load_conf(self):
        alarma = Abrir()
        alarma = alarma.split(":")
        self.controlalarma.horas = int(alarma[0])
        self.controlalarma.minutos = int(alarma[1])
        self.controlalarma.etiqueta_tiempo.set_text(
            texto="%s:%s" %
            (self.controlalarma.horas, self.controlalarma.minutos))
        self.active_alarma(None)

    def active_alarma(self, button=None):
        horas, minutos = self.controlalarma.get_time()
        if self.controlalarma.active:
            self.jamclock.set_alarma((100, 100), self.sonidoalarma,
                                     self.duracionalarma)
            self.controlalarma.set_active(False)
        elif not self.controlalarma.active:
            self.jamclock.set_alarma((horas, minutos), self.sonidoalarma,
                                     self.duracionalarma)
            self.controlalarma.set_active(True)
            Guardar("%s:%s" % (horas, minutos))

    def run(self):
        self.ventana.blit(self.fondo, (0, 0))
        self.controles.draw(self.ventana)
        pygame.display.update()
        while self.estado:
            self.reloj.tick(35)
            while gtk.events_pending():
                gtk.main_iteration(False)
            Traduce_posiciones(self.VA, self.VH)
            if self.mensaje:
                self.pause_game()
            self.controles.clear(self.ventana, self.fondo)
            self.controles.update()
            self.handle_event()
            pygame.event.clear()
            self.controles.draw(self.ventana)
            self.ventana_real.blit(
                pygame.transform.scale(self.ventana, self.resolucionreal),
                (0, 0))
            pygame.display.update()

    def handle_event(self):
        for event in pygame.event.get(pygame.KEYDOWN):
            tecla = event.key
            if tecla == pygame.K_ESCAPE:
                pygame.event.clear()
                return self.selecciona_mensaje_salir()

    def pause_game(self):
        while self.mensaje.sprites():
            self.reloj.tick(35)
            while gtk.events_pending():
                gtk.main_iteration(False)
            Traduce_posiciones(self.VA, self.VH)
            self.controles.clear(self.ventana, self.fondo)
            self.mensaje.clear(self.ventana, self.fondo)
            self.mensaje.update()
            pygame.event.clear()
            self.controles.draw(self.ventana)
            self.mensaje.draw(self.ventana)
            self.ventana_real.blit(
                pygame.transform.scale(self.ventana, self.resolucionreal),
                (0, 0))
            pygame.display.update()

    def deselecciona_mensaje(self, boton):
        self.mensaje = pygame.sprite.OrderedUpdates()

    def selecciona_mensaje_salir(self, button=None):
        self.dialog.set_text(texto="¿ Salir de JAMClock ?")
        self.dialog.connect(funcion_ok=self.salir,
                            funcion_cancel=self.deselecciona_mensaje)
        self.mensaje = self.dialog

    def get_fondo(self, color=(100, 100, 100, 1), tamanio=RESOLUCION):
        superficie = pygame.Surface(tamanio, flags=HWSURFACE)
        superficie.fill(color)
        img = pygame.image.load("firma.png")
        ww, hh = RESOLUCION
        w, h = img.get_size()
        x = ww / 2 - w / 2
        y = hh - h - SEPARADOR
        superficie.blit(img, (x, y))
        return superficie

    def salir(self, boton):
        sys.exit()
Esempio n. 5
0
class ControlAlarma(pygame.sprite.OrderedUpdates):
    def __init__(self):
        pygame.sprite.OrderedUpdates.__init__(self)
        self.base = None
        self.etiqueta = None
        self.etiqueta_tiempo = None

        self.boton_active = None
        self.botonminutos_down = None
        self.botonminutos_up = None
        self.botonhoras_down = None
        self.botonhoras_up = None

        self.active = False
        self.horas = 12
        self.minutos = 00

        self.load()

        self.botonminutos_up.connect(callback=self.next)
        self.botonminutos_down.connect(callback=self.back)

        self.botonhoras_up.connect(callback=self.nexthoras)
        self.botonhoras_down.connect(callback=self.backhoras)

    def set_active(self, valor):
        if valor:
            self.active = True
            self.boton_active.set_imagen(origen=JAMG.get_icon_ok(),
                                         tamanio=(20, 20))
        elif not valor:
            self.active = False
            self.boton_active.set_imagen(origen=JAMG.get_icon_cancel(),
                                         tamanio=(20, 20))

    def next(self, button=None):
        if self.minutos >= 59:
            self.minutos = 0
            self.horas += 1
        elif self.minutos < 59:
            self.minutos += 1
        if self.horas >= 24:
            self.horas = 0
        self.etiqueta_tiempo.set_text(texto="%s:%s" %
                                      (self.horas, self.minutos))
        self.set_active(False)

    def back(self, button=None):
        if self.minutos <= 1:
            self.minutos = 59
            self.horas -= 1
        elif self.minutos > 0:
            self.minutos -= 1
        if self.horas < 0:
            self.horas = 23
        self.etiqueta_tiempo.set_text(texto="%s:%s" %
                                      (self.horas, self.minutos))
        self.set_active(False)

    def nexthoras(self, button=None):
        if self.horas >= 23:
            self.horas = 0
        elif self.horas < 23:
            self.horas += 1
        self.etiqueta_tiempo.set_text(texto="%s:%s" %
                                      (self.horas, self.minutos))
        self.set_active(False)

    def backhoras(self, button=None):
        if self.horas <= 23 and self.horas > 0:
            self.horas -= 1
        elif self.horas <= 0:
            self.horas = 23
        self.etiqueta_tiempo.set_text(texto="%s:%s" %
                                      (self.horas, self.minutos))
        self.set_active(False)

    def load(self):
        a, b, c = JAMG.get_estilo_papel_quemado()
        self.etiqueta = Etiqueta("Alarma")
        self.etiqueta.set_colores(colorbas=a, colorbor=b, colorcara=c)
        self.etiqueta.set_tamanios(tamanio=(0, 0), grosorbor=1, espesor=1)
        self.etiqueta.set_text(tamanio=24)

        self.etiqueta_tiempo = Etiqueta("%s:%s" % (self.horas, self.minutos))
        self.etiqueta_tiempo.set_tamanios(tamanio=(0, 0),
                                          grosorbor=1,
                                          espesor=1)
        self.etiqueta_tiempo.set_text(tamanio=40)

        self.botonminutos_down = JAMButton("", "down.png")
        self.botonminutos_down.set_imagen(origen="down.png", tamanio=(20, 20))
        self.botonminutos_down.set_colores(colorbas=a, colorbor=b, colorcara=c)
        self.botonminutos_down.set_tamanios(tamanio=(0, 0),
                                            grosorbor=1,
                                            espesor=1)

        self.botonminutos_up = JAMButton("", "up.png")
        self.botonminutos_up.set_imagen(origen="up.png", tamanio=(20, 20))
        self.botonminutos_up.set_colores(colorbas=a, colorbor=b, colorcara=c)
        self.botonminutos_up.set_tamanios(tamanio=(0, 0),
                                          grosorbor=1,
                                          espesor=1)

        self.botonhoras_down = JAMButton("", "down.png")
        self.botonhoras_down.set_imagen(origen="down.png", tamanio=(20, 20))
        self.botonhoras_down.set_colores(colorbas=a, colorbor=b, colorcara=c)
        self.botonhoras_down.set_tamanios(tamanio=(0, 0),
                                          grosorbor=1,
                                          espesor=1)

        self.botonhoras_up = JAMButton("", "up.png")
        self.botonhoras_up.set_imagen(origen="up.png", tamanio=(20, 20))
        self.botonhoras_up.set_colores(colorbas=a, colorbor=b, colorcara=c)
        self.botonhoras_up.set_tamanios(tamanio=(0, 0), grosorbor=1, espesor=1)

        self.boton_active = JAMButton("", JAMG.get_icon_ok())
        self.boton_active.set_imagen(origen=JAMG.get_icon_ok(),
                                     tamanio=(20, 20))
        self.boton_active.set_colores(colorbas=a, colorbor=b, colorcara=c)
        self.boton_active.set_tamanios(tamanio=(0, 0), grosorbor=1, espesor=1)

        self.base = self.get_base(color=b, tamanio=self.geometria())
        w = self.get_tamanio()[0] - sep * 2
        self.etiqueta_tiempo.set_tamanios(tamanio=(w, 0),
                                          grosorbor=1,
                                          espesor=1)
        self.add([
            self.base, self.etiqueta, self.etiqueta_tiempo,
            self.botonminutos_up, self.botonminutos_down, self.botonhoras_up,
            self.botonhoras_down, self.boton_active
        ])
        self.set_posicion(punto=(0, 0))

    def geometria(self):
        ancho, alto = (200, 130)
        return (ancho, alto)

    def get_base(self, color=(100, 100, 100, 1), tamanio=(100, 100)):
        base = pygame.sprite.Sprite()
        superficie = pygame.Surface(tamanio, flags=HWSURFACE)
        superficie.fill(color)
        base.image = superficie
        base.rect = base.image.get_rect()
        return base

    def set_posicion(self, punto=(0, 0)):
        x, y = punto
        self.base.rect.x, self.base.rect.y = (x, y)
        x += sep
        y += sep

        # ---
        xx = self.base.rect.x + self.base.rect.w / 2 - self.etiqueta.get_tamanio(
        )[0] / 2
        self.etiqueta.set_posicion(punto=(xx, y))

        y += self.etiqueta.get_tamanio()[1] + sep
        xx = self.base.rect.x + self.base.rect.w / 2 - self.etiqueta_tiempo.get_tamanio(
        )[0] / 2
        self.etiqueta_tiempo.set_posicion(punto=(xx, y))
        # ---

        x, y = self.etiqueta_tiempo.get_posicion()
        xx, hh = self.botonminutos_up.get_tamanio()
        x += self.etiqueta_tiempo.get_tamanio(
        )[0] - self.botonminutos_up.get_tamanio()[0]
        y -= self.botonminutos_up.get_tamanio(
        )[1] - self.etiqueta_tiempo.get_tamanio()[1] / 2
        self.botonminutos_up.set_posicion(punto=(x, y))

        x, y = self.botonminutos_up.get_posicion()
        y += self.botonminutos_up.get_tamanio()[1]
        self.botonminutos_down.set_posicion(punto=(x, y))

        x, y = self.etiqueta_tiempo.get_posicion()
        xx, hh = self.botonhoras_up.get_tamanio()
        y -= self.botonhoras_up.get_tamanio(
        )[1] - self.etiqueta_tiempo.get_tamanio()[1] / 2
        self.botonhoras_up.set_posicion(punto=(x, y))

        x, y = self.botonhoras_up.get_posicion()
        y += self.botonhoras_up.get_tamanio()[1]
        self.botonhoras_down.set_posicion(punto=(x, y))

        x, y = self.etiqueta_tiempo.get_posicion()
        w, h = self.etiqueta_tiempo.get_tamanio()
        ww, yy = self.boton_active.get_tamanio()
        x += w / 2 - ww / 2
        y += sep + h
        self.boton_active.set_posicion(punto=(x, y))

    def get_tamanio(self):
        return (self.base.rect.w, self.base.rect.h)

    def get_time(self):
        return (self.horas, self.minutos)
Esempio n. 6
0
class Presentacion(pygame.sprite.OrderedUpdates):
    def __init__(self, main):
        pygame.sprite.OrderedUpdates.__init__(self)
        self.main = main
        self.imagenes = G.get_Presentacion()
        self.siguiente = None
        self.anterior = None
        salir = None
        self.imagen_actual = None
        self.estado = True
        fuente, tamanio = JAMG.get_Font_fawn()
        w, h = G.RESOLUCION
        self.siguiente = JAMButton("Siguiente", None)
        self.siguiente.set_text(color=JAMG.get_blanco())
        self.siguiente.set_font_from_file(fuente, tamanio=40)
        self.siguiente.set_colores(colorbas=JAMG.get_negro(),
                                   colorcara=JAMG.get_negro())
        self.siguiente.set_tamanios(tamanio=(150, 0),
                                    grosorbor=1,
                                    detalle=1,
                                    espesor=1)
        ww, hh = self.siguiente.get_tamanio()
        self.siguiente.set_posicion(punto=(w - ww - 20, h - hh - 20))
        self.siguiente.connect(callback=self.next, sonido_select=None)
        self.add(self.siguiente)
        self.anterior = JAMButton("Anterior", None)
        self.anterior.set_text(color=JAMG.get_blanco())
        self.anterior.set_font_from_file(fuente, tamanio=40)
        self.anterior.set_colores(colorbas=JAMG.get_negro(),
                                  colorcara=JAMG.get_negro())
        self.anterior.set_tamanios(tamanio=(150, 0),
                                   grosorbor=1,
                                   detalle=1,
                                   espesor=1)
        ww, hh = self.anterior.get_tamanio()
        self.anterior.set_posicion(punto=(20, h - hh - 20))
        self.anterior.connect(callback=self.previous, sonido_select=None)
        self.add(self.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, sonido_select=None)
        self.add(salir)
        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

    def next(self, button):
        indice = self.imagenes.index(self.imagen_actual)
        if indice < len(self.imagenes) - 1:
            indice += 1
            self.imagen_actual = self.imagenes[indice]
            self.main.fondo = self.imagen_actual
        self.main.ventana.blit(self.main.fondo, (0, 0))
        pygame.display.update()
        self.view_buttons(indice)

    def previous(self, button):
        indice = self.imagenes.index(self.imagen_actual)
        if indice > 0:
            indice -= 1
            self.imagen_actual = self.imagenes[indice]
            self.main.fondo = self.imagen_actual
        self.main.ventana.blit(self.main.fondo, (0, 0))
        pygame.display.update()
        self.view_buttons(indice)

    def view_buttons(self, indice):
        if indice == len(self.imagenes) - 1:
            self.remove(self.siguiente)
        elif indice == 0:
            self.remove(self.anterior)
        else:
            if not self.anterior in self.sprites():
                self.add(self.anterior)
            if not self.siguiente in self.sprites():
                self.add(self.siguiente)
Esempio n. 7
0
    def __init__(self, main):
        self.main = 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=self.main.emit_volver, 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)

        uno = BotonGrupo()
        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.connect(callback=main.run_grupo1, sonido_select=None)
        self.add(uno)

        dos = BotonGrupo()
        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.connect(callback=main.run_grupo2, sonido_select=None)
        self.add(dos)

        tres = BotonGrupo()
        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.connect(callback=main.run_grupo3, sonido_select=None)
        self.add(tres)

        cuatro = BotonGrupo()
        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.connect(callback=main.run_grupo4, sonido_select=None)
        self.add(cuatro)

        cinco = BotonGrupo()
        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.connect(callback=main.run_grupo5, sonido_select=None)
        self.add(cinco)

        presenta = BotonPresentacion()
        presenta.connect(callback=main.presentacion, sonido_select=None)
        self.add(presenta)

        sep = 50
        w, h = G.RESOLUCION
        ww, hh = dos.get_tamanio()
        dos.set_posicion((w / 2 - ww / 2, h / 2 - hh))
        x, y = dos.get_posicion()
        tres.set_posicion((x + ww + sep, y))
        uno.set_posicion((x - ww - sep, y))

        cuatro.set_posicion(((w / 2 - ww) - sep, y + hh + sep))
        cinco.set_posicion((w / 2 + sep, y + hh + sep))

        ww, hh = presenta.get_tamanio()
        presenta.set_posicion((w - ww - 10, h - hh - 10))
Esempio n. 8
0
    def config(self):
        pygame.init()
        self.reloj = pygame.time.Clock()

        from pygame.locals import MOUSEMOTION
        from pygame.locals import MOUSEBUTTONUP
        from pygame.locals import MOUSEBUTTONDOWN
        from pygame.locals import JOYAXISMOTION
        from pygame.locals import JOYBALLMOTION
        from pygame.locals import JOYHATMOTION
        from pygame.locals import JOYBUTTONUP
        from pygame.locals import JOYBUTTONDOWN
        from pygame.locals import VIDEORESIZE
        from pygame.locals import VIDEOEXPOSE
        from pygame.locals import USEREVENT
        from pygame.locals import QUIT
        from pygame.locals import ACTIVEEVENT
        from pygame.locals import KEYDOWN
        from pygame.locals import KEYUP

        pygame.event.set_blocked([
            JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP,
            JOYBUTTONDOWN, ACTIVEEVENT, USEREVENT
        ])
        pygame.event.set_allowed([
            QUIT, VIDEORESIZE, VIDEOEXPOSE, KEYDOWN, KEYUP, MOUSEMOTION,
            MOUSEBUTTONUP, MOUSEBUTTONDOWN
        ])
        pygame.key.set_repeat(15, 15)

        pygame.display.set_mode((0, 0), pygame.DOUBLEBUF | pygame.FULLSCREEN,
                                0)

        pygame.display.set_caption("Bichos")

        path = os.path.join(BASE_PATH, "CucaraSims", "Imagenes", "arena1.png")
        imagen = pygame.image.load(path)
        self.escenario = pygame.transform.scale(
            imagen, RESOLUCION_INICIAL).convert_alpha()

        self.ventana = pygame.Surface(
            (RESOLUCION_INICIAL[0], RESOLUCION_INICIAL[1]), flags=HWSURFACE)
        self.ventana_real = pygame.display.get_surface()

        boton = JAMButton("CucaraSims", None, "rectangulo")
        boton.set_text(tamanio=30)
        boton.set_tamanios(tamanio=(160, 70), grosorbor=3, espesor=5)
        boton.set_colores(colorbas=(51, 121, 183, 255),
                          colorbor=(255, 255, 255, 255),
                          colorcara=(206, 229, 237, 255))
        boton.connect(callback=self.__emit_go_cucarasims, sonido_select=None)
        x = (RESOLUCION_INICIAL[0] / 4 - (boton.get_tamanio()[0] / 2))
        y = 50
        boton.set_posicion(punto=(x, y))
        self.widgets.add(boton)

        boton = JAMButton("Canciones", None, "rectangulo")
        boton.set_text(tamanio=30)
        boton.set_tamanios(tamanio=(160, 70), grosorbor=3, espesor=5)
        boton.set_colores(colorbas=(51, 121, 183, 255),
                          colorbor=(255, 255, 255, 255),
                          colorcara=(206, 229, 237, 255))
        boton.connect(callback=self.__emit_go_cantores, sonido_select=None)
        x = (RESOLUCION_INICIAL[0] / 2 - (boton.get_tamanio()[0] / 2))
        y = 50
        boton.set_posicion(punto=(x, y))
        self.widgets.add(boton)

        boton = JAMButton("Imágenes", None, "rectangulo")
        boton.set_text(tamanio=30)
        boton.set_tamanios(tamanio=(160, 70), grosorbor=3, espesor=5)
        boton.set_colores(colorbas=(51, 121, 183, 255),
                          colorbor=(255, 255, 255, 255),
                          colorcara=(206, 229, 237, 255))
        boton.connect(callback=self.__emit_go_ojos, sonido_select=None)
        x = (RESOLUCION_INICIAL[0] / 4 * 3 - (boton.get_tamanio()[0] / 2))
        y = 50
        boton.set_posicion(punto=(x, y))
        self.widgets.add(boton)

        boton = JAMButton("Salir", None, "rectangulo")
        boton.set_text(tamanio=30)
        boton.set_tamanios(tamanio=(160, 70), grosorbor=3, espesor=5)
        boton.set_colores(colorbas=(51, 121, 183, 255),
                          colorbor=(255, 255, 255, 255),
                          colorcara=(206, 229, 237, 255))
        boton.connect(callback=self.__emit_exit, sonido_select=None)
        x = (RESOLUCION_INICIAL[0] / 4 * 3 - (boton.get_tamanio()[0] / 2))
        y = (RESOLUCION_INICIAL[1] - boton.get_tamanio()[1]) - 50
        boton.set_posicion(punto=(x, y))
        self.widgets.add(boton)

        path = os.path.join(BASE_PATH, "Iconos", "bichos.png")
        imagen = pygame.image.load(path)
        titulo = pygame.sprite.Sprite()
        titulo.image = imagen
        titulo.rect = titulo.image.get_rect()
        titulo.rect.centerx = RESOLUCION_INICIAL[0] / 2
        titulo.rect.centery = RESOLUCION_INICIAL[1] / 2
        self.widgets.add(titulo)
Esempio n. 9
0
    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 = BotonScroll()
        self.upper.set_imagen("up")
        self.upper.connect(callback=self.up_user, sonido_select=None)
        self.add(self.upper)

        self.down = BotonScroll()
        self.down.set_imagen("down")
        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.set_colores(colorbas=(0, 157, 224, 255),
                               colorbor=(0, 157, 224, 255),
                               colorcara=(92, 193, 235, 255))
        self.crear.set_text(color=(255, 255, 255, 255))
        self.crear.connect(callback=main.crear_usuario, sonido_select=None)
        self.add(self.crear)
Esempio n. 10
0
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 = BotonScroll()
        self.upper.set_imagen("up")
        self.upper.connect(callback=self.up_user, sonido_select=None)
        self.add(self.upper)

        self.down = BotonScroll()
        self.down.set_imagen("down")
        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.set_colores(colorbas=(0, 157, 224, 255),
                               colorbor=(0, 157, 224, 255),
                               colorcara=(92, 193, 235, 255))
        self.crear.set_text(color=(255, 255, 255, 255))
        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),
                                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]
Esempio n. 11
0
    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.emit_volver, 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 = BotonJuego()
            grupo.set_tamanios(tamanio=(264, 264),
                               grosorbor=1,
                               detalle=1,
                               espesor=1)
            imagen = os.path.join(G.IMAGENES, "Menu", "img1.png")
            grupo.set_imagen(origen=imagen)
            grupo.final_select = grupo.final_unselect
            grupo.connect(callback=None, sonido_select=None)
            self.add(grupo)

            uno = BotonJuego()
            uno.set_tamanios(tamanio=(264, 264),
                             grosorbor=1,
                             detalle=1,
                             espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "101.jpg")
            uno.set_imagen(origen=imagen)
            uno.connect(callback=main.run_game11, sonido_select=None)
            self.add(uno)

            dos = BotonJuego()
            dos.set_tamanios(tamanio=(264, 264),
                             grosorbor=1,
                             detalle=1,
                             espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "102.jpg")
            dos.set_imagen(origen=imagen)
            dos.connect(callback=main.run_game12, sonido_select=None)
            self.add(dos)

            tres = BotonJuego()
            tres.set_tamanios(tamanio=(264, 264),
                              grosorbor=1,
                              detalle=1,
                              espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "103.jpg")
            tres.set_imagen(origen=imagen)
            tres.connect(callback=main.run_game13, sonido_select=None)
            self.add(tres)

            cuatro = BotonJuego()
            cuatro.set_tamanios(tamanio=(264, 264),
                                grosorbor=1,
                                detalle=1,
                                espesor=1)
            #imagen = os.path.join(G.IMAGENES, "capturas", "104.jpg")
            #cuatro.set_imagen(origen = imagen)
            cuatro.connect(callback=None, sonido_select=None)
            #self.add(cuatro)

        if main.grupo == "grupo2":
            grupo = BotonJuego()
            grupo.set_tamanios(tamanio=(264, 264),
                               grosorbor=1,
                               detalle=1,
                               espesor=1)
            imagen = os.path.join(G.IMAGENES, "Menu", "img2.png")
            grupo.set_imagen(origen=imagen)
            grupo.final_select = grupo.final_unselect
            grupo.connect(callback=None, sonido_select=None)
            self.add(grupo)

            uno = BotonJuego()
            uno.set_tamanios(tamanio=(264, 264),
                             grosorbor=1,
                             detalle=1,
                             espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "201.jpg")
            uno.set_imagen(origen=imagen)
            uno.connect(callback=main.run_game21, sonido_select=None)
            self.add(uno)

            dos = BotonJuego()
            dos.set_tamanios(tamanio=(264, 264),
                             grosorbor=1,
                             detalle=1,
                             espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "202.jpg")
            dos.set_imagen(origen=imagen)
            dos.connect(callback=main.run_game22, sonido_select=None)
            self.add(dos)

            tres = BotonJuego()
            tres.set_tamanios(tamanio=(264, 264),
                              grosorbor=1,
                              detalle=1,
                              espesor=1)
            #imagen = os.path.join(G.IMAGENES, "capturas", "203.jpg")
            #tres.set_imagen(origen = imagen)
            #tres.connect(callback = None, sonido_select = None)
            #self.add(tres)

            cuatro = BotonJuego()
            cuatro.set_tamanios(tamanio=(264, 264),
                                grosorbor=1,
                                detalle=1,
                                espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "204.jpg")
            cuatro.set_imagen(origen=imagen)
            cuatro.connect(callback=main.run_game24, sonido_select=None)
            self.add(cuatro)

        if main.grupo == "grupo3":
            grupo = BotonJuego()
            grupo.set_tamanios(tamanio=(264, 264),
                               grosorbor=1,
                               detalle=1,
                               espesor=1)
            imagen = os.path.join(G.IMAGENES, "Menu", "img3.png")
            grupo.set_imagen(origen=imagen)
            grupo.final_select = grupo.final_unselect
            grupo.connect(callback=None, sonido_select=None)
            self.add(grupo)

            uno = BotonJuego()
            uno.set_tamanios(tamanio=(264, 264),
                             grosorbor=1,
                             detalle=1,
                             espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "301.jpg")
            uno.set_imagen(origen=imagen)
            uno.connect(callback=main.run_game31, sonido_select=None)
            self.add(uno)

            dos = BotonJuego()
            dos.set_tamanios(tamanio=(264, 264),
                             grosorbor=1,
                             detalle=1,
                             espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "302.jpg")
            dos.set_imagen(origen=imagen)
            dos.connect(callback=main.run_game32, sonido_select=None)
            self.add(dos)

            tres = BotonJuego()
            tres.set_tamanios(tamanio=(264, 264),
                              grosorbor=1,
                              detalle=1,
                              espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "303.jpg")
            tres.set_imagen(origen=imagen)
            tres.connect(callback=main.run_game33, sonido_select=None)
            self.add(tres)

            cuatro = BotonJuego()
            cuatro.set_tamanios(tamanio=(264, 264),
                                grosorbor=1,
                                detalle=1,
                                espesor=1)
            #imagen = os.path.join(G.IMAGENES, "capturas", "304.jpg")
            #cuatro.set_imagen(origen = imagen)
            #cuatro.connect(callback = None, sonido_select = None)
            #self.add(cuatro)

        if main.grupo == "grupo4":
            grupo = BotonJuego()
            grupo.set_tamanios(tamanio=(264, 264),
                               grosorbor=1,
                               detalle=1,
                               espesor=1)
            imagen = os.path.join(G.IMAGENES, "Menu", "img4.png")
            grupo.set_imagen(origen=imagen)
            grupo.final_select = grupo.final_unselect
            grupo.connect(callback=None, sonido_select=None)
            self.add(grupo)

            uno = BotonJuego()
            uno.set_tamanios(tamanio=(264, 264),
                             grosorbor=1,
                             detalle=1,
                             espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "401.jpg")
            uno.set_imagen(origen=imagen)
            uno.connect(callback=main.run_game41, sonido_select=None)
            self.add(uno)

            dos = BotonJuego()
            dos.set_tamanios(tamanio=(264, 264),
                             grosorbor=1,
                             detalle=1,
                             espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "402.jpg")
            dos.set_imagen(origen=imagen)
            dos.connect(callback=main.run_game42, sonido_select=None)
            self.add(dos)

            tres = BotonJuego()
            tres.set_tamanios(tamanio=(264, 264),
                              grosorbor=1,
                              detalle=1,
                              espesor=1)
            #imagen = os.path.join(G.IMAGENES, "capturas", "403.jpg")
            #tres.set_imagen(origen = imagen)
            #tres.connect(callback = None, sonido_select = None)
            #self.add(tres)

            cuatro = BotonJuego()
            cuatro.set_tamanios(tamanio=(264, 264),
                                grosorbor=1,
                                detalle=1,
                                espesor=1)
            #imagen = os.path.join(G.IMAGENES, "capturas", "404.jpg")
            #cuatro.set_imagen(origen = imagen)
            #cuatro.connect(callback = None, sonido_select = None)
            #self.add(cuatro)

        if main.grupo == "grupo5":
            grupo = BotonJuego()
            grupo.set_tamanios(tamanio=(264, 264),
                               grosorbor=1,
                               detalle=1,
                               espesor=1)
            imagen = os.path.join(G.IMAGENES, "Menu", "img5.png")
            grupo.set_imagen(origen=imagen)

            grupo.connect(callback=None, sonido_select=None)
            self.add(grupo)

            uno = BotonJuego()
            uno.set_tamanios(tamanio=(264, 264),
                             grosorbor=1,
                             detalle=1,
                             espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "501.jpg")
            uno.set_imagen(origen=imagen)
            uno.connect(callback=main.run_game51, sonido_select=None)
            self.add(uno)

            dos = BotonJuego()
            dos.set_tamanios(tamanio=(264, 264),
                             grosorbor=1,
                             detalle=1,
                             espesor=1)
            imagen = os.path.join(G.IMAGENES, "capturas", "502.jpg")
            dos.set_imagen(origen=imagen)
            dos.connect(callback=main.run_game52, sonido_select=None)
            self.add(dos)

            tres = BotonJuego()
            tres.set_tamanios(tamanio=(264, 264),
                              grosorbor=1,
                              detalle=1,
                              espesor=1)
            #imagen = os.path.join(G.IMAGENES, "capturas", "503.jpg")
            #tres.set_imagen(origen = imagen)
            #tres.connect(callback = main.run_game53, sonido_select = None)
            #self.add(tres)

            cuatro = BotonJuego()
            cuatro.set_tamanios(tamanio=(264, 264),
                                grosorbor=1,
                                detalle=1,
                                espesor=1)
            #imagen = os.path.join(G.IMAGENES, "capturas", "504.jpg")
            #cuatro.set_imagen(origen = imagen)
            #cuatro.connect(callback = main.run_game54, sonido_select = None)
            #self.add(cuatro)

        sep = 50
        w, h = G.RESOLUCION
        centrox = w / 2
        centroy = h / 2
        uno.set_posicion((centrox - sep * 3, centroy - uno.get_tamanio()[1]))
        dos.set_posicion((uno.get_posicion()[0] + uno.get_tamanio()[0] + sep,
                          centroy - uno.get_tamanio()[1]))
        tres.set_posicion((uno.get_posicion()[0], centroy + sep))
        cuatro.set_posicion(
            (tres.get_posicion()[0] + tres.get_tamanio()[0] + sep,
             centroy + sep))
        grupo.set_posicion((uno.get_posicion()[0] - uno.get_tamanio()[0] - sep,
                            uno.get_posicion()[1] + uno.get_tamanio()[1] / 2))
Esempio n. 12
0
    def config(self):
        pygame.init()
        self.reloj = pygame.time.Clock()

        from pygame.locals import MOUSEMOTION
        from pygame.locals import MOUSEBUTTONUP
        from pygame.locals import MOUSEBUTTONDOWN
        from pygame.locals import JOYAXISMOTION
        from pygame.locals import JOYBALLMOTION
        from pygame.locals import JOYHATMOTION
        from pygame.locals import JOYBUTTONUP
        from pygame.locals import JOYBUTTONDOWN
        from pygame.locals import VIDEORESIZE
        from pygame.locals import VIDEOEXPOSE
        from pygame.locals import USEREVENT
        from pygame.locals import QUIT
        from pygame.locals import ACTIVEEVENT
        from pygame.locals import KEYDOWN
        from pygame.locals import KEYUP

        pygame.event.set_blocked([
            JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP,
            JOYBUTTONDOWN, ACTIVEEVENT, USEREVENT])
        pygame.event.set_allowed([QUIT, VIDEORESIZE, VIDEOEXPOSE,
            KEYDOWN, KEYUP, MOUSEMOTION, MOUSEBUTTONUP, MOUSEBUTTONDOWN])
        pygame.key.set_repeat(15, 15)

        pygame.display.set_mode(
            (0, 0), pygame.DOUBLEBUF | pygame.FULLSCREEN, 0)

        pygame.display.set_caption("Bichos")

        path = os.path.join(BASE_PATH, "CucaraSims", "Imagenes", "arena1.png")
        imagen = pygame.image.load(path)
        self.escenario = pygame.transform.scale(
            imagen, RESOLUCION_INICIAL).convert_alpha()

        self.ventana = pygame.Surface((RESOLUCION_INICIAL[0],
            RESOLUCION_INICIAL[1]), flags=HWSURFACE)
        self.ventana_real = pygame.display.get_surface()

        boton = JAMButton("CucaraSims", None, "rectangulo")
        boton.set_text(tamanio=30)
        boton.set_tamanios(tamanio=(160, 70), grosorbor=3, espesor=5)
        boton.set_colores(colorbas=(51, 121, 183, 255),
            colorbor=(255, 255, 255, 255), colorcara=(206, 229, 237, 255))
        boton.connect(callback=self.__emit_go_cucarasims, sonido_select=None)
        x = (RESOLUCION_INICIAL[0] / 4 - (boton.get_tamanio()[0] / 2))
        y = 50
        boton.set_posicion(punto=(x, y))
        self.widgets.add(boton)

        boton = JAMButton("Canciones", None, "rectangulo")
        boton.set_text(tamanio=30)
        boton.set_tamanios(tamanio=(160, 70), grosorbor=3, espesor=5)
        boton.set_colores(colorbas=(51, 121, 183, 255),
            colorbor=(255, 255, 255, 255), colorcara=(206, 229, 237, 255))
        boton.connect(callback=self.__emit_go_cantores, sonido_select=None)
        x = (RESOLUCION_INICIAL[0] / 2 - (boton.get_tamanio()[0] / 2))
        y = 50
        boton.set_posicion(punto=(x, y))
        self.widgets.add(boton)

        boton = JAMButton("Imágenes", None, "rectangulo")
        boton.set_text(tamanio=30)
        boton.set_tamanios(tamanio=(160, 70), grosorbor=3, espesor=5)
        boton.set_colores(colorbas=(51, 121, 183, 255),
            colorbor=(255, 255, 255, 255), colorcara=(206, 229, 237, 255))
        boton.connect(callback=self.__emit_go_ojos, sonido_select=None)
        x = (RESOLUCION_INICIAL[0] / 4 * 3 - (boton.get_tamanio()[0] / 2))
        y = 50
        boton.set_posicion(punto=(x, y))
        self.widgets.add(boton)

        boton = JAMButton("Salir", None, "rectangulo")
        boton.set_text(tamanio=30)
        boton.set_tamanios(tamanio=(160, 70), grosorbor=3, espesor=5)
        boton.set_colores(colorbas=(51, 121, 183, 255),
            colorbor=(255, 255, 255, 255), colorcara=(206, 229, 237, 255))
        boton.connect(callback=self.__emit_exit, sonido_select=None)
        x = (RESOLUCION_INICIAL[0] / 4 * 3 - (boton.get_tamanio()[0] / 2))
        y = (RESOLUCION_INICIAL[1] - boton.get_tamanio()[1]) - 50
        boton.set_posicion(punto=(x, y))
        self.widgets.add(boton)

        path = os.path.join(BASE_PATH, "Iconos", "bichos.png")
        imagen = pygame.image.load(path)
        titulo = pygame.sprite.Sprite()
        titulo.image = imagen
        titulo.rect = titulo.image.get_rect()
        titulo.rect.centerx = RESOLUCION_INICIAL[0] / 2
        titulo.rect.centery = RESOLUCION_INICIAL[1] / 2
        self.widgets.add(titulo)
Esempio n. 13
0
class Controles(pygame.sprite.OrderedUpdates):
    def __init__(self, main):
        pygame.sprite.OrderedUpdates.__init__(self)
        self.main = main
        self.flecha = None
        self.titulo = None
        self.puntaje = None
        self.cronometro = None
        self.recuadro_select = None
        self.progress_reloj = None
        self.decorativas = None
        self.sonidos_reloj = None
        self.user = None
        self.load_sprites()

    def get_recuadro_select(self, tamanio):
        ''' Un Sprite para seleccionar las señales. '''
        sup = JAMG.get_Rectangulo_Transparente(tamanio)
        sup = JAMG.get_my_surface_whit_border(sup, JAMG.get_naranja1(), 10)
        self.recuadro_select = pygame.sprite.Sprite()
        self.recuadro_select.image = sup
        self.recuadro_select.rect = self.recuadro_select.image.get_rect()

    def get_labels_carteles(self, texto, centro):
        ''' Etiquetas sobre los carteles.'''
        palabras = texto.split(" ")
        renglon1 = "%s %s" % (palabras[0], palabras[1])
        label = JAMLabel(renglon1)
        label.set_text(color=JAMG.get_blanco())
        fuente, tamanio = JAMG.get_Font_fawn()
        label.set_font_from_file(fuente, tamanio=30)
        x, y = centro
        w, h = label.get_tamanio()
        label.set_posicion(punto=(x - w / 2, y - h))
        self.add(label)
        if len(palabras) > 2:
            renglon2 = ""
            ww, hh = label.get_tamanio()
            for palabra in palabras[2:]:
                renglon2 += palabra + " "
            label = JAMLabel(renglon2)
            label.set_text(color=JAMG.get_blanco())
            fuente, tamanio = JAMG.get_Font_fawn()
            label.set_font_from_file(fuente, tamanio=30)
            w, h = label.get_tamanio()
            label.set_posicion(punto=(x - w / 2, y + hh - h))
            self.add(label)
        else:
            label.set_posicion(punto=(x - w / 2, y))

    def load_sprites(self):
        imagen = self.main.usuario['personaje']
        self.user = JAMButton(self.main.usuario['nombre'], None)
        self.user.set_imagen(origen=imagen, tamanio=(60, 60))
        self.user.set_colores(colorbas=(0, 153, 255, 255),
                              colorbor=(0, 153, 255, 255),
                              colorcara=(0, 153, 255, 255))
        self.user.set_tamanios(tamanio=(80, 80),
                               grosorbor=1,
                               detalle=1,
                               espesor=1)
        ww, hh = self.user.get_tamanio()
        w, h = G.RESOLUCION
        self.user.set_posicion(punto=(w - ww - 10, 25))
        self.user.connect(callback=None, sonido_select=None)
        self.add(self.user)

        imagen = G.get_Flecha()
        self.flecha = JAMButton("", None)
        self.flecha.set_imagen(origen=imagen, tamanio=(100, 55))
        self.flecha.set_colores(colorbas=JAMG.get_negro(),
                                colorcara=JAMG.get_negro())
        self.flecha.set_tamanios(tamanio=(0, 0),
                                 grosorbor=1,
                                 detalle=1,
                                 espesor=1)
        self.flecha.set_posicion(punto=(10, 10))
        self.flecha.connect(callback=self.main.run_dialog_game)
        self.add(self.flecha)

        x, y = self.flecha.posicion
        w, h = self.flecha.get_tamanio()
        x += w
        ancho = G.RESOLUCION[0] / 2 - x
        cartel_titulo = pygame.sprite.Sprite()
        cartel_titulo.image = G.get_Imagen_Cartel1()
        cartel_titulo.image = pygame.transform.scale(
            cartel_titulo.image.copy(),
            (ancho, cartel_titulo.image.get_size()[1]))
        cartel_titulo.rect = cartel_titulo.image.get_rect()
        cartel_titulo.rect.x = x
        cartel_titulo.rect.y = -60
        self.add(cartel_titulo)

        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)
        w, h = G.RESOLUCION
        x, y = (cartel_titulo.rect.x + 50, 10)
        self.titulo.set_posicion(punto=(x, y))
        self.add(self.titulo)

        self.puntaje = JAMLabel("%s" % (self.main.puntos))
        self.puntaje.set_text(color=JAMG.get_blanco())
        fuente, tamanio = JAMG.get_Font_fawn()
        self.puntaje.set_font_from_file(fuente, tamanio=40)
        w, h = G.RESOLUCION
        self.add(self.puntaje)

        self.sonidos_reloj = G.get_sound_clock()

        from BiblioJAM.JAMCron import JAMCron
        self.cronometro = JAMCron()
        x, y = (0 - self.cronometro.cron.rect.w - 1,
                0 - self.cronometro.cron.rect.h - 1)
        self.cronometro.cron.set_posicion(punto=(x, y))
        self.cronometro.set_callback(self.main.game_over)
        self.cronometro.set_alarma(tiempo=(2, 30), duracion=3)
        self.add(self.cronometro)

        self.progress_reloj = ProgressBar(self.main)
        self.add(self.progress_reloj)

        self.decorativas = ImagenesDecorativas(self)
        self.add(self.decorativas)

    def actualiza_puntos(self):
        puntos = "%s" % (self.main.puntos)
        self.puntaje.set_text(texto=puntos)
        x, y = self.user.get_posicion()
        w, h = self.puntaje.get_tamanio()
        x -= w + 10
        self.puntaje.set_posicion(punto=(x, y))

    def switching_game(self, button):
        self.main.estado = "Intro"
        return self.main.run()

    def init(self):
        sound = self.sonidos_reloj[0]
        self.cronometro.set_sound(sound)
        self.cronometro.reset()
        self.actualiza_puntos()
        self.cronometro.play()

    def stop(self):
        self.cronometro.pause()

    def play(self):
        self.cronometro.play()
    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 = BotonUsuario()
        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 = BotonUsuario()
        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 = BotonUsuario()
        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]

        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.emit_volver, sonido_select=None)
        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, 157, 224, 255),
                                     colorbor=(0, 157, 224, 255),
                                     colorcara=(92, 193, 235, 255))
        #self.boton_crear.set_colores(colorbas = (92,193,235,255),
        #	colorbor = (255,255,255,255), colorcara = (92,193,235,255))
        self.boton_crear.set_text(color=(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)
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 = BotonUsuario()
        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 = BotonUsuario()
        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 = BotonUsuario()
        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]

        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.emit_volver, sonido_select=None)
        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, 157, 224, 255),
                                     colorbor=(0, 157, 224, 255),
                                     colorcara=(92, 193, 235, 255))
        #self.boton_crear.set_colores(colorbas = (92,193,235,255),
        #	colorbor = (255,255,255,255), colorcara = (92,193,235,255))
        self.boton_crear.set_text(color=(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 * 7
        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.origen_imagen
        for personaje in self.personajes:
            if not personaje == button:
                personaje.deseleccionar()
            else:
                personaje.seleccionar()

    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)