def update_value_maps(self):
self.base_value_map = np.divide(self.strength_map, self.production_map_01) * (self.is_neutral_map - self.combat_zone_map)
self.value_map = np.zeros((self.width, self.height))
cells_out = 5
num_cells = cells_out * (cells_out + 1) * 2 + 1
for x in range(self.width):
for y in range(self.height):
if self.is_neutral_map[x, y]:
self.value_map += (self.distance_map_no_decay[x, y] + self.base_value_map[x, y]) * (self.distance_map_no_decay[x, y] <= cells_out)
else:
self.value_map += (self.distance_map_no_decay[x, y] + 100) * (self.distance_map_no_decay[x, y] <= cells_out)
# Add in the cost to get to each square.
self.global_search_map = np.copy(self.value_map)
self.value_map /= num_cells
for x in range(self.width):
for y in range(self.height):
temp_map = self.dij_recov_distance_map[x, y] * (self.is_owned_map == 1)
temp_map[temp_map == 0] = 9999
tx, ty = np.unravel_index(temp_map.argmin(), (self.width, self.height))
self.global_search_map[x, y] += self.dij_recov_distance_map[x, y, tx, ty]
print_map(self.value_map, "value_map_")
print_map(self.global_search_map, "global_search_map_")
评论列表
文章目录