[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