当前位置: 首页>>代码示例>>C++>>正文


C++ Country::addArmies方法代码示例

本文整理汇总了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();
	}
}
开发者ID:Taimoorrana1,项目名称:Risk,代码行数:31,代码来源:mainscreen.cpp

示例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);
	}
}
开发者ID:Netopya,项目名称:COMP-345-Project,代码行数:18,代码来源:GameSaveInstance.cpp


注:本文中的Country::addArmies方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。