class Stats: score = 0 level = 0 bonus = 0 lives = 0 enemies = 0 percent = 0 field_count = 0 bgcolor = (64,0,0,255) bordercolor = (0,0,0,255) @staticmethod def new_game(): __class__.score = 0 __class__.level = 1 __class__.bonus = 20_000 __class__.lives = 3 __class__.percent = 100 __class__.field_count = 1 __class__.enemies = 3 @staticmethod def level_up(): __class__.score += __class__.calc_bonus()[0] __class__.bonus = 20_000 __class__.percent = 100 __class__.field_count = 1 __class__.level += 1 __class__.enemies = 3 + (__class__.level - 1) * 2 @staticmethod def lose_life(): __class__.lives -= 1 return not __class__.lives @staticmethod def calc_bonus(): level = __class__.level * 3_000 life = __class__.lives * 1_000 time = __class__.level * __class__.bonus area = __class__.level * int(max(20-__class__.percent,0) * 1_000) herd = (__class__.enemies - __class__.field_count) * 1_000 total = level + area + time + life + herd return total, level, life, time, area, herd @staticmethod def update_bonus(dt): __class__.bonus = max(0, __class__.bonus - dt)