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()