Уничтожение пришельцев
281
функция
_change_fleet_direction()
и происходит выход из цикла
. Функция
_change_fleet_direction()
перебирает пришельцев и уменьшает высоту каждо-
го из них с использованием настройки
fleet_drop_speed
; затем направление
fleet_direction
меняется на противоположное, для чего текущее значение умно-
жается на –1. Строка, изменяющая направление, не является частью цикла
for
.
Вертикальная позиция должна изменяться для каждого пришельца, но направление
всего флота должно измениться однократно.
Изменения в
_update_aliens()
:
alien_invasion.py
def _update_aliens(self):
"""
Проверяет, достиг ли флот края экрана,
с последующим обновлением позиций всех пришельцев во флоте.
"""
self._check_fleet_edges()
self.aliens.update()
Перед обновлением позиции каждого пришельца будет вызываться метод
_check_
fleet_edges()
.
Если запустить игру сейчас, флот будет двигаться влево-вправо между краями
экрана и опускаться каждый раз, когда он доберется до края. Теперь можно пере-
ходить к реализации уничтожения пришельцев и отслеживания пришельцев, стал-
кивающихся с кораблем или достигающих нижнего края экрана.
Достарыңызбен бөлісу: