def draw_distributions(self, state): """Draw belief distributions.""" walls = state.layout.walls dist = [] for x in range(walls.width): distx = [] dist.append(distx) for y in range(walls.height): (screen_x, screen_y) = self.to_screen((x, y)) block = gu.square((screen_x, screen_y), 0.5 * self.grid_size, color=BACKGROUND_COLOR, filled=1, behind=2) distx.append(block) self.distribution_images = dist
def draw_expanded_cells(self, cells): """Draw an overlay of expanded grid positions for search agents.""" n = float(len(cells)) base_color = [1.0, 0.0, 0.0] self.clear_expanded_cells() self.expanded_cells = [] for k, cell in enumerate(cells): screen_pos = self.to_screen(cell) cell_color = gu.format_color(*[(n - k) * c * .5 / n + .25 for c in base_color]) block = gu.square(screen_pos, 0.5 * self.grid_size, color=cell_color, filled=1, behind=2) self.expanded_cells.append(block) if self.frame_time < 0: gu.refresh()
def debug_draw(self, cells, color=[1.0, 0.0, 0.0], clear=False): """Draw debug information to screen.""" if clear: self.clear_debug() self.expanded_cells = [] for k, cell in enumerate(cells): screen_pos = self.to_screen(cell) cell_color = gu.format_color(*color) block = gu.square(screen_pos, 0.5 * self.grid_size, color=cell_color, filled=1, behind=2) self.expanded_cells.append(block) if self.frame_time < 0: gu.refresh()