Итоги
255
Создание функции fire_bullet()
Переместим код стрельбы в отдельную функцию, чтобы выстрел выполнялся всего
одной строкой кода, а блок
elif
в
check_keydown_events()
оставался простым:
game_functions.py
def check_keydown_events(event, ai_settings, screen, ship, bullets):
"""Реагирует на нажатия клавиш."""
...
elif event.key == pygame.K_SPACE:
fire_bullet(ai_settings, screen, ship, bullets)
def fire_bullet(ai_settings, screen, ship, bullets):
"""Выпускает пулю, если максимум еще не достигнут."""
# Создание новой пули и включение ее в группу bullets.
if len(bullets) < ai_settings.bullets_allowed:
new_bullet = Bullet(ai_settings, screen, ship)
bullets.add(new_bullet)
Функция
fire_bullet()
просто содержит код, который использовался для выстрела
при нажатии клавиши «пробел»; вызов
fire_bullet()
добавляется в
check_keydown_
events()
при нажатии клавиши «пробел».
Запустите
alien_invasion .py
еще раз и убедитесь в том, что стрельба проходит без
ошибок.
Достарыңызбен бөлісу: