Skip to content

Commit

Permalink
More text on screen, enemies getting stronger notification, playable …
Browse files Browse the repository at this point in the history
…units get stats reset properly
  • Loading branch information
tdgood committed Apr 15, 2024
1 parent 0e73c78 commit 8b97cdb
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 3 deletions.
27 changes: 24 additions & 3 deletions src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,21 @@ def build_screen(self):
self.font, (0, 0, 0), Mage, 3, self.all_text, topleft=(10, 50)
)

TextArea(
self.font,
"[i] Stats page",
(0, 0, 0),
self.all_text,
center=(SCREEN_WIDTH / 2, 20),
)

self.stronger_enemies_text = TextArea(
self.font,
"Enemies are getting stronger...",
(0, 0, 0),
center=(SCREEN_WIDTH / 2, 65),
)

pos = 100
for entity in [Warrior, Ranger, Mage, Skeleton, Zombie]:
GameScreenStatsText(
Expand Down Expand Up @@ -247,14 +262,19 @@ def update(self, screen, delta_time):
self.transition_state(GameState.States.GAME_OVER)
elif not self.all_enemies:
if self.room_transition_timer is None:
self.room_transition_timer = 0
self.rooms_cleared += 1
self.room_transition_timer = (
-1000 if self.rooms_cleared % 3 == 0 else 0
)
self.all_text.add(self.room_cleared_text)
if self.rooms_cleared % 3 == 0:
self.all_text.add(self.stronger_enemies_text)
else:
self.room_transition_timer += delta_time
if self.room_transition_timer >= 1000:
self.room_transition_timer = None
self.room_cleared_text.kill()
self.stronger_enemies_text.kill()
for entity in self.all_players:
self.playable_units[type(entity)] += 1
entity.kill()
Expand Down Expand Up @@ -294,8 +314,9 @@ def __title_screen_play_click(self):
self.transition_state(GameState.States.GAME_SCREEN)

def __game_over_play_click(self):
Skeleton.reset_stats()
Zombie.reset_stats()
for unit in [Warrior, Ranger, Mage, Skeleton, Zombie]:
unit.reset_stats()

self.selected_unit = Warrior
self.transition_state(GameState.States.TITLE_SCREEN)

Expand Down
21 changes: 21 additions & 0 deletions src/sprites.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,13 @@ def __init__(self, centerpos: tuple[int, int], *groups):
*groups,
)

@classmethod
def reset_stats(cls):
cls.health = 5
cls.attack = 2
cls.speed = 5
cls.attack_speed_scale = 1


class Ranger(Unit):
health = 3
Expand All @@ -175,6 +182,13 @@ def __init__(self, centerpos: tuple[int, int], *groups):
*groups,
)

@classmethod
def reset_stats(cls):
cls.health = 3
cls.attack = 3
cls.speed = 6
cls.attack_speed_scale = 1


class Mage(Unit):
health = 1
Expand All @@ -195,6 +209,13 @@ def __init__(self, centerpos: tuple[int, int], *groups):
*groups,
)

@classmethod
def reset_stats(cls):
cls.health = 1
cls.attack = 5
cls.speed = 4
cls.attack_speed_scale = 1


class Skeleton(Unit):
health = 3
Expand Down

0 comments on commit 8b97cdb

Please sign in to comment.