Подсчет очков
293
Мы импортируем новый класс
Scoreboard
и создаем экземпляр
sb
после создания
экземпляра
stats
. Затем экземпляр
sb
передается методу
update_screen()
, чтобы
счет
можно было вывести на экран
.
Для отображения счета метод
update_screen()
изменяется следующим образом:
game_functions.py
def update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
play_button):
...
# Вывод счета.
sb.show_score()
# Кнопка
Play отображается в том случае, если игра неактивна.
if not stats.game_active:
play_button.draw_button()
# Отображение последнего прорисованного экрана.
pygame.display.flip()
Мы добавляем
sb
в список параметров, определяющих
update_screen()
, и вызыва-
ем
show_score()
непосредственно перед отображением кнопки
Play
.
Если запустить Alien Invasion сейчас, в правом верхнем углу экрана отображается
счет 0. (Пока мы просто хотим убедиться в том, что счет отображается в нужном
месте, прежде чем заниматься дальнейшей доработкой системы подсчета очков.)
На рис. 14.2 изображено окно игры перед ее началом.
Рис. 14.2.
Счет отображается в
правом верхнем углу экрана
А теперь нужно организовать начисление очков за каждого пришельца!