diff --git a/reasoning_gym/games/maze.py b/reasoning_gym/games/maze.py index dd89f890..30ea938d 100644 --- a/reasoning_gym/games/maze.py +++ b/reasoning_gym/games/maze.py @@ -152,11 +152,12 @@ def _generate_random_maze(self, rng: random.Random, size: int) -> list[list[str] def _random_floor_cell(self, rng: random.Random, grid: list[list[str]]) -> tuple[int, int]: """Pick a random path cell inside the maze (not the border).""" size = len(grid) - while True: + for _ in range(self.num_retries): r = rng.randint(1, size - 2) c = rng.randint(1, size - 2) if grid[r][c] == self.path_char: return (r, c) + raise RuntimeError(f"Could not find suitable path cell after {self.num_retries} attempts") def _bfs_shortest_path( self, grid: list[list[str]], start_r: int, start_c: int, goal_r: int, goal_c: int