Увеличение стоимости пришельцев

We use cookies. Read the Privacy and Cookie Policy

Так как с каждым достижением нового уровня игра становится более сложной, за пришельцев на этих уровнях следует давать больше очков. Чтобы реализовать эту функциональность, мы добавим код, увеличивающий стоимость пришельцев при возрастании скорости игры:

settings.py

class Settings():

"""Класс для хранения всех настроек игры Alien Invasion."""

def __init__(self):

...

# Темп ускорения игры

self.speedup_scale = 1.1

. . . .# Темп роста стоимости пришельцев

(1) . . . .self.score_scale = 1.5

. . . .self.initialize_dynamic_settings()

. . . .

def increase_speed(self):

. . . ."""Увеличивает настройки скорости и стоимость пришельцев."""

self.ship_speed_factor *= self.speedup_scale

self.bullet_speed_factor *= self.speedup_scale

self.alien_speed_factor *= self.speedup_scale

. . . .

(2) . . . .self.alien_points = int(self.alien_points * self.score_ scale)

В программе определяется коэффициент прироста начисляемых очков; он называется score_scale (1) . С небольшим увеличением скорости (1,1) игра быстро усложняется, но, чтобы увидеть заметную разницу в очках, необходимо изменять стоимость пришельцев в большем темпе (1,5). После увеличения скорости игры стоимость каждого попадания также увеличивается (2). Чтобы счет возрастал на целое количество очков, в программе используется функция int().

Чтобы увидеть стоимость каждого пришельца, добавьте в метод increase_speed() в классе Settings команду print:

settings.py

def increase_speed(self):

...

self.alien_points = int(self.alien_points * self.score_scale)

. .print(self.alien_points)

Новое значение должно выводиться в терминальном окне каждый раз, когда игрок переходит на новый уровень.

примечание

Убедившись, что стоимость пришельцев действительно возрастает, не забудьте удалить команду print; в противном случае лишний вывод повлияет на быстродействие игры и будет отвлекать игрока.