From 02e52ea98ac983a5ce94e7531984c8096eb57f1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Schr=C3=B6der?= <fschroeder@techfak.uni-bielefeld.de> Date: Mon, 19 Aug 2024 15:22:20 +0200 Subject: [PATCH] Update `get_state_image` to handle controlled players list Enhanced `get_state_image` to accept a list of controlled players, defaulting to a single player if not provided. This change ensures that the drawing function correctly interprets the input for controlled players, improving the function's flexibility and usability. --- cooperative_cuisine/pygame_2d_vis/drawing.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cooperative_cuisine/pygame_2d_vis/drawing.py b/cooperative_cuisine/pygame_2d_vis/drawing.py index 45112949..88442ea8 100644 --- a/cooperative_cuisine/pygame_2d_vis/drawing.py +++ b/cooperative_cuisine/pygame_2d_vis/drawing.py @@ -937,8 +937,10 @@ class Visualizer: pygame.image.save(screen, filename) def get_state_image(self, state: dict, - cache_flags: CacheFlags = CacheFlags.COUNTERS | CacheFlags.BACKGROUND) -> npt.NDArray[np.uint8]: - screen = self.draw_gamescreen(state, [0 for _ in state["players"]], cache_flags=cache_flags) + cache_flags: CacheFlags = CacheFlags.COUNTERS | CacheFlags.BACKGROUND, + controlled_players: list[int] = None, + ) -> npt.NDArray[np.uint8]: + screen = self.draw_gamescreen(state, [0] if controlled_players is None else controlled_players, cache_flags=cache_flags) return pygame.surfarray.pixels3d(screen) def draw_recipe_image( -- GitLab