def add_agent(self, a: Agent) -> None: if len(self.agents) < self.max_agents: self.positions.append([ random.randrange(0, self.screen_size[0] - 64), random.randrange(0, self.screen_size[1] - 64) ]) a.add_sensor(Thermometer(self.positions, self.destination)) a.add_sensor(Locator(self.positions)) a.add_sensor(Radar(self.destination)) a.add_actuator(Thruster(self.positions, self.terrain_map)) a.add_id(self.current_agents) self.agents.append(a) self.render_names.append( self.font.render(a.get_name() + a.type, True, (255, 255, 255))) self.current_agents = self.current_agents + 1 else: raise ValueError( f'You cannot add more than {self.max_agents} agents!')