def update(self, ants): "Updates class variables" ###Initializes class variables if self.total_ants == -1: self.total_ants = len(ants.my_ants()) ###Updates Food new_food = ants.food() for f in self.food: if f not in new_food and ants.visible(f) and 'a' in a_star.surroundings(f, self.level_array): self.total_ants += 1 self.food = ants.food() ###Calibrates ant lookup and resets value to None a = ants.my_ants() dead = [] for ant in self.ant_lookup: if ant not in a: dead.append(ant) for ant in dead: self.dead_ants += 1 del self.ant_lookup[ant] for ant in a: self.ant_lookup[ant] = None self.current_ants = self.total_ants - self.dead_ants self.map_ants = len(self.ant_lookup) self.hive_ants = self.current_ants - self.map_ants
def update(self, ants): "Updates class variables" ###Initializes class variables if self.total_ants == -1: self.total_ants = len(ants.my_ants()) ###Updates Food new_food = ants.food() for f in self.food: if f not in new_food and ants.visible(f) and 'a' in a_star.surroundings(f, self.level_array): self.total_ants += 1 self.food = ants.food() ###Updates hill attack locations hills = ants.enemy_hills_locs() for h in hills: if h not in self.enemy_hills: self.enemy_hills.append(h) razed = [] for h in self.enemy_hills: if ants.visible(h) and h not in hills: razed.append(h) for h in razed: self.enemy_hills.remove(h) ###Calibrates ant lookup and resets value to None a = ants.my_ants() dead = [] for ant in self.ant_lookup: if ant not in a: dead.append(ant) for ant in dead: self.dead_ants += 1 del self.ant_lookup[ant] ###Resets all ant guides to None for ant in a: self.ant_lookup[ant] = None ###Sets class variables self.current_ants = self.total_ants - self.dead_ants self.map_ants = len(self.ant_lookup) self.hive_ants = self.current_ants - self.map_ants