Подсчет очков
297
Округление счета
В большинстве аркадных «стрелялок» счет ведется значениями, кратными 10, и мы
воспользуемся этой схемой в своей игре. Давайте отформатируем счет так, чтобы
в больших числах группы разрядов разделялись запятыми. Изменения вносятся
в классе
Scoreboard
:
scoreboard.py
def prep_score(self):
"""Преобразует текущий счет в графическое изображение."""
rounded_score = int(round(self.stats.score, -1))
score_str = "{:,}".format(rounded_score)
self.score_image = self.font.render(score_str, True, self.text_color,
self.ai_settings.bg_color)
...
Функция
round()
обычно округляет дробное число до заданного количества зна-
ков, переданного во втором аргументе. Но если во втором аргументе передается
отрицательное число,
round()
округляет значение до ближайших десятков, сотен,
тысяч и т. д. Код
приказывает Python округлить значение
stats.score
до десят-
ков
и сохранить его в
rounded_score
.
ПРИМЕЧАНИЕ
В Python 2 .7 функция round() всегда возвращает дробное значение,
поэтому мы используем
int(), чтобы гарантировать, что счет будет выводиться в виде целого числа . Если вы используете
Python 3, вызов int() можно опустить .
Достарыңызбен бөлісу: