Данный учебный курс опирается на язык программирования Python и библиотеку Pygame. Pygame — это простая, но, тем не менее, очень популярная библиотека Python, позволяющая создавать несложные компьютерные игры и мультимедийные приложения.
Хотя библиотека Pygame не содержит ни одного игрового движка, зато позволяет в кратчайшие сроки усвоить базовые принципы работы большинства компьютерных игр, а именно:
- Рисование основных геометрических фигур;
- Отслеживание событий клавиатуры, мыши, таймера;
- Создание простейшей анимации;
- Контроль столкновений графических объектов;
- Создание звуковых эффектов.
Целевая аудитория
Данный курс предназначен для начинающих незрячих программистов, которые, освоив базовую часть языка Python, планируют попробовать свои силы в разработке графических компьютерных игр.
Требования к слушателю
Для понимания и освоения тем курса слушатель должен:
- Знать основы языка программирования Python в объёме учебной программы по Python первой ступени;
- Знать основы объектно-ориентированного программирования в объёме учебной программы по Python второй ступени;
- Знать основы планиметрии (школьной геометрии).
Для проверки знаний потенциальному слушателю необходимо пройти дополнительное собеседование с преподавателем учебного курса.
Основные темы курса
Курс представлен следующими темами:
- Подготовка к работе:
- Возможности библиотеки Pygame;
- Планирование игры;
- Установка Pygame;
- Каркас приложения;
- Домашнее задание 1. Запоминание каркаса приложения наизусть.
- Рисование геометрических фигур:
- Декартова система координат;
- Рисование геометрических фигур;
- Создание дополнительных поверхностей;
- Домашнее задание 2. Рисование шахматной доски.
- Класс Rect и его свойства:
- Введение в класс Rect;
- Создание прямоугольника и получение его размеров;
- Свойства класса Rect;
- Использование свойств для позиционирования прямоугольника;
- Домашнее задание 3. Рисование квадрата в центре экрана.
- Обработка событий от клавиатуры:
- Цикл отслеживания событий;
- Перемещение прямоугольника по горизонтали;
- Обработка удержания клавиш;
- Домашнее задание 4. Перемещение прямоугольника по вертикали.
- Работа с файлами изображений:
- Форматы файлов изображений;
- Загрузка изображения из файла;
- Добавление фонового изображения;
- Прозрачный фон изображения;
- Преобразование пикселей к формату основной поверхности;
- Поворот изображения вокруг своей оси;
- Домашнее задание 5. Поворот бампера машины по направлению курсорных стрелок.
- Курсовой проект: игра «Поймай фрукты»:
- Введение в спрайты;
- Класс Fruit;
- Падение одного фрукта;
- Добавление фонового изображения;
- Рефакторинг;
- Падение нескольких фруктов;
- Группы спрайтов;
- Появление фруктов по таймеру;
- Домашнее задание 6. Добавление в игру ещё одного фрукта.
- Продолжение курсового проекта:
- Добавление корзины;
- Контроль столкновений;
- Подсчёт очков;
- Вывод результатов на экран;
- Ограничение продолжительности игры;
- Домашнее задание 7. Отслеживание фруктов, упавших мимо корзины на землю.
- Завершение курсового проекта:
- Чтение результатов синтезатором речи;
- Модуль pygame.mixer;
- Работа со звуковыми эффектами;
- Добавление фоновой музыки;
- Домашнее задание 8. Добавление разных звуковых эффектов для каждого фрукта.
Ожидаемые результаты
По завершении курса слушатель будет хорошо представлять принципы функционирования компьютерной игры: как отображается готовая картинка с персонажем на экране, как организуется простейшая анимация (движение персонажа), как осуществляется управление движением и направлением персонажа с помощью клавиатуры или мышки, а также как озвучивается желаемое событие или процесс игры.
Освоив теоретический материал, выполнив все предлагаемые домашние задания, разработав шаг за шагом курсовой проект (компьютерную игру «Поймай фрукты»), слушатель будет подготовлен к профессиональному программированию компьютерных игр на мощных игровых движках с готовыми инструментами и спецэффектами.