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


C++ Coord::insideFloor方法代码示例

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


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

示例1: networkMove

void PlayerCharacter::networkMove( int toX, int toY )
{
    if( absvalue( toX - coord.x ) > 1 || absvalue( toY - coord.y ) > 1 ){
        return;
    }

    Coord nc = Coord(toX, toY) ;
    if( !nc.insideFloor() )return;
    if( !floor->walkable(nc))return;

    Tile t = floor->getTile(nc);
    if( t.damagable() && stat.hp <= 1 ){ // ダメージ受けているときは歩いて行けない
        return;
    }
            

    coord = nc;

    notify( k_proto::FUNCTION_MOVENOTIFY );
}
开发者ID:Techie123,项目名称:book,代码行数:20,代码来源:movable.cpp

示例2: goblinThink

// Enemyのルーチン類
void Enemy::goblinThink()
{
    
    // GOBLINはランダムウォーク
    Coord nc = Rect( coord.translate(-1,-1),
                     coord.translate(1,1) ).randomWithin();
    //    std::cerr << "goblinThink cnt:" << m_counter << " hp:" << stat.hp << nc.to_s() << " cur:" << coord.to_s() <<  std::endl;

    if( ( random()%100)==0){
        toDelete = true;
        return;
    }
    if( !nc.insideFloor() ) return;
    if( floor->walkable(nc) == false)return;

    moveTo(nc);

    // 4方向に誰かいたら攻撃する
    Movable *m0 = floor->getMovable( coord.translate(1,0));
    Movable *m1 = floor->getMovable( coord.translate(0,1));
    Movable *m2 = floor->getMovable( coord.translate(0,-1));
    Movable *m3 = floor->getMovable( coord.translate(-1,0));

    if( m0 && m0->typeID == k_proto::MOVABLE_HUMAN ){
        static_cast<Character*>(m0)->attacked( this, 2 );
    }
    if( m1 && m1->typeID == k_proto::MOVABLE_HUMAN ){
        static_cast<Character*>(m1)->attacked( this, 2 );
    }
    if( m2 && m2->typeID == k_proto::MOVABLE_HUMAN ){
        static_cast<Character*>(m2)->attacked( this, 2 );
    }
    if( m3 && m3->typeID == k_proto::MOVABLE_HUMAN ){
        static_cast<Character*>(m3)->attacked( this, 2 );
    }    
    
    
    
}
开发者ID:Techie123,项目名称:book,代码行数:40,代码来源:movable.cpp


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