本文整理汇总了C++中Country::getBoarders方法的典型用法代码示例。如果您正苦于以下问题:C++ Country::getBoarders方法的具体用法?C++ Country::getBoarders怎么用?C++ Country::getBoarders使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Country
的用法示例。
在下文中一共展示了Country::getBoarders方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pathFindCountry
bool World::pathFindCountry(Country* country1, Country* country2, Player* player)
{
cout << "DEbug country 1+++++++++++++++++++++++" << country1->getName() << endl;
cout << "DEbug country 2+++++++++++++++++++++++" << country2->getName() << endl;
if (country1->getName() == country2->getName() || isCountryAdjacent(country1, country2))
{
return true;
}
queue<Country*> countryQueue;
vector<Country*> boardersToCountry1 = country1->getBoarders();
countryQueue.push(country1);
while (countryQueue.empty() == false)
{
Country* c = countryQueue.front();
countryQueue.pop();
if (c->getName() == country2->getName())
{
//need to put marked back to false for every country
//here but map iterator is my enemy
for (std::map<string, Country*>::iterator it = _territories.begin(); it != _territories.end(); ++it)
{
it->second->marked = false;
}
return true;
}
for (int i = 0; i < c->getBoarders().size(); i++)
{
vector<Country*> allBoardersToC = c->getBoarders();
for (int k = 0; k < allBoardersToC.size(); k++)
{
for (int j = 0; j < player->getListCountriesOwned().size(); j++)
{
if (allBoardersToC.at(k)->getName() == player->getListCountriesOwned().at(j)->getName() && allBoardersToC.at(k)->marked == false)
{
countryQueue.push(allBoardersToC.at(k));
}
}
}
}
}
/*for (int i = 0; i < boardersToCountry1.size(); i++)
{
for (int j = 0; j < player->getListCountriesOwned().size(); j++)
{
if (boardersToCountry1.at(i)->getName() == player->getListCountriesOwned().at(j)->getName())
{
return pathFindCountry(boardersToCountry1.at(i), country2, player);
}
}
}*/
}