Not everybody must have witnessed Snowfall personally but wait a minute, What if you can see the snowfall right on your screen by just a few lines of creativity and Programming.
Before starting the topic, it is highly recommended revising the basics of Pygame.
Steps for snowfall creation
1. Importing modules
First, we need to import the Pygame module by using the command.
import pygame
Also, along with Pygame, we will also need random module. Python has a built-in module that you can use to make random numbers just by importing random module.
import random
2. Initialize the game engine
It simply means choose the colors you want to use. In programming World, Whatever you can think you can make. At the end of the article, you will find green snowfall on the white background.
Python3
pygame.init()
WHITE = [ 255 , 255 , 255 ]
GREEN = [ 0 , 255 , 0 ]
|
3. Specify the size of the screen
It can be a new number depending upon the resolution of your system.
Python3
SIZE = [ 400 , 400 ]
screen = pygame.display.set_mode(SIZE)
|
4. Assign a name to your snowfall window screen
The name given can be seen on the left corner of the output window.
Python3
pygame.display.set_caption( "Programming World of GFG" )
|
5. Create an empty array for your snowfall
6. Looping to get snowfall positions
Make a loop and run to 50 times and add a snowfall in a random x,y position using random Module.
Python3
for i in range ( 50 ):
x = random.randrange( 0 , 400 )
y = random.randrange( 0 , 400 )
snowFall.append([x, y])
|
7. Track time
Create an object to help track time
Python3
clock = pygame.time.Clock()
|
8. Set criteria for snowfall occurrence
Snowfall should occur until the user presses the close button and for this inside while loop, use a for loop.
Python3
done = False
while not done:
for event in pygame.event.get():
if event. type = = pygame.QUIT:
done = True
|
9. Set the screen background :
10. Process the snowfall
Now use a for loop to process each Snowfall in the list :
Python3
for i in range ( len (snowFall)):
|
11. Draw the snowfall
Python3
pygame.draw.circle(screen, GREEN, snowFall[i], 2 )
|
12. Adding movement
Python3
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()
|
And Yes, Green snowfall has started!!
Complete Program
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()
|
Output
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
11 Sep, 2021
Like Article
Save Article