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
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
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()
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()
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