Напишите игру для Raspberry Pi на Python.
Если вы счастливый обладатель Raspberry Pi, визуальный язык Scratch — отличный способ начать создавать свою первую игру. Но чтобы раскрыть больше возможностей и потенциала оборудования, взгляните на Python.
Если вы предпочитаете более низкотехнологичный проект, почему бы не ознакомиться с нашим руководством о том, как превратить Raspberry Pi в медиацентр XBMC?
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Python — это образовательный язык программирования по умолчанию для Raspberry Pi. Он используется во всем мире в качестве вводного языка для многих платформ благодаря лаконичному стилю и простому для понимания синтаксису. Однако он предназначен не только для новичков: согласно индексу сообщества программистов TIOBE, Python является восьмым по популярности языком программирования среди профессиональных инженеров, опережая Perl, JavaScript и Visual Basic .NET. Кроме того, он бесплатен, поэтому легко понять, почему так много людей выбирают Python в качестве своего первого языка сценариев.
В этой статье мы познакомим вас с ключевыми понятиями Python и покажем, как начать работу с языком, проведя вас через пример игры, написанной на Python. Тогда вам предстоит создать свой собственный шедевр.
Знакомство с Питоном
Используются две основные версии Python. За Python 3 будущее, но Python 2 обладает более широкой совместимостью с существующими ресурсами, и именно эта версия в настоящее время поставляется в комплекте с Raspberry Pi. В этом руководстве мы будем использовать Python 2.7, последнюю стабильную версию серии 2.x: это означает, что мы можем использовать большинство онлайн-примеров и предварительно написанный код без изменений. Когда придет время, переход на версию 3 будет простым.
Когда вы смотрите на код Python, первое, что вы можете заметить, это то, насколько аккуратно он выглядит. Те, кто привык к PHP, JavaScript или другим современным языкам, также заметят отсутствие фигурных скобок, которые обычно используются для заключения разделов кода. Это связано с тем, что Python использует отступы для организации кода. Это хорошая практика для большинства языков, поскольку она делает код более читабельным: в Python это обязательно. Если вы неправильно установите интервал, ваш код не будет работать. Хотя это может быть изменением для опытных программистов, оно быстро становится естественным и по умолчанию приводит к чистому и понятному коду.
Python также является хорошим первым языком, поскольку он представляет собой простую реализацию объектно-ориентированного программирования (концепцию, которую должен понять любой начинающий программист) и не требует особых усилий в отношении создания и управления переменными. Конечным результатом является особенно продуктивная среда программирования.
Код Python обычно выполняется через интерпретатор, а не компилируется, но, несмотря на это, конечные результаты получаются довольно быстро. Приложения Python могут работать во всех основных операционных системах, поэтому можно создать игру Python на ПК с Windows и запустить ее на компьютере Mac или Linux – или, действительно, на Raspberry Pi.
И последнее большое преимущество Python — наличие широкого спектра дополнительных модулей, обеспечивающих дополнительную функциональность. Одним из таких модулей является Пигаме. Как следует из названия, Pygame помогает создавать игры с использованием Python: например, он значительно улучшает обработку изображений с помощью класса Sprite, упрощает управление внутриигровым звуком и даже позволяет вашей игре работать с джойстиками. Такие игры, как Call of Duty, возможно, выходят за рамки его возможностей, но клон Angry Birds определенно нет.
Нативная и кроссплатформенная разработка
Если вы используете рекомендованный дистрибутив Debian Squeeze Linux на своем Raspberry Pi, Python и Pygame уже установлены, поэтому вы можете сразу приступить к программированию. Вы можете писать сценарии Python в текстовом редакторе, но мы предлагаем вам воспользоваться бесплатной интегрированной средой разработки (IDE) Geany, которая также устанавливается как часть операционной системы. Это программное обеспечение предлагает множество полезных функций для программистов, таких как автоматическая раскраска синтаксиса, упрощающая чтение и отладку вашего кода, а также браузер символов, помогающий отслеживать все классы и переменные в вашем коде.
Однако, как мы уже упоминали, Python работает на многих платформах, поэтому, если вы предпочитаете, вы можете написать свой код на ПК с Windows, а затем переместить его на Raspberry Pi, когда закончите. Для этого вам необходимо установить Python 2.7 на свой компьютер: установщик можно получить по адресу официальный сайт Python. Даже если вы используете 64-разрядную версию Windows, выберите обычный установщик Windows, а не x86-64, поскольку стандартная установка Pygame выполняется только для 32-разрядной версии.
После того, как вы установили Python (приняв параметры установки по умолчанию), следующее, что вам нужно сделать, это установить Pygame для Windowsопять же с настройками по умолчанию. Если у вас уже есть предпочитаемая IDE, она почти наверняка будет поддерживать Python «из коробки»; если нет, вы можете скачать Геани для Windows бесплатно. Чтобы настроить его для тестирования и запуска скриптов Python, запустите Geany, затем перейдите в меню «Сборка» и нажмите «Задать команды сборки». Найдите поле «Выполнить» и замените текущее содержимое на C:Python27python %f (при условии, что вы установили Python в каталог по умолчанию).
Разработка игры
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Нашим первым проектом на Python будет простая игра-стрелялка под названием Raspberry Pie (хм). В этой игре три разных вида фруктов упадут с вершины игровой площадки, но только малина должна достичь низа и попасть в пирог. Игрок управляет подвижной турелью и зарабатывает очки, стреляя в вишню и клубнику: очки вычитаются, если малина случайно уничтожается или если один из других фруктов оказывается в пироге.
Начнем со сбора активов. Открыть библиотеку клипов — отличное место для поиска бесплатных клипартов; отсюда мы можем получить изображения фруктов. Мы создадим собственные изображения для турели и пуль. Мы также могли бы собрать вместе звуки для нашей игры, но сейчас мы будем делать все просто и бесшумно.
Теперь давайте подумаем, как мы собираемся структурировать нашу программу. Базовая структура аркадной игры одинакова, планируете ли вы использовать Scratch, Python или любой другой инструмент. Начнем с настройки среды цикла выполнения и создадим объекты, которые будут использоваться в игре. Затем мы все инициализируем — например, устанавливаем нулевой балл. Затем есть основной цикл, который управляет игровым процессом. После окончания игры отображается счет.
Объекты
Объектно-ориентированное программирование (ООП) лежит в основе большинства современных языков программирования, и его не так уж сложно понять. Подумайте о видимых объектах в нашей игре: единственные аспекты, которые различаются от одного падающего фрукта к другому, — это их положение и род (то есть, малина ли это, клубника или вишня). Поэтому мы можем очень просто представить их все, создав один класс фруктов со свойствами, указывающими род и положение. Затем мы можем создавать фрукты как независимые экземпляры класса (эти экземпляры являются «объектами» ООП), каждый из которых содержит информацию о том, что это за фрукт и его местонахождение.
Помимо свойств, классы могут иметь методы — встроенные действия, которые мы можем вызывать, когда захотим. В случае с фруктами главное, что делает каждый предмет, — это падение. Поэтому мы могли бы встроить в наш класс метод, который говорит: «Возьмите мою текущую вертикальную позицию и переместите ее на 3 пикселя вниз».
Поскольку весь код, относящийся к фруктам, находится внутри класса фруктов, ошибки легко найти, и после их исправления они применяются ко всем экземплярам во всей программе. Вы даже можете основывать один класс на другом, создавая иерархию подклассов. Однако сейчас давайте придерживаться простой реализации. Помните, что хотя классы пишутся как часть кода, объекты создаются только во время работы программы и не существуют после окончания игры.
Программный код
Нажмите здесь, чтобы просмотреть программный код для Raspberry Pie, а также комментарий о том, как мы его написали. (PDF). Комментарий проведет вас по различным разделам программы: если что-то покажется неясным, вашей первой остановкой должен стать официальная документация Python. Программа также во многом опирается на методы и свойства, предоставляемые Pygame.
Вы также можете загрузить копию кода в виде готового к запуску проекта Python — просто разархивируйте файлы в удобное место — чтобы вы могли сразу же поиграть в игру и использовать ее в качестве отправной точки, чтобы узнать больше, изменив и обновить его самостоятельно. Можете ли вы добавить таблицу рекордов? Или заставить разные виды фруктов двигаться по-разному? Освоив основы написания игр на Python, вы сможете создать свою собственную оригинальную игру.