Найти тему

Пишем игру Flappy Bird на Python. Подсчет количества очков. Часть 9.

Учимся считать
Учимся считать

Сначала добавим несколько новых свойств в созданный ранее класс Game. Эти свойства помогут нам определить набранные очки и отобразить их в игре.

  • self.points - Количество набранных очков.
  • self.distance - Расстояние, которое преодолела птичка.
  • self.points_color - Цвет отображаемых очков.
  • self.font - Шрифт для текста.
  • self.text - Объект текста для отображения.
  • self.rect - Объект текста для получения свойств его позиционирования на экране.
  • self.rect.left - Положение по оси-х.
  • self.rect.top - Положение по оси-у.
Свойства текста для очков в игре
Свойства текста для очков в игре

Далее добавим метод для отображения очков.

Метод отображения очков в игре
Метод отображения очков в игре

А также метод для обновления очков. Принцип обновления будет следующий: Каждый "кадр" игры мы будем добавлять 1 к пройденному расстоянию. При этом если остаток от деления на 10 расстояния будет равен нулю, а также текущий прогресс игры будет активен, мы добавим одно очко к свойству подсчета общего их количества.

Метод обновления очков
Метод обновления очков

Теперь переходим в основной цикл игры и добавляем вызов созданного метода обновления количества очков - game.update_points()

Обновление количества очков
Обновление количества очков

Отрисовка на интерфейсе - game.draw_points(screen_surface)

Отрисовка количества очков в игре
Отрисовка количества очков в игре

Осталось только проверить результат. В качестве самостоятельной работы вы можете попробовать увеличивать скорость набора очков спустя н-кадров игры. Также напоминаем вам, что сейчас мы проводим серию бесплатных пробных занятий в школе программирования для детей КИДКОД. Занятия проходят как онлайн так и офлайн. А по промо коду "дзен" вы получите 25% скидку на первый месяц обучения.

Школа Программирования для детей «КИД КОД» - занятия онлайн и офлайн

На следующих уроках мы разберемся как добавить динамический фон в игру.

Текущий результат
Текущий результат