blob: 4024e533ed8e6fd309d41abbb578d310ce99b683 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
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)
|