# 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) #
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