Настройка Python и Pygame . . . . . . . . . . . . . . . . 1
Начало старта . . . . . . . . . . . . . . . . . . . . . . 1
Установка Pygame . . . . . . . . . . . . . . . . . . . . 3
Введение в Python . . . . . . . . . . . . . . . . . . . 5
Введение в PyGame . . . . . . . . . . . . . . . . . . . 24
Мигание Hello World . . . . . . . . . . . . . . . . . . 28
Ответ на клавиатуру . . . . . . . . . . . . . . . . . . 34
Заключение . . . . . . . . . . . . . . . . . . . . . . . 38
Крестики-нолики в PyGame . . . . . . . . . . . . . . . 39
Вступление . . . . . . . . . . . . . . . . . . . . . . . 39
Основной цикл . . . . . . . . . . . . . . . . . . . . . 40
Обработка событий . . . . . . . . . . . . . . . . . . . 41
Создание доски . . . . . . . . . . . . . . . . . . . . . 42
Лучший ИИ . . . . . . . . . . . . . . . . . . . . . . . 50
Заключение . . . . . . . . . . . . . . . . . . . . . . . 54
Использование классов в Pygame . . . . . . . . . . 55
Введение . . . . . . . . . . . . . . . . . . . . . . . . 55
Рефакторинг игровой логики . . . . . . . . . . . . . 60
Заключение . . . . . . . . . . . . . . . . . . . . . . . 68
Глава 6 - Пожиратель камней . . . . . . . . . . . . . 70
Введение . . . . . . . . . . . . . . . . . . . . . . . . 70
Проект игры . . . . . . . . . . . . . . . . . . . . . . 71
Обнаружение нажатия клавиш . . . . . . . . . . . . 77
Space Invasion в PyGame . . . . . . . . . . . . . . . 92
Введение . . . . . . . . . . . . . . . . . . . . . . . . 92
Цель игр . . . . . . . . . . . . . . . . . . . . . . . . 93
Основной цикл . . . . . . . . . . . . . . . . . . . . . 95
Игровые спрайты . . . . . . . . . . . . . . . . . . . . 97
Спрайт захватчика . . . . . . . . . . . . . . . . . . 101
Спрайт пули . . . . . . . . . . . . . . . . . . . . . . 104
Спрайт бомбы . . . . . . . . . . . . . . . . . . . . . 105
Перемещение игрока . . . . . . . . . . . . . . . . . 107
Стрельба пулей . . . . . . . . . . . . . . . . . . . . 110
Проверка на попадание инопланетян . . . . . . . 112
Рисуем пришельцев . . . . . . . . . . . . . . . . . . 114
Добавление в Scoring . . . . . . . . . . . . . . . . . 125
Запуск НЛО . . . . . . . . . . . . . . . . . . . . . . 129
Заключение . . . . . . . . . . . . . . . . . . . . . . . 137
Приложение . . . . . . . . . . . . . . . . . . . . . . . 138
Где найти изображения . . . . . . . . . . . . . . . . 138
Где найти звуки . . . . . . . . . . . . . . . . . . . . 138
Другие источники . . . . . . . . . . . . . . . . . . . 139
Добро пожаловать в мир программирования PyGame и Python! Эта книга познакомит вас с библиотекой PyGame и научит вас создавать собственные игры с использованием языка Python. Мы начнем с базового обзора Python и библиотеки PyGame, а затем перейдем к разработке, написанию и отладке нашей собственной игры. От добавления графики и звуков до создания анимации и бонусов — мы расскажем обо всем, что вам нужно знать, чтобы создать собственную насыщенную интерактивную игру. Наконец, мы пройдем процесс отладки и тестирования нашей игры, прежде чем опубликовать ее для всего мира. Итак, давайте начнем и научимся создавать собственные игры с помощью PyGame и Python!
Если ты когда-нибудь хотел сделать свою игру, но думал, что это только для тех, кто с пелёнок пишет на C++ и дышит в сторону Unity, то эта книга — как раз для тебя. Она не сделает из тебя гуру геймдева, но вполне может подсадить на создание игр, как наркотик. Только вместо дозы — спрайты, циклы while True и pygame.display.flip().
Плюсы:
Минусы:
Итог:
Если ты хочешь влезть в геймдев с нуля, не боишься кода и готов потратить вечер на то, чтобы понять, почему твой корабль летает вверх ногами — бери. Это как первый велосипед: он не будет шоссейным, но ты на нём научишься кататься. А дальше — уже сам, с Google, Stack Overflow и мечтами о своей Metroidvania.
Оценка: 8 из 10.
Для кого: новичков, школьников, студентов, любителей магии «а вдруг получится».
Не для кого: тех, кто уже делал игры и ищет «следующий уровень».