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


C++ HousePtr::maxHabitants方法代码示例

本文整理汇总了C++中HousePtr::maxHabitants方法的典型用法代码示例。如果您正苦于以下问题:C++ HousePtr::maxHabitants方法的具体用法?C++ HousePtr::maxHabitants怎么用?C++ HousePtr::maxHabitants使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HousePtr的用法示例。


在下文中一共展示了HousePtr::maxHabitants方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: _checkNearestHouse

bool Emigrant::_checkNearestHouse()
{
  city::Helper helper( _city() );

  for( int k=1; k < 3; k++ )
  {
    TilePos offset( k, k );
    HouseList houses = helper.find<House>( building::house, pos()-offset, pos() + offset );

    std::map< int, HousePtr > vacantRoomPriority;
    foreach( it, houses )
    {
      HousePtr house = *it;
      unsigned int freeRoom = house->maxHabitants() - house->habitants().count();
      vacantRoomPriority[ 1000 - freeRoom ] = house;
    }

    foreach( it, vacantRoomPriority )  //have destination
    {
      HousePtr house = it->second;

      int freeRoom = house->maxHabitants() - house->habitants().count();
      if( freeRoom > 0 )
      {
        Pathway pathway = PathwayHelper::create( pos(), house->pos(), makeDelegate( _d.data(), &Impl::mayWalk ) );

        _updatePathway( pathway );
        go();
        return true;
      }
    }
开发者ID:mdl8bit,项目名称:caesaria-game,代码行数:31,代码来源:emigrant.cpp

示例2: HousePtr

void Emigrant::_append2house( HousePtr house )
{
  int freeRoom = house->maxHabitants() - house->habitants().count();
  if( freeRoom > 0 )
  {
    house->addHabitants( _d->peoples );
    _lockHouse( HousePtr() );
  }
}
开发者ID:mdl8bit,项目名称:caesaria-game,代码行数:9,代码来源:emigrant.cpp


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