Создание игр – перспективное направление разработки, которое стремительно развивается в 21 веке. Для того, чтобы программировать развлекательные продукты, нужно для начала выбрать специализированный язык, а затем изучить его особенности и инструменты. Небольшие проекты можно сделать и на Python.

Статья расскажет о том, какие преимущества и недостатки имеет соответствующий язык разработки, а также познакомит с Pygame – одним из мощнейших инструментов при создании the game. Также будут изучены уже написанные проекты.

Определение

Python – высокоуровневый язык программирования общего назначения. Используется для создания самых разных приложений: от игровых до бизнес-программ. Поддерживает концепции объектно-ориентированной разработки.

Python – язык с динамической типизацией данных. Он является достаточно простым для изучения, благодаря чему его активно используют новички. The first game написать на Python будет не слишком трудно даже с минимальными знаниями.

Плюсы

Python является языком разработки со следующими преимуществами:

  • стабильное функционирование;
  • читабельный и простой код;
  • элементарный синтаксис, в основе которого лежит язык ABC;
  • универсальность – одинакового подходит как для the business apps, так и для игр;
  • в небольших приложениях работает достаточно быстро;
  • наличие динамической типизации.

У The Python имеется обширный спектр фреймворков, а также встроенных инструментов и библиотек. Все это помогает with the game programming.

Минусы

Недостатков у Питона не очень много. К ним относят:

  • отсутствие строгой типизации;
  • итоговый объем получившегося приложения.

Из-за «веса» получаемые games can be slowly. Приложения рискую медленно работать, а также сильно нагружать операционную систему устройства. Именно поэтому for the game programming Питон используется тогда, когда речь идет о не самых крупных проектах.

Игровой цикл

Игровой цикл – это объект, который заставляет программный код загружаться из раза в раз. В игре им выступает кадр. В нем может происходить множество действий. Они разделяются на несколько категорий:

  1. Ввод данных. Производится со стороны непосредственного пользователя.
  2. Обновление кадра.
  3. Визуализация. Эта операция отвечает за вывод изображения на экран. В процессе производится отрисовка элементов там, где они должны были располагаться по первоначальной задумке. 

In the big projects появляется искусственный интеллект и физика. Для создания полноценной игры нужно разобраться с воспроизведением звуков и музыки. Иногда в ней предусматривается набор очков, повышение уровня, а также индикаторы жизни.

Pygame – это…

The Pygame – мощный инструмент разработчика развлекательного программного обеспечения. Фреймворк (библиотека), совместимая с Python 3.0. Данный модуль вышел в 2000 году и стремительно развивался. Его поддержка производится по сей день.

Игры, созданные при помощи the Pygame – это масштабируемые проекты. Они одинаково хорошо запускаются on the mobile и ПК.

Модуль Pygame:

  • является кроссплатформенным;
  • обладает открытым исходным кодом;
  • достаточно прост в изучении;
  • имеет неплохую поддержку;
  • обладает зрелой library.

Найти tutorial of the Pygame не составит особого труда – в сети полно документации (documents) и видео-гайдов. Данный модуль является обязательным для изучения всеми, кто планирует писать игры на Питоне. Это его ключевое предназначение.

Pygame Platform – это платформа, которая используется при разработке мультимедийных приложений с графическим интерфейсом.

Начало работы

Для того, чтобы использовать данный модуль, его нужно сначала инициализировать. Скачивается библиотека с сервиса pygame org. Здесь же можно найти documentation and tutorials по рассматриваемой «платформе».

Перед созданием проекта потребуется:

  1. Изучить основы программирования to the Python language.
  2. Использовать команду pip install pygame. Она отвечает за инициализацию.

Теперь можно формировать проект и редактировать его.

Пример приложения

Pygame Platform – инструмент, помогающий создавать не только простые приложения, но и достаточно крупные игры. Вот элементарный пример кода:

import pygame

import sys

pygame.init()

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

while True:

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            pygame.quit()

            sys.exit()

Здесь:

  • import pygame отвечает за импорт libraries, включенный to the module;
  • init() используется для подготовки модулей к работе;
  • screen отвечает за создание графического окна, передав в set_mode() разрешение в качестве парный цифр;
  • while True – основной цикл, перехватывающий событие закрытия основного графического окна посетителем.

После наступления желаемого события происходит завершение работы с библиотекой при помощи функции quit. Exit() отвечает за прекращение использования всего итогового приложения.

Рисование фигур

While running Pygame Platform, разработчикам может потребуется изображение геометрических фигур. Прямоугольные объекты представлены типом Rect:

Pygame: основы работы

Создать объект соответствующего типа in the program легко – нужно указать координаты левого верхнего угла прямоугольника, а также длины его сторон:

Pygame: основы работы

Здесь стоит обратить внимание на то, что начало координат расположено in the left corner окна, сверху. В изучаемой библиотеке функции отображения геометрических фигур расположены в модуле под названием draw.

Pygame: основы работы

Изначально все графические объекты, которые хочется разместить на основном экране, сначала попадают в специальный буфер of the platform. Отображение изменений производится при помощи функции flip.

Любой tutorial расскажет о функциях рисования графических фигур:

  1. Line. Позволяет рисовать линию на поверхности с заданным цветом и началом. Также предусматривается конец в точке end_pos и возможность указания толщины линии.
  2. Lines. Рисует линию, которая соединяет точки последовательности. Каждая из них представлена в приложении координатной парой. Если третий параметр (closed) – это true, конечная точка будет соединена с начальной.
  3. Circle. Точка pos здесь – это центр. Если толщина линии будет равна нулю, окружность закрасится.
  4. Ellipse. Функция, которую уроки по рассматриваемому модулю описывают как возможность нарисовать эллипс, ограниченный прямоугольником Rect. Если толщина линии равняется нулю, фигура будет закрашена.

Еще один вариант, который поддерживает библиотека Pygame – это рисование полигонов. Обозначается как polygon. Это – последовательность pointlist на заданной поверхности выбранного цвета. Каждая точка – это пара координат. Если width равен нулю, получившийся многоугольник будет закрашен.

Цвета

Цвета в модуле представлены моделью RGB. Посмотреть ее можно на Wikipedia org. Значение данного параметра задается в рамках диапазона от 0 до 255 включительно. Первая характеристика указывает на количество красного, вторая – зеленого, третья – голубого. Чем меньше значение, тем более темным окажется оттенок.

Вот несколько примеров, которые используют различные platforms:

  • белый – (255, 255, 255);
  • красный – (255, 0, 0);
  • черный – (0, 0, 0).

Любой tutorial по Pygame в Python укажет на то, что модуль color включает в себя словарь – THECOLORS.

Pygame: основы работы

Его ключи – это названия разных цветовых гамм. Подключается он при помощи команды, представленной выше.

Текст и шрифт

Pygame documentation на сайте Питона org содержит данные о работе с текстом и шрифтами. Последние – это группы символов, которые объединены по стилистическому или иному признаку. Шрифты в библиотеке представлены типом под названием Font.

Для того, чтобы создать объект Font на основе уже имеющегося шрифта в системе, нужно вызвать функцию:

Pygame: основы работы

Здесь:

  • параметр name отвечает за передачу функции имени шрифта;
  • size – это размер «символов» в пунктах;
  • bold и italic – особенности начертания.

Списки уже имеющихся шрифтов в системе удается получить при помощи команды get_fonts():

Pygame: основы работы

Теперь при помощи метода render для объекта Font нужно получить изображение с текстом. Последний передается методу built() для отрисовки на основном дисплее устройства:

Pygame: основы работы

Тест при обработке соответствующего кода будет располагаться по координатам (50, 50).

Класс GameObject

В официальной documentation рассматриваемого модуля выделяется объект GameObject. Он представлен визуальным элементом, который знает, как рендерить самого себя. Позволяет хранить границы и перемещаться. С аналогичными возможностями на изучаемой платформе есть класс Sprite. Новичкам он не нужен.

Этот код работает так:

  1. GameObject согласно tutorial document используется в виде базового класса других объектов в играх.
  2. Отвечает за разнообразие свойств прямоугольника.
  3. Метод update() перемещает объект с установленной (текущей) скоростью.
  4. Метод draw() должен определяется подклассами. Он ничего не предпринимает в программном коде.

Для создания собственной игры через «Пигейм»также потребуется знать the class Game.

Класс Game

Это – игровое ядро. Оно выполняется в основном цикле. Наделен полезными инструментами. Обладает такими методами:

  1. Init. Используется за инициализацию Pygame, шрифтов, а также микшера звуков. Three вызова нужны, чтобы задействовать в исходном коде только нужные элементы, а также держать подсистемы под контролем. С его помощью создаются фоны, основная поверхность и таймер с поддержкой отображения частоты кадров.
  2. Update и draw. Вызывают соответствующие методы. При наложении объектов на дисплее, порядок списка объектов будет определять, что рендерится изначально.
  3. Handle_events(). Метод, за счет которого прослушиваются генерируемые события. Сюда можно отнести нажатие на кнопки мыши, а также события клавиш. Каждое действие вызывает все функции-обработки, которые проходят обработку событий.

Также используется метод run(). Он отвечает за работоспособность основного цикла. Используется до получения в значении game_over итога «ложь».

Готовые проекты – наглядные примеры

При помощи Pygame Python создаются довольно крупные проекты. Сейчас самыми известными среди них являются:

  • EVE Online;
  • Battlefield;
  • Mount and Blade;
  • Civilization 4.

Начать работу с упомянутым модулем можно, посмотрев эти уроки. А можно закончить специализированные дистанционные компьютерные курсы.

Pygame: основы работы