BWAPI
|
00001 #pragma once 00002 #include <BWAPI.h> 00003 #include <BWTA/Chokepoint.h> 00004 #include <BWTA/Polygon.h> 00005 #include <BWTA/Region.h> 00006 #include <BWTA/BaseLocation.h> 00007 #include <BWTA/RectangleArray.h> 00008 namespace BWTA 00009 { 00010 void readMap(); 00011 void analyze(); 00012 const std::set<Region*>& getRegions(); 00013 const std::set<Chokepoint*>& getChokepoints(); 00014 const std::set<BaseLocation*>& getBaseLocations(); 00015 const std::set<BaseLocation*>& getStartLocations(); 00016 const std::set<Polygon*>& getUnwalkablePolygons(); 00017 00018 BaseLocation* getStartLocation(BWAPI::Player* player); 00019 00020 Region* getRegion(int x, int y); 00021 Region* getRegion(BWAPI::TilePosition tileposition); 00022 00023 Chokepoint* getNearestChokepoint(int x, int y); 00024 Chokepoint* getNearestChokepoint(BWAPI::TilePosition tileposition); 00025 Chokepoint* getNearestChokepoint(BWAPI::Position position); 00026 00027 BaseLocation* getNearestBaseLocation(int x, int y); 00028 BaseLocation* getNearestBaseLocation(BWAPI::TilePosition tileposition); 00029 BaseLocation* getNearestBaseLocation(BWAPI::Position position); 00030 00031 Polygon* getNearestUnwalkablePolygon(int x, int y); 00032 Polygon* getNearestUnwalkablePolygon(BWAPI::TilePosition tileposition); 00033 BWAPI::Position getNearestUnwalkablePosition(BWAPI::Position position); 00034 00035 bool isConnected(int x1, int y1, int x2, int y2); 00036 bool isConnected(BWAPI::TilePosition a, BWAPI::TilePosition b); 00037 00038 double getGroundDistance(BWAPI::TilePosition start, BWAPI::TilePosition end); 00039 std::pair<BWAPI::TilePosition, double> getNearestTilePosition(BWAPI::TilePosition start, const std::set<BWAPI::TilePosition>& targets); 00040 std::map<BWAPI::TilePosition, double> getGroundDistances(BWAPI::TilePosition start, const std::set<BWAPI::TilePosition>& targets); 00041 void getGroundDistanceMap(BWAPI::TilePosition start, RectangleArray<double>& distanceMap); 00042 void getGroundWalkDistanceMap(int walkx, int walky, RectangleArray<double>& distanceMap); 00043 std::vector<BWAPI::TilePosition> getShortestPath(BWAPI::TilePosition start, BWAPI::TilePosition end); 00044 std::vector<BWAPI::TilePosition> getShortestPath(BWAPI::TilePosition start, const std::set<BWAPI::TilePosition>& targets); 00045 00046 }