Ошибка программы AttributeError: 'AlienInvasion' object has no attribute 'change_fleet_direction'

Программа запрашивает атрибут для функции change_fleet_direction это fleet_direction он лежит в settings, но почему то программа не реагирует на него.

полная ошибка:

Traceback (most recent call last):
  File "D:\Alien_1\alien_invasion.py", line 156, in <module>
    ai.run_game()
  File "D:\Alien_1\alien_invasion.py", line 28, in run_game
    self._update_aliens()
  File "D:\Alien_1\alien_invasion.py", line 67, in _update_aliens
    self._check_fleet_edges()
  File "D:\Alien_1\alien_invasion.py", line 76, in _check_fleet_edges
    self.change_fleet_direction()
AttributeError: 'AlienInvasion' object has no attribute 'change_fleet_direction')

часть программы где ошибка:

def _update_aliens(self)
    """Обновляет позиции всех пришельцев во флоте."""
    self._check_fleet_edges()
    self.aliens.update()


def _check_fleet_edges(self):
    """Реагирует на достижение пришельцем края экрана."""
    for alien in self.aliens.sprites():
        if alien.check_edges():
            self.change_fleet_direction()
            break

def _change_fleet_direction(self):
    """Опускает весь флот и меняет направление флота."""
    for alien in self.aliens.sprites():
        alien.rect.y += self.settings.fleet_drop_speed
    self.settings.fleet_direction *= -1

модуль setting:

    self.fleet_drop_speed = 10
    # fleet_direction = 1 обозначает движение вправо; а -1 - влево.
    self.fleet_direction = 1

все файлы можно посмотреть тут: https://github.com/DronDullet/Alien_1.git


Ответы (0 шт):