本文整理汇总了C++中Country::addArmies方法的典型用法代码示例。如果您正苦于以下问题:C++ Country::addArmies方法的具体用法?C++ Country::addArmies怎么用?C++ Country::addArmies使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Country
的用法示例。
在下文中一共展示了Country::addArmies方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: allocateArmiesByNumberOfPlayers
void MainScreen::allocateArmiesByNumberOfPlayers(const std::string playerName){
RiskMap* map = this->driver->getRiskMap();
const int armiesByNumPlayers[] = {40, 35, 30, 25, 20};
int totalArmies = armiesByNumPlayers[map->getPlayers().size()-2];
// Create a vector of country pointers for countries the player owns
std::vector<Country*> playerCountries;
for (auto const &countryName : map->getCountriesOwnedByPlayer(playerName)) {
playerCountries.push_back(map->getCountry(countryName));
}
// Randomize order of country pointer list
auto engine = std::default_random_engine{};
std::shuffle(std::begin(playerCountries), std::end(playerCountries), engine);
auto playerCountriesIter = playerCountries.begin();
while (totalArmies > 0) {
Country* country = *playerCountriesIter;
country->addArmies(1);
totalArmies--;
std::advance(playerCountriesIter, 1);
if (playerCountriesIter == playerCountries.end()) {
playerCountriesIter = playerCountries.begin();
}
}
// Signal to update the info widgets.
for (auto &ent1: map->getPlayers()){
map->getPlayer(ent1.first)->notifyObservers();
}
}
示例2: addArmiesAndPlayersToMap
void GameSaveInstance::addArmiesAndPlayersToMap(World * map)
{
// Go through the map, assign players to countries they control and set the number of armies
for (unsigned i = 0; i < countryInfos.size(); i++)
{
Country* country = map->getCountryFromName(countryInfos[i]->countryName.c_str());
if (country == NULL)
{
setError(true, "Could not find saved country on map");
return;
}
country->setControllingPlayer(getPlayerByName(countryInfos[i]->owningPlayer));
country->addArmies(countryInfos[i]->numArmies);
}
}