Example #1
0
# TEST ILLEGAL VALUES ISOLATED
base = map_data.bot.townhalls[0]
reg_start = map_data.where(base.position_tuple)
reg_end = map_data.where(map_data.bot.enemy_start_locations[0].position)
p0 = reg_start.center
p1 = reg_end.center
pts = []
r = 10
for i in range(50):
    pts.append(get_random_point(-500, -250, -500, -250))

arr = map_data.get_pyastar_grid()
for p in pts:
    arr = map_data.add_cost(p, r, arr)
path = map_data.pathfind(p0, p1, grid=arr)
map_data.plot_influenced_path(start=p0, goal=p1, weight_array=arr)
map_data.show()
assert (path is not None), f"path = {path}"

# TEST MINERAL WALL ON GOLDENWALL ISOLATED
# start = (110, 95)
# goal = (110, 40)
# grid = map_data.get_pyastar_grid()
# grid = map_data.add_cost((170, 140), r=20, arr=grid, weight=np.inf)
# resource_blockers = [Point2(m.position) for m in map_data.mineral_fields if "rich" in m.name.lower()]
# for pos in resource_blockers:
# radius = 1
# map_data.log(pos)
# grid = map_data.add_cost(p=pos, r=radius, arr=grid, weight=np.inf)
# path = map_data.pathfind(start=start, goal=goal, grid=grid)
#
Example #2
0
            raw_game_data, raw_game_info, raw_observation = pickle.load(f)
        bot = import_bot_instance(raw_game_data, raw_game_info,
                                  raw_observation)
        map_data = MapData(bot, loglevel="DEBUG")
        base = map_data.bot.townhalls[0]
        reg_start = map_data.where_all(base.position_tuple)[0]
        reg_end = map_data.where_all(
            map_data.bot.enemy_start_locations[0].position)[0]
        p0 = Point2(reg_start.center)
        p1 = Point2(reg_end.center)
        influence_grid = map_data.get_air_vs_ground_grid(default_weight=50)
        influence_grid = map_data.get_pyastar_grid()
        # p = (50, 130)
        # influence_grid = map_data.add_cost(grid=influence_grid, position=p, radius=10, initial_default_weights=50)
        map_data.plot_influenced_path(start=p0,
                                      goal=p1,
                                      weight_array=influence_grid,
                                      allow_diagonal=False)
        map_data.show()
        # import matplotlib.pyplot as plt
        # import numpy as np
        #
        # print(np.unique(map_data.path_arr))
        # plt.imshow(map_data.path_arr, origin="lower")
        # plt.show()
        # plt.imshow(map_data.placement_arr, origin="lower")
        # plt.show()
        # plt.imshow(influence_grid, origin="lower")
        # plt.show()
        break
#     if 'dream' in mf.lower():
#         map_file = mf