diff --git a/game.py b/game.py index aaf904c..f965a33 100644 --- a/game.py +++ b/game.py @@ -23,10 +23,11 @@ class Game: Runs the game """ self.instance_character(3, 3, self.player) + self.render() while not self.should_exit: - self.render() - self.step() - self.ticks += 1 + action_was_performed = self.step() + if action_was_performed: + self.render() def instance_character(self, x, y, character: Character): """ @@ -59,6 +60,9 @@ class Game: self.term.put_char(x, y, TEXTURES[self.floor.get_tile(x, y)]) def step(self): + """ + Perfoms a step in the game. Returns True if any creature did an action, and False otherwise + """ creaturas = self.schedule.get(self.ticks) if creaturas: for creatura in creaturas: @@ -69,6 +73,12 @@ class Game: self.reschedule(creatura) self.perform(creatura) self.schedule.pop(self.ticks) + self.ticks += 1 + return True + else: + self.ticks += 1 + return False + def perform(self, character: Character): """