示例#1
0
void Noble::run()
{
    if(!ran)
    {
        if(isEnemyInRange("Villager"))
        {
            attack();
        }
        else
        {
             if(name=="king" || !moveTowardEnemy())
                randomMove();

            for(int i=0;i<castle->repaint;i++)
            {
                castle->OnPaint();
            }
            ran=true;
        }
    }
    else
        ran=false;

}
 bool Combat::isEnemyNear(const NSFStateMachineContext& context)
 {
     // If the enemy is close but not in range it is near.
     return ((distanceToEnemy < nearDistance) && (!isEnemyInRange(context)));
 }