Нарахування балів за збирання бонусів
Додамо в гру рахунок за збирання бонусів. Для відображення рахунку потрібно ініціалізувати шрифти.
Класи Font та SysFont знаходяться в модулі pygame.font і призначені для роботи зі шрифтами та текстом. Щоб створювати від цих класів об'єкти, модуль pygame.font необхідно попередньо ініціалізувати командою pygame.font.init() або виконати ініціалізацію всіх вкладених модулів бібліотеки Pygame командою pygame.init().
Від класів pygame.font.Font та pygame.font.SysFont створюються об'єкти-шрифти. Другий клас бере системні шрифти, тому конструктору достатньо передати ім'я шрифту. Конструктору Font треба передавати ім'я файлу шрифту. Наприклад:
font = pygame.font.SysFont('arial', 36)
font = pygame.font.Font('/адреса/Arial.ttf', 36)
Другий аргумент – це розмір шрифту у пікселях.
Дізнатися, які шрифти є в системі можна за допомогою функції pygame.font.get_fonts()
Для виведення написів використовується команда:
screen.blit(font.render(str(text), True, color), (left , top))
Добавимо в нашу гру шрифт “Verdana”
FONT = pygame.font.SysFont('Verdana', 20)
Також створимо змінну, яка буде містити бали.
score = 0
Тепер будемо виводити значення цієї змінної в основному циклі гри.
main_display.blit(FONT.render(str(score), True, COLOR_WHITE), (WIDTH-50, 20))
Залишилося добавити рахування бонусів при кожному зіткненні з бонусом.
if player_rect.colliderect(bonus[1]):
score += 1
bonuses.pop(bonuses.index(bonus))