예제 #1
0
 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!')