def correrJuego(color, letra, args, puntos):
    """loop del juego al clickear en iniciar"""
    args[0][0].rect.topleft = (100, 200)
    args[1][0].rect.topleft = (1040, 200)
    silabas = separasilabas.silabizer()
    puntosAnt = 0
    correcto = 0
    consigna = 'Coloca la palabra en su lugar'
    msj = ""
    total = 0
    reproduccionMusica = True
    suite.drawScore(puntos)
    for valor in args:
        total = total + len(silabas(valor[0].nombre.replace('.png', '')))
    while True and correcto != total:
        screen.fill(color)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                suite.terminate()
            if (event.type == KEYUP):
                if event.key == K_ESCAPE:
                    suite.pantallaInicio()
                if event.key == K_m:
                    if reproduccionMusica:
                        pygame.mixer.music.pause()
                        reproduccionMusica = False
                    else:
                        pygame.mixer.music.unpause()
                        reproduccionMusica = True
            x, y = pygame.mouse.get_pos()
            if pygame.mouse.get_pressed()[0]:
                for objeto in args:
                    valor_lis = 0
                    for valor in objeto[2]:
                        if valor.toca(x, y):
                            puntosAnt = puntos
                            tupla = suite.evaluar_lugar_letra(
                                valor, objeto[1][valor_lis], event, color,
                                puntos, consigna, msj, correcto, True, args)
                            puntos = tupla[0]
                            correcto = tupla[1]
                        valor_lis += 1
        for objeto in args:
            screen.blit(objeto[0].image, objeto[0].rect)
            for i in objeto[1]:
                screen.blit(i.image, i.rect)
        for objeto in args:
            for i in objeto[2]:
                screen.blit(i.texto, i.rect)
        suite.drawScore(puntos)
        suite.drawMensaje(consigna, ancho_ventana - 1250, alto_ventana - 600)
        suite.drawMensaje("Tecla ESC: volver al menu, Tecla M: pausar musica",
                          ancho_ventana - 1280, alto_ventana - 700)

        clock.tick(60)
        pygame.display.flip()
    return puntos
Beispiel #2
0
def main():
    """loop principal"""
    suite.cargarDiccionario(diccionario_imagenes)
    nombre_usuario = suite.ingreso_usuario(13)
    tacho = Imagen((ANCHOCENTROVENTANA, 50), DIRIMAGENES + "tacho.png",
                   "tacho")
    tacho.set_rect(200, 90)
    puntos = 0
    pygame.mixer.music.play(-1, 0.0)
    aux = 0  # indice que hace referencia a la letra a usar del diccionario
    screen.fill(random.choice(colores))
    suite.drawMensaje("HOLA " + nombre_usuario + " !",
                      ANCHOCENTROVENTANA - ANCHOBOTON,
                      ALTOCENTROVENTANA - ALTOBOTON)
    pygame.display.flip()
    time.sleep(1)
    while True and aux != 5:
        dicc_actual = seleccionDeImagenes(diccionario_imagenes, aux)
        lista_sprites = suite.inicializarImagenes(dicc_actual)
        copy = lista_sprites[1:]
        random.shuffle(copy)
        lista_sprites[1:] = copy
        tupla = tuple(lista_sprites[1:])
        puntos = correrJuego(tacho, random.choice(colores), lista_sprites[0],
                             tupla, puntos)
        time.sleep(0.5)
        screen.fill(random.choice(colores))
        pygame.display.flip()
        if aux != 4:
            suite.drawMensaje("SIGUIENTE NIVEL", ancho_ventana / 2.4,
                              alto_ventana / 3)
            pygame.display.flip()
        time.sleep(1)

        aux += 1
    screen.fill(random.choice(colores))
    suite.drawMensaje("FIN DEL JUEGO", ((ancho_ventana / 2) - ANCHOBOTON) + 20,
                      alto_ventana / 3.5)
    suite.drawMensaje("Tu puntaje fue: " + str(puntos),
                      (ancho_ventana / 2) - ANCHOBOTON, alto_ventana / 3)
    datosJson = [{
        "nombre": nombre_usuario,
        "puntaje_maximo": puntos,
        "fecha": time.strftime("%x"),
        "hora": time.strftime("%X")
    }]
    suite.modificoArchivoLog(datosJson, "logs_el_entrometido.json")
    suite.pantallaLeaderboard("logs_el_entrometido.json")
    suite.drawMensaje("Apreta ENTER para continuar", ancho_ventana / 2,
                      alto_ventana - 50)
    pygame.display.flip()
    while True:
        for event in pygame.event.get():
            if (event.type == KEYUP):
                if event.key == K_RETURN:
                    suite.pantallaInicio()
def main(nombre_usuario):
    """loop principal"""
    suite.cargarDiccionario(diccionario_imagenes)
    puntos = 0
    pygame.mixer.music.play(-1, 0.0)
    aux = 0  # indice que hace referencia a la letra a usar del diccionario
    pygame.display.flip()
    time.sleep(1)
    while True and aux != 5:
        dicc_actual = seleccionDeImagenes(diccionario_imagenes, aux)
        lista_sprites = suite.inicializarImagenesCadaUno(dicc_actual)
        copy = lista_sprites[1:]
        random.shuffle(copy)
        puntos = correrJuego(random.choice(colores), lista_sprites[0][0],
                             lista_sprites, puntos)
        time.sleep(0.5)
        screen.fill(random.choice(colores))
        pygame.display.flip()
        if aux != 4:
            suite.drawMensaje("MUY BIEN!", ancho_ventana / 2.4,
                              alto_ventana / 3.5)
            suite.drawMensaje("SIGUIENTE NIVEL", ancho_ventana / 2.4,
                              alto_ventana / 3)
            pygame.display.flip()
        time.sleep(1)

        aux += 1
    screen.fill(random.choice(colores))
    suite.drawMensaje("FIN DEL JUEGO", ((ancho_ventana / 2) - ANCHOBOTON) + 20,
                      alto_ventana / 3.5)
    suite.drawMensaje("Tu puntaje fue: " + str(puntos),
                      (ancho_ventana / 2) - ANCHOBOTON, alto_ventana / 3)
    datosJson = [{
        "nombre": nombre_usuario,
        "puntaje_maximo": puntos,
        "fecha": time.strftime("%x"),
        "hora": time.strftime("%X")
    }]
    suite.modificoArchivoLog(datosJson, "logs_cada_uno_en_su_lugar.json")
    suite.pantallaLeaderboard("logs_cada_uno_en_su_lugar.json")
    suite.drawMensaje("apreta enter para continuar", ancho_ventana / 2,
                      alto_ventana - 50)
    pygame.display.flip()
    while True:
        for event in pygame.event.get():
            if (event.type == KEYUP):
                if event.key == K_RETURN:
                    suite.pantallaInicio()
            if event.type == pygame.QUIT:
                suite.terminate()
def correrJuego(color, letra, args, puntos):
    """loop del juego al clickear en iniciar"""
    puntosAnt = 0
    correcto = 0
    consigna = 'Coloca la palabra en su lugar!'
    msj = ""
    reproduccionMusica = True
    suite.drawScore(puntos)
    while True and correcto != 3:
        screen.fill(color)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                suite.terminate()
            if (event.type == KEYUP):
                if event.key == K_ESCAPE:
                    suite.pantallaInicio()
                if event.key == K_m:
                    if reproduccionMusica:
                        pygame.mixer.music.pause()
                        reproduccionMusica = False
                    else:
                        pygame.mixer.music.unpause()
                        reproduccionMusica = True
            x, y = pygame.mouse.get_pos()
            if pygame.mouse.get_pressed()[0]:
                for objeto in args:
                    if objeto[2].toca(x, y) or objeto[0].toca(x, y):
                        puntosAnt = puntos
                        tupla = suite.evaluar_lugar(objeto[2], objeto[1],
                                                    event, color, puntos,
                                                    consigna, msj, correcto,
                                                    True, args)
                        puntos = tupla[0]
                        correcto = tupla[1]
        for objeto in args:
            if objeto[0].arrastra:
                screen.blit(objeto[0].image, objeto[0].rect)
                screen.blit(objeto[1].image, objeto[1].rect)
                screen.blit(objeto[2].texto, objeto[2].rect)
        suite.drawScore(puntos)
        suite.drawMensaje(consigna, ancho_ventana - 1250, alto_ventana - 600)
        suite.drawMensaje("Tecla ESC: volver al menu, Tecla M: pausar musica",
                          ancho_ventana - 1280, alto_ventana - 700)

        #	screen.blit(letra.image, letra.rect)
        pygame.display.flip()
        clock.tick(60)

    return puntos
Beispiel #5
0
def pantallaAcomodo():
    """Carga la pantalla de acomodo y formo para elegir o silabas o letras"""

    #imagen= Imagen((ancho_aux+ancho_ventana-resta_ancho, alto_aux), ruta, imagen)
    #imagen_rect=Imagen((ancho_aux+ancho_ventana-resta_ancho,alto_aux+200),DIRIMAGENES+"Letras/rect.jpg",imagen.nombre)
    pygame.display.flip()
    screen.fill(CELESTE)
    picture = pygame.image.load(DIRIMAGENES + '/monstruo_feliz.png')
    picture = pygame.transform.scale(picture, (150, 150))
    screen.blit(picture, (550, 110))
    drawMensaje("ACOMODO Y FORMO", 530, 50)
    pygame.mixer.music.pause()
    drawMensaje("ELEGI UN NIVEL", 550, 80)

    while True:

        events = pygame.event.get()
        for event in events:
            if event.type == pygame.QUIT:
                terminate()
            if (event.type == KEYUP):
                if event.key == K_ESCAPE:
                    terminate()

        botonVolver.mostrarBoton()
        botonConLetras.mostrarBoton()
        botonConSilabas.mostrarBoton()

        if botonVolver.toca(getCursorPos()) and botonIzquierdoMouseClickeado():
            pantallaInicio()
        if botonConLetras.toca(
                getCursorPos()) and botonIzquierdoMouseClickeado():
            nombre_usuario = suite.ingreso_usuario(13)
            screen.fill(random.choice(colores))
            suite.drawMensaje("HOLA " + nombre_usuario + " !",
                              ANCHOCENTROVENTANA - ANCHOBOTON,
                              ALTOCENTROVENTANA - ALTOBOTON)
            acomodo_y_formo_letras.main(nombre_usuario)
        if botonConSilabas.toca(
                getCursorPos()) and botonIzquierdoMouseClickeado():
            nombre_usuario = suite.ingreso_usuario(13)
            screen.fill(random.choice(colores))
            suite.drawMensaje("HOLA " + nombre_usuario + " !",
                              ANCHOCENTROVENTANA - ANCHOBOTON,
                              ALTOCENTROVENTANA - ALTOBOTON)
            acomodo_y_formo_con_silabas.main(nombre_usuario)

        pygame.display.update()
Beispiel #6
0
def pantallaInicio():
    """Carga la pantalla inicial del juego"""
    screen.fill(NARANJACLARO)
    img_monstruo = pygame.image.load(DIRIMAGENES + '/menu.jpg')
    img_monstruo = pygame.transform.scale(img_monstruo, (450, 450))
    screen.blit(img_monstruo, (70, 110))
    drawMensaje("CONECTAR - MINI JUEGOS EDUCATIVOS", 130, 50)
    pygame.mixer.music.pause()
    while True:

        events = pygame.event.get()
        for event in events:
            if event.type == pygame.QUIT:
                terminate()
            if (event.type == KEYUP):
                if event.key == K_ESCAPE:
                    terminate()

        botonComeVocales.mostrarBoton()
        botonEntrometido.mostrarBoton()
        botonCadaUnaEnSuLugar.mostrarBoton()
        botonSalir.mostrarBoton()
        botonAcomodoYFormo.mostrarBoton()

        if botonAcomodoYFormo.toca(
                getCursorPos()) and botonIzquierdoMouseClickeado():
            pantallaAcomodo()

        if botonComeVocales.toca(
                getCursorPos()) and botonIzquierdoMouseClickeado():
            come_vocales.main()
        if botonEntrometido.toca(
                getCursorPos()) and botonIzquierdoMouseClickeado():
            el_entrometido.main()
        if botonCadaUnaEnSuLugar.toca(
                getCursorPos()) and botonIzquierdoMouseClickeado():
            nombre_usuario = suite.ingreso_usuario(13)
            screen.fill(random.choice(colores))
            suite.drawMensaje("HOLA " + nombre_usuario + " !",
                              ANCHOCENTROVENTANA - ANCHOBOTON,
                              ALTOCENTROVENTANA - ALTOBOTON)
            cada_una_en_su_lugar.main(nombre_usuario)
        elif botonSalir.toca(
                getCursorPos()) and botonIzquierdoMouseClickeado():
            terminate()

        pygame.display.update()
Beispiel #7
0
def correrJuego(tacho, color, letra, args, puntos):
    """loop del juego al clickear en iniciar"""
    puntosAnt = 0
    correcto = 0
    consigna = '¿Cuales no empiezan con {}?'.format(
        os.path.splitext(letra.nombre)[0])
    msj = ""
    reproduccionMusica = True
    suite.drawScore(puntos)
    while True and correcto != 3:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                suite.terminate()
            if (event.type == KEYUP):
                if event.key == K_ESCAPE:
                    suite.pantallaInicio()
                if event.key == K_m:
                    if reproduccionMusica:
                        pygame.mixer.music.pause()
                        reproduccionMusica = False
                    else:
                        pygame.mixer.music.unpause()
                        reproduccionMusica = True
            x, y = pygame.mouse.get_pos()
            if pygame.mouse.get_pressed()[0]:
                for objeto in args:
                    if objeto.toca(x, y):
                        puntosAnt = puntos
                        tupla = suite.evaluarTacho(tacho, objeto, letra, event,
                                                   color, puntos, consigna,
                                                   msj, correcto, True, args)
                        puntos = tupla[0]
                        correcto = tupla[1]
                        if (puntosAnt > puntos):
                            msj = 'UPS! Te equivocaste, {} empieza con {}!'.format(
                                os.path.splitext(objeto.nombre)[0],
                                letra.nombre)
                            sonidoMal.play()
                        elif (puntosAnt < puntos):
                            msj = '¡Muy bien!, {} no empieza con {}!'.format(
                                os.path.splitext(objeto.nombre)[0],
                                letra.nombre)
                            sonidoBien.play()
        screen.fill(color)
        for objeto in args:
            if objeto.arrastra:
                screen.blit(objeto.image, objeto.rect)
        suite.drawScore(puntos)
        suite.drawMensaje("Tecla ESC: volver al menu, Tecla M: pausar musica",
                          ancho_ventana - 1280, alto_ventana - 700)
        suite.drawMensaje(consigna, ancho_ventana - 1250, alto_ventana - 500)
        suite.drawMensaje(msj, 10, 300)
        screen.blit(tacho.image, tacho.rect)
        screen.blit(letra.image, (1000, 100))

        clock.tick(60)
        pygame.display.flip()
    return puntos