summaryrefslogtreecommitdiff
path: root/src/sliceitoff/stats/stats.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/sliceitoff/stats/stats.py')
-rw-r--r--src/sliceitoff/stats/stats.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/sliceitoff/stats/stats.py b/src/sliceitoff/stats/stats.py
index 80cd347..4024e53 100644
--- a/src/sliceitoff/stats/stats.py
+++ b/src/sliceitoff/stats/stats.py
@@ -3,7 +3,9 @@ class Stats:
level = 0
bonus = 0
lives = 0
+ enemies = 0
percent = 0
+ field_count = 0
bgcolor = (64,0,0,255)
bordercolor = (0,0,0,255)
@@ -14,20 +16,33 @@ class Stats:
__class__.bonus = 20_000
__class__.lives = 3
__class__.percent = 100
+ __class__.field_count = 1
+ __class__.enemies = 3
@staticmethod
def level_up():
- __class__.score += __class__.level * 3_000
- __class__.score += __class__.level * __class__.bonus
+ __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)