М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет205/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   201   202   203   204   205   206   207   208   ...   334
Байланысты:
Изучаем Python

Рис. 13.5.
Снаряды уничтожают пришельцев!
Новая строка сначала перебирает все снаряды в 
self.bullets
, а затем перебирает 
всех пришельцев в 
self.aliens
. Каждый раз, когда между прямоугольником снаряда 
и пришельца обнаруживается перекрытие, 
groupcollide()
добавляет пару «ключ-
значение» в возвращаемый словарь. Два аргумента 
True
сообщают Pygame, нужно ли 


Уничтожение пришельцев
283
удалять столкнувшиеся объекты: снаряд и пришельца. (Чтобы создать сверхмощный 
снаряд, который будет уничтожать всех пришельцев на своем пути, можно передать 
в первом аргументе 
False
, а во втором 
True
. Пришельцы, в которых попадает снаряд, 
будут исчезать, но все снаряды будут оставаться активными до верхнего края экрана.)
Если запустить Alien Invasion сейчас, пришельцы, в которых попадает снаряд, будут 
исчезать с экрана. На рис. 13.5 изображен частично уничтоженный флот.
Создание больших снарядов для тестирования
Многие игровые возможности тестируются простым запуском игры, но некоторые 
аспекты слишком утомительно тестировать в обычной версии игры. Например, что-
бы проверить, правильно ли обрабатывается уничтожение последнего пришельца, 
нам пришлось бы несколько раз сбивать всех пришельцев на экране.
Для тестирования конкретных аспектов игры можно изменить игровые настройки 
так, чтобы упростить конкретную область. Например, можно уменьшить экран, 
чтобы на нем было меньше пришельцев, или увеличить скорость снаряда и коли-
чество снарядов, одновременно находящихся на экране.
Мое любимое изменение при тестировании Alien Invasion — использование сверх-
широких снарядов, которые остаются активными даже после попадания в при-
шельца (рис. 13.6). Попробуйте задать настройке 
bullet_width
значение 300 (или 
даже 3000!) и посмотрите, сколько времени вам понадобится для уничтожения 
флота пришельцев!
Рис. 13.6.
Сверхмощные снаряды упрощают тестирование некоторых аспектов игры


284

Достарыңызбен бөлісу:
1   ...   201   202   203   204   205   206   207   208   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет