From 342c08685207e66b1dd3b111bbb4c7d3140aa687 Mon Sep 17 00:00:00 2001 From: Berger Lena Date: Thu, 7 May 2026 21:12:48 +0200 Subject: [PATCH 1/4] feature: ECTS basic mechanic - add ECTS class to track balance and generation rate - add ECTS and beer constants to settings --- src/ects.py | 12 ++++++++++++ src/settings.py | 10 +++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/ects.py diff --git a/src/ects.py b/src/ects.py new file mode 100644 index 0000000..c9dce47 --- /dev/null +++ b/src/ects.py @@ -0,0 +1,12 @@ +import pygame + +from src.settings import START_ECTS_VALUE, ECTS_UPDATE_INTERVAL + +class ECTS: + def __init__(self): + # total amount of ECTS the player has at the beginning + self.ects_balance = 0 + # start amount of ECTS player gains ber interval at the beginning + self.ects_per_second = START_ECTS_VALUE + # timer when last ECTS was given to player + self.last_update_time = pygame.time.get_ticks() diff --git a/src/settings.py b/src/settings.py index edece49..138b39e 100644 --- a/src/settings.py +++ b/src/settings.py @@ -11,4 +11,12 @@ DOOR_BORDER_WIDTH = 3 COLOR_DOOR_BEIGE = (245, 245, 220) COLOR_DOOR_BORDER = (100, 90, 80) COLOR_HP_BAR_GREEN = (0, 255, 0) -COLOR_HP_BAR_BG = (50, 50, 50) \ No newline at end of file +COLOR_HP_BAR_BG = (50, 50, 50) + + +# --- ECTS --- +START_ECTS_VALUE = 1 # how many ECTS are generated at the beginning +ECTS_UPDATE_INTERVAL = 1000 # time in ms = 1 sec + +BEER_BOTTLE_ECTS_VALUE = 2 +BEER_COST = 50 \ No newline at end of file From 7c576806b2523eb0d165fb16a9768848d4e09931 Mon Sep 17 00:00:00 2001 From: Berger Lena Date: Thu, 7 May 2026 21:19:55 +0200 Subject: [PATCH 2/4] feature: ECTS generation - add update method to increase ECTS balance over time when player is at desk --- src/ects.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ects.py b/src/ects.py index c9dce47..c9fe99a 100644 --- a/src/ects.py +++ b/src/ects.py @@ -10,3 +10,13 @@ class ECTS: self.ects_per_second = START_ECTS_VALUE # timer when last ECTS was given to player self.last_update_time = pygame.time.get_ticks() + + # check if ECTS should be added + def update(self, is_at_desk): + current_time = pygame.time.get_ticks() + + # if player is at desk and interval passed + if is_at_desk and ((current_time - self.last_update_time) >= ECTS_UPDATE_INTERVAL): + self.ects_balance += self.ects_per_second + # reset timer + self.last_update_time = current_time \ No newline at end of file From ad7e18c024d36688d5f41bdbea25bbb38aebf7af Mon Sep 17 00:00:00 2001 From: Berger Lena Date: Thu, 7 May 2026 21:23:27 +0200 Subject: [PATCH 3/4] feature: ects upgrade mechanic - add upgrade_rate method to increase ects/per second --- src/ects.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ects.py b/src/ects.py index c9fe99a..e1a0c92 100644 --- a/src/ects.py +++ b/src/ects.py @@ -19,4 +19,8 @@ class ECTS: if is_at_desk and ((current_time - self.last_update_time) >= ECTS_UPDATE_INTERVAL): self.ects_balance += self.ects_per_second # reset timer - self.last_update_time = current_time \ No newline at end of file + self.last_update_time = current_time + + # beer increases amount of how much ects are earned per second + def upgrade_rate(self, extra_ects): + self.ects_per_second += extra_ects \ No newline at end of file From 8bb05de94615487a874aa35d252036fef07e1d91 Mon Sep 17 00:00:00 2001 From: Berger Lena Date: Thu, 7 May 2026 21:23:56 +0200 Subject: [PATCH 4/4] feature: ECTS upgrade mechanic - add upgrade_rate method to increase ECTS/per second --- src/ects.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ects.py b/src/ects.py index e1a0c92..4ecb40b 100644 --- a/src/ects.py +++ b/src/ects.py @@ -21,6 +21,6 @@ class ECTS: # reset timer self.last_update_time = current_time - # beer increases amount of how much ects are earned per second + # beer increases amount of how much ECTS are earned per second def upgrade_rate(self, extra_ects): self.ects_per_second += extra_ects \ No newline at end of file