本文整理汇总了C++中PlayerCityPtr::sentiment方法的典型用法代码示例。如果您正苦于以下问题:C++ PlayerCityPtr::sentiment方法的具体用法?C++ PlayerCityPtr::sentiment怎么用?C++ PlayerCityPtr::sentiment使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PlayerCityPtr
的用法示例。
在下文中一共展示了PlayerCityPtr::sentiment方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void Disorder::Impl::weekUpdate( unsigned int time, PlayerCityPtr rcity )
{
HouseList houses = rcity->statistic().houses.find();
const WalkerList& walkers = rcity->statistic().walkers.find( walker::protestor );
HouseList criminalizedHouse;
crime.level.current = 0;
crime.level.maximum = 0;
for( auto house : houses )
{
int currentValue = house->getServiceValue( Service::crime )+1;
if( currentValue >= crime.level.minimum )
{
criminalizedHouse.push_back( house );
}
crime.level.current += currentValue;
crime.level.maximum = std::max<int>( crime.level.maximum, currentValue );
}
if( houses.size() > 0 )
crime.level.current /= houses.size();
if( criminalizedHouse.size() > walkers.size() )
{
HousePtr house = criminalizedHouse.random();
int hCrimeLevel = house->getServiceValue( Service::crime );
int sentiment = rcity->sentiment();
int randomValue = math::random( crime::maxValue );
if (sentiment >= minSentiment4protest )
{
if ( randomValue >= sentiment + 20 )
{
if ( hCrimeLevel > crime::level4protestor )
{
generateProtestor( rcity, house );
}
}
}
else if ( sentiment >= minSentiment4mugger )
{
if ( randomValue >= sentiment + 40 )
{
if ( hCrimeLevel >= crime::level4mugger )
{
generateMugger( rcity, house );
}
else if ( hCrimeLevel > crime::level4protestor )
{
generateProtestor( rcity, house );
}
}
}
else if( sentiment < minSentiment4mugger )
{
if ( randomValue >= sentiment + 50 )
{
if ( hCrimeLevel >= crime::level4rioter ) { generateRioter( rcity, house ); }
else if ( hCrimeLevel >= crime::level4mugger ) { generateMugger( rcity, house ); }
else if ( hCrimeLevel > crime::level4protestor ) { generateProtestor( rcity, house ); }
}
}
}
}