Esempio n. 1
0
    def __init__(self, window, population, maze, stats_height=160, **kwagrs):
        # TODO ability to handle hiding statistics
        super(ExperimentMode, self).__init__()
        self.paused = False
        self.window = window
        self.width = window.width
        self.height = window.height
        self.groups = BatchGroup()

        grid_size = (self.height-stats_height) // GRID_SCALE, self.width // GRID_SCALE
        maze = maze if maze is not None else Walls(grid_size)
        env = Environment(maze, GRID_SCALE, FOOD_INIT_PROB)
        env.set_stats(Statistics.for_shape(self.width))
        env.set_population(population)
        # split window
        self.env_view = EnvironmentView(env, self.width, self.height-stats_height, **kwagrs)
        self.stats_view = StatsView(env.stats, 0, self.height-stats_height,
                                    self.width, stats_height, **kwagrs)
        self.groups.add_objects([self.env_view, self.stats_view])