Quizás recomendaríais otro tipo de modulo para este tipo de impresiones. Bueno, me refiero a mostrar gráficas y salida de datos. Pygame se suele utilizar para el tema de videojuegos y multimedia. Algo tan simple como mostrar la salida de un ciclo FOR (u otras salidas de datos) no me llegaba a aclarar. En todo caso, me gustaría saber vuestra opinión, si es la forma correcta de hacer esta implementación.
Creo un ciclo para mostrar 40 números. Pero como llega un momento que la ventana definida en pygame se queda pequeña, hemos de crear otra columna para que se muestre el resto de números. Lo ideal seria que se creasen tantas columnas como números del ciclo. Claro esta que llegaría un momento que también se llegaría al limite de esa misma ventana ¿Se debería crear una nueva ventana y perderíamos la anterior? ¿Pygame no tiene la barra de desplazamiento como las ventanas de windows?
Os dejo el código que he creado:
(Es un esquema básico o plantilla para mostrar el ejemplo)
Código
import pygame import sys pygame.init() pantalla = pygame.display.set_mode((800, 600)) fuente = pygame.font.SysFont('Comic Sans MS', 20, True, False) while True: for evento in pygame.event.get(): if evento.type == pygame.QUIT: pygame.quit() sys.exit() pantalla.fill((255, 255, 255)) # Coordenadas iniciales impresion de columnas y = 0 x = 0 for numero in range(1, 41): imprime_numero = fuente.render(str(numero), True, (0, 0, 0)) pantalla.blit(imprime_numero, (x, y)) y += 20 # Si la coordenada 'y' llega a 400 se crea una nueva columna if y == 400: x = 40 y = 0 pygame.display.flip()
Si lo ejecutáis se crea una columna del 1 al 20 y otra del 21 al 40.
¿Es la forma correcta de imprimir un ciclo FOR en pygame?
Saludos!
EDITO:
Con esta modificación en la linea 26 se crean mas columnas en base a mas números en el ciclo:
Código
x += 40