Introduction to Pygame

Grasp the concept of the Pygame library in preparation to prepare to make your first game in Python!

What is Pygame?

Pygame is a set of Python modules designed for writing video games. It provides functionalities like creating windows, drawing shapes, and handling user input. With Pygame, developers can easily create games using Python.

How Pygame Works

Pygame works by using SDL (Simple DirectMedia Layer), which provides low-level access to audio, keyboard, mouse, and graphics hardware. Pygame provides higher-level tools to make it easier to handle these elements in Python.

Step-by-Step Explanation of Pygame Code

Step 1: Importing Pygame

The first thing you need to do is import the pygame library, which provides all the tools for creating games.

import pygame

Step 2: Initialize Pygame

Before using Pygame, you need to initialize it. This tells Pygame to set up everything it needs to run, like creating windows, handling input, etc.

pygame.init()

Step 3: Set Up the Game Window

You need to create a game window where your game will be displayed. Here, we create a window of size 800x600 pixels.

screen = pygame.display.set_mode((800, 600))

Step 4: Set the Game Title

You can give your game a name that will appear in the title bar of the window.

pygame.display.set_caption("My First Game")

Step 5: Create the Game Loop

The game loop is the heart of any game. It runs continuously, updating the screen, handling events (like pressing keys), and controlling the game flow.


running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
      

Step 6: Fill the Screen with Color

In each loop iteration, we can fill the screen with a color to refresh the display. For example, filling the screen with blue:

screen.fill((0, 0, 255))  # RGB for blue

Step 7: Update the Display

After drawing everything on the screen, we call pygame.display.update() to update the display with the latest changes.

pygame.display.update()

Step 8: Close the Game

After exiting the game loop, we need to close the game properly to free up resources.

pygame.quit()

Adding Movement

Pygame allows you to track keyboard events and move objects on the screen. Here's an example where you can move a rectangle using the arrow keys:

import pygame

pygame.init()

# Create a screen
screen = pygame.display.set_mode((400, 300))
pygame.display.set_caption("Move the Rectangle")

# Colors
blue = (0, 0, 255)
red = (255, 0, 0)

# Rectangle position
x, y = 150, 100

# Game Loop
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Get keys pressed
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        x -= 5
    if keys[pygame.K_RIGHT]:
        x += 5
    if keys[pygame.K_UP]:
        y -= 5
    if keys[pygame.K_DOWN]:
        y += 5

    # Fill screen with blue
    screen.fill(blue)

    # Draw the red rectangle
    pygame.draw.rect(screen, red, (x, y, 50, 50))

    # Update display
    pygame.display.flip()

pygame.quit()