BWAPI
|
#include <SimCityBuildingPlacer.h>
Public Member Functions | |
SimCityBuildingPlacer () | |
BWAPI::TilePosition | getTilePosition (const BWAPI::UnitType &ut, BWAPI::TilePosition seed=BWAPI::TilePositions::None) |
BWAPI::TilePosition | getPylonTilePositionCovering (const BWAPI::TilePosition &tp) |
void | releaseTilePosition (const BWAPI::TilePosition &tp, const BWAPI::UnitType &ut) |
void | usedTilePosition (const BWAPI::TilePosition &tp, const BWAPI::UnitType &ut) |
void | onUnitDestroy (BWAPI::Unit *unit) |
void | makeCannonsMinerals (BWTA::BaseLocation *home, bool quick=false) |
void | makeCannonChoke (BWTA::Region *inter, BWTA::Chokepoint *chok, bool quick=false) |
Static Public Member Functions | |
static bool | blockedBySomething (BWAPI::TilePosition position, BWAPI::UnitType type) |
static bool | inMineralLine (BWTA::BaseLocation *b, BWAPI::TilePosition tp) |
search and save front and backdoor chokes
best place to do a pylons/gates cluster
search places to put cannons at chokes
search places to put cannons behind minerals
bool SimCityBuildingPlacer::blockedBySomething | ( | BWAPI::TilePosition | position, |
BWAPI::UnitType | type | ||
) | [static] |
TilePosition SimCityBuildingPlacer::getPylonTilePositionCovering | ( | const BWAPI::TilePosition & | tp | ) |
stupid (but robust) heuristic
TilePosition SimCityBuildingPlacer::getTilePosition | ( | const BWAPI::UnitType & | ut, |
BWAPI::TilePosition | seed = BWAPI::TilePositions::None |
||
) |
bool SimCityBuildingPlacer::inMineralLine | ( | BWTA::BaseLocation * | b, |
BWAPI::TilePosition | tp | ||
) | [static] |
void SimCityBuildingPlacer::makeCannonChoke | ( | BWTA::Region * | inter, |
BWTA::Chokepoint * | chok, | ||
bool | quick = false |
||
) |
Find two valid Positions for interP and exterP
Find an interTP seed TilePosition to build from
TODO see if blocked and if so try to move around the seed (interTP)
If not none and canBuild, then add at last...
void SimCityBuildingPlacer::makeCannonsMinerals | ( | BWTA::BaseLocation * | home, |
bool | quick = false |
||
) |
void SimCityBuildingPlacer::onUnitDestroy | ( | BWAPI::Unit * | unit | ) |
TODO should check path add it back
set rally points in order not to block units (in case it's an inner building)
precautions w.r.t. a pylon in the middle of gates
void SimCityBuildingPlacer::releaseTilePosition | ( | const BWAPI::TilePosition & | tp, |
const BWAPI::UnitType & | ut | ||
) |
void SimCityBuildingPlacer::usedTilePosition | ( | const BWAPI::TilePosition & | tp, |
const BWAPI::UnitType & | ut | ||
) |