Esempio n. 1
0
void AIControl::poll() {
	if(state==PURSUE) {
		pursue(vector3df(0,25,0));
	}
	else if (state==FLEE) {
		flee(vector3df(0,25,0));
	}
}
Esempio n. 2
0
void AiPursue::writeState(ESM::AiSequence::AiSequence &sequence) const
{
    std::auto_ptr<ESM::AiSequence::AiPursue> pursue(new ESM::AiSequence::AiPursue());
    pursue->mTargetActorId = mTargetActorId;

    ESM::AiSequence::AiPackageContainer package;
    package.mType = ESM::AiSequence::Ai_Pursue;
    package.mPackage = pursue.release();
    sequence.mPackages.push_back(package);
}
Esempio n. 3
0
//Behaviour based AI
void Enemy::behavTest()
{
	Shape* player = getPlayer_();
	if (player)
	{
		b2Vec2 pos = player->getPosition();
		b2Vec2 toward = getPosition() - pos;
		float dist = (player->getSize() + size_) * 1.5f;
		b2Vec2 vel = player->getBody()->GetLinearVelocity();

		b2Vec2 steer = pursue(pos, vel, dist);
		move(steer);
		orient(-toward);
	}
}
Esempio n. 4
0
void yarrAIPsycho :: think()
{
	// save yourself!
	avoid_bullets();

	// look for something to kill
	//getvisible();
	//spaceShip* enemy = seen.back();
	spaceShip* enemy = getclosest();

	if( enemy != NULL )
	{
		pursue(enemy);
		attack(enemy);
	}
	else
		wander();	// or just wander around if nothing's around
}