Найти в Дзене
Михаил Добрый

Создание простой игры на Python с использованием Pygame

В мире программирования создание игр — это не только увлекательное занятие, но и отличный способ улучшить свои навыки. В этой статье мы рассмотрим, как создать простую игру на Python, используя библиотеку Pygame. Наша игра будет называться "Убегай от врагов", где игрок управляет квадратом и должен избегать столкновений с движущимися врагами.

Установка Pygame

Первым шагом в создании игры является установка необходимых библиотек. Для нашей игры мы будем использовать Pygame — популярную библиотеку для разработки игр на Python. Чтобы установить Pygame, выполните следующую команду в терминале:

pip install pygame

Основные компоненты игры

Перед тем как перейти к коду, давайте определим основные компоненты нашей игры:

1. Игрок: Это квадрат, которым управляет игрок.

2. Враги: Красные квадраты, которые движутся вниз по экрану.

3. Счет: Счетчик, который показывает, сколько врагов игрок успешно избегает.

Код игры

Теперь давайте перейдем к написанию кода. Вот полный код для нашей простой игры:

import pygame

import random

# Инициализация Pygame

pygame.init()

# Настройки экрана

WIDTH, HEIGHT = 800, 600

screen = pygame.display.set_mode((WIDTH, HEIGHT))

pygame.display.set_caption("Убегай от врагов")

# Цвета

WHITE = (255, 255, 255)

BLUE = (0, 0, 255)

RED = (255, 0, 0)

# Игрок

player_size = 50

player_pos = [WIDTH // 2, HEIGHT - 2 * player_size]

# Враги

enemy_size = 50

enemy_pos = [random.randint(0, WIDTH - enemy_size), 0]

enemy_list = [enemy_pos]

# Скорость врагов

enemy_speed = 10

# Игровые параметры

score = 0

game_over = False

# Шрифт

font = pygame.font.SysFont("monospace", 35)

# Главный игровой цикл

while not game_over:

  for event in pygame.event.get():

    if event.type == pygame.QUIT:

      game_over = True

  # Управление игроком

  keys = pygame.key.get_pressed()

  if keys[pygame.K_LEFT] and player_pos[0] > 0:

    player_pos[0] -= 10

  if keys[pygame.K_RIGHT] and player_pos[0] < WIDTH - player_size:

    player_pos[0] += 10

  # Обновление позиции врагов

  if enemy_pos[1] >= 0 and enemy_pos[1] < HEIGHT:

    enemy_pos[1] += enemy_speed

  else:

    enemy_pos[0] = random.randint(0, WIDTH - enemy_size)

    enemy_pos[1] = 0

    score += 1

  # Проверка на столкновение

  if (player_pos[0] < enemy_pos[0] < player_pos[0] + player_size or player_pos[0] < enemy_pos[0] + enemy_size < player_pos[0] + player_size) and \

    (player_pos[1] < enemy_pos[1] < player_pos[1] + player_size or player_pos[1] < enemy_pos[1] + enemy_size < player_pos[1] + player_size):

    game_over = True

  # Отрисовка объектов на экране

  screen.fill(WHITE)

  pygame.draw.rect(screen, BLUE, (player_pos[0], player_pos[1], player_size, player_size))

  pygame.draw.rect(screen, RED, (enemy_pos[0], enemy_pos[1], enemy_size, enemy_size))

  # Отображение счета

  score_text = font.render(f"Score: {score}", True, (0, 0, 0))

  screen.blit(score_text, (10, 10))

  pygame.display.update()

# Завершение Pygame

pygame.quit()

Объяснение кода

Инициализация Pygame

В начале кода мы инициализируем Pygame и создаем экран с заданной шириной и высотой. Также определяем основные цвета для нашего игрока и врагов.

Игрок и враги

Мы задаем размеры для игрока и врагов и устанавливаем начальные позиции. Враги будут появляться в случайных местах в верхней части экрана.

Игровой цикл

Основная логика игры находится в бесконечном цикле while. В этом цикле мы обрабатываем события (например, закрытие окна), управляем движением игрока с помощью клавиш стрелок и обновляем позицию врагов. Если враг выходит за пределы экрана, мы перемещаем его обратно в верхнюю часть и увеличиваем счет.

Проверка на столкновение

Мы проверяем столкновение между игроком и врагом. Если они пересекаются, игра заканчивается.

Отрисовка объектов

В конце каждого цикла мы очищаем экран и рисуем игрока и врага, а также отображаем текущий счет.

Запуск игры

Чтобы запустить игру:

1. Сохраните код в файл с расширением .py, например run_away_game.py.

2. Запустите игру с помощью команды:

python run_away_game.py

Теперь вы можете управлять синим квадратом с помощью стрелок влево и вправо и избегать столкновения с красным квадратом!

Заключение

Создание игр на Python с использованием Pygame — это отличный способ развивать свои навыки программирования и креативности. В этой статье мы создали простую игру "Убегай от врагов". Вы можете расширить ее, добавив больше уровней сложности, различных врагов или улучшив графику. Надеюсь, вам было интересно!