[pyar] control bucle while

Daniel mandarano danielmandarano en yahoo.com.ar
Jue Feb 15 16:22:25 -03 2018


 Hola FabrizioLa version de while que yo usaria es la que extraje de una plantilla de inicio de juego de pygame que usa directamente true y false porque es mas claro fijate:# Plantilla para juegos en pygame
import pygame
import random

WIDTH = 360
HEIGHT = 480
FPS = 30
# definir colores
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)

# Inicalizacion de pygame y creacion de la ventana
pygame.init()
pygame.mixer.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("My Game")
clock = pygame.time.Clock()


all_sprites = pygame.sprite.Group()
# Game Loop

running = True
while running:
    for event in pygame.event.get():
        # Chequear por cierre de ventana
        if event.type == pygame.QUIT:
                    running = False

    # mantener el loop a la velocidad correcta
    clock.tick(FPS)
    # Proceso de entradas



    # Update
    all_sprites.update()

    # Dibujo/Render
    screen.fill(BLACK)
    all_sprites.update()
    # DEspues de terminar de dibujar t flip the display
    pygame.display.flip()
pygame.quit()
Es una ventana de pygame de fondo negro con las medidas indicadas:entonces hacemos:
running=Trueal comienzo del bucle while running es verdadero, sigue ejecutandose hasta  que detecta el evento de cerrar la ventana pygame.QUIT entonces despues running= False.El while termina y va al final del script y ejecuta pygame.quit()


    El jueves, 15 de febrero de 2018 12:01:30 ART, Fabrizio Damicelli <fdlafert en hotmail.com> escribió:  
 
  Hola Gente!pregunta cortita y al pie para los interesados en el problema P-NP (que nada tiene que ver con compejidad computacional, [1]):Pongo directamente un ejemplo simplificado. Qué versión les parece más linda/pythonica/elegante/etc.:
def hacer_algo_n_veces(n=10):    while n:        #intentar hacer algo         #si funciona:            n -= 1        def hacer_algo_n_veces(n=10):    contador = 0     while contador < n:        #intentar hacer algo         #si funciona:            contador += 1
O sea, contador explícito o no. Asuman que el "while" no puede ser reemplazado por un "for" (porque el número de intentos de "hacer algo" no es conocido de antemano y es posible que haya que intentar muchas veces)     
Ya se que "Explicit is better than implicit", pero no estoy seguro que la primera variante sea tan implícita..en fin :)

Mil gracias!

Saludos

Fabrizio










[1] https://www.youtube.com/watch?v=wf-BqAjZb8M   (minuto 12:50)
_______________________________________________
Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
Sitio web: http://www.python.org.ar/

Para administrar la lista (o desuscribirse) entrar a http://listas.python.org.ar/listinfo/pyar

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180215/770c4703/attachment-0001.html>


Más información sobre la lista de distribución pyar