本文整理汇总了C++中bwta::BaseLocation::isIsland方法的典型用法代码示例。如果您正苦于以下问题:C++ BaseLocation::isIsland方法的具体用法?C++ BaseLocation::isIsland怎么用?C++ BaseLocation::isIsland使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bwta::BaseLocation
的用法示例。
在下文中一共展示了BaseLocation::isIsland方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: expand
BWTA::BaseLocation* BaseManager::expand(int priority)
{
BWTA::BaseLocation* location = NULL;
BWTA::BaseLocation* locationWithoutGas = NULL;
double minDist=-1;
BWTA::BaseLocation* home = BWTA::getStartLocation(BWAPI::Broodwar->self());
std::set<BWTA::BaseLocation*>::const_iterator i;
for(i = BWTA::getBaseLocations().begin(); i != BWTA::getBaseLocations().end(); i++)
{
BWTA::BaseLocation *baseLocation = (*i);
if (baseLocation->isIsland())
{
continue;
}
double dist = home->getGroundDistance(baseLocation);
if (dist > 0 && getBase(baseLocation) == NULL)
{
if (minDist == -1 || dist < minDist)
{
if (baseLocation->isMineralOnly())
{
locationWithoutGas = baseLocation;
}
else
{
location = baseLocation;
minDist = dist;
}
}
}
}
if (location == NULL && locationWithoutGas != NULL)
{
BWAPI::Broodwar->printf("Expanding to location without gas.");
location = locationWithoutGas;
}
return expand(location, priority);
}