No todo el mundo debe haber presenciado Snowfall personalmente, pero espera un minuto. ¿Qué pasa si puedes ver la nevada directamente en tu pantalla con solo unas pocas líneas de creatividad y programación?
Antes de comenzar con el tema, es muy recomendable revisar los conceptos básicos de Pygame.
Pasos para la creación de nevadas
1. Importación de módulos
Primero, necesitamos importar el módulo Pygame usando el comando.
importar pygame
Además, junto con Pygame, también necesitaremos un módulo aleatorio. Python tiene un módulo incorporado que puede usar para hacer números aleatorios simplemente importando un módulo aleatorio.
importar al azar
2. Inicializa el motor del juego
Simplemente significa elegir los colores que desea utilizar. En el mundo de la programación, lo que creas que puedes hacer. Al final del artículo, encontrarás una nevada verde sobre un fondo blanco.
Python3
# initialize pygame.init() # chosen colours will be used # to display the output WHITE = [255, 255, 255] GREEN = [0, 255, 0]
3. Especificar el tamaño de la pantalla
Puede ser un número nuevo dependiendo de la resolución de su sistema.
Python3
# specify the size SIZE = [400, 400] screen = pygame.display.set_mode(SIZE)
4. Asigne un nombre a la pantalla de su ventana de nevadas
El nombre dado se puede ver en la esquina izquierda de la ventana de resultados.
Python3
# caption for output window pygame.display.set_caption("Programming World of GFG")
5. Crea una array vacía para tu nevada
Python3
snowFall = []
6. Bucles para obtener posiciones de nevadas
Haga un ciclo y ejecute 50 veces y agregue una nevada en una posición x, y aleatoria usando el Módulo aleatorio.
Python3
for i in range(50): x = random.randrange(0, 400) y = random.randrange(0, 400) snowFall.append([x, y])
7. Seguimiento del tiempo
Crear un objeto para ayudar a controlar el tiempo
Python3
# object to track time clock = pygame.time.Clock()
8. Establecer criterios para la ocurrencia de nevadas
La nevada debe ocurrir hasta que el usuario presione el botón de cerrar y para esto dentro del ciclo while , use un ciclo for .
Python3
# loop till the close button is pressed done = False while not done: # User did something for event in pygame.event.get(): # If user clicked close if event.type == pygame.QUIT: # Flag that we are done so # we exit this loop done = True
9. Configure el fondo de la pantalla:
Python3
screen.fill(WHITE)
10. Procesa la nevada
Ahora use un ciclo for para procesar cada Snowfall en la lista:
Python3
for i in range(len(snowFall)):
11. Dibuja la nevada
Python3
pygame.draw.circle(screen, GREEN, snowFall[i], 2)
12. Agregando movimiento
Python3
# Move the snowFall down one pixel snowFall[i][1] += 1 # If the snowFall has moved off the bottom of the screen if snowFall[i][1] > 400: # Reset it just above the top y = random.randrange(-50, -10) snowFall[i][1] = y # Give it a new x position x = random.randrange(0, 400) snowFall[i][0] = x # Go ahead and update the screen with what we've drawn. pygame.display.flip() clock.tick(20) pygame.quit()
Y sí, ¡ha comenzado la nevada verde!
Programa Completo
Python3
import pygame import random pygame.init() WHITE = [255, 255, 255] GREEN = [0,255,0] SIZE = [400, 400] screen = pygame.display.set_mode(SIZE) pygame.display.set_caption("Programming World of GFG") snowFall = [] for i in range(50): x = random.randrange(0, 400) y = random.randrange(0, 400) snowFall.append([x, y]) clock = pygame.time.Clock() done = False while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True screen.fill(WHITE) for i in range(len(snowFall)): pygame.draw.circle(screen, GREEN, snowFall[i], 2) snowFall[i][1] += 1 if snowFall[i][1] > 400: y = random.randrange(-50, -10) snowFall[i][1] = y x = random.randrange(0, 400) snowFall[i][0] = x pygame.display.flip() clock.tick(20) pygame.quit()
Producción
Publicación traducida automáticamente
Artículo escrito por anshitaagarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA