BWAPI
|
00001 #ifndef BBSCVMICRO_H 00002 #define BBSCVMICRO_H 00003 #include "MicroTacticsModel.h" 00004 #include "BWTA.h" 00005 #include <stack> 00006 using namespace BWTA; 00007 class AgentPool; 00008 00009 class BaseBuildingSCVTactics : public MicroTacticsModel { 00010 00011 public: 00012 BaseBuildingSCVTactics::BaseBuildingSCVTactics(Unit* u, AgentPool* p); 00013 BaseBuildingSCVTactics::BaseBuildingSCVTactics(Unit* u, int movementLag); 00014 virtual bool MicroTacticsModel::executeTactics(); 00015 virtual Unit* getUnit(); 00016 virtual void setMovementLag(int l); 00017 virtual void move(Position p); 00018 virtual UnitType getKnownType(); 00019 void move(BaseLocation* p); 00020 private: 00021 Unit* element; 00022 Unit* closestEnemy; 00023 Position targetLoc; 00024 AgentPool* agentPool; 00025 int wait; 00026 int initialMovementLag; 00027 int movementLagTimer; 00028 Unit* followTarget; 00029 Chokepoint* cpTarget; 00030 BaseLocation* bTarget; 00031 bool inPosition; 00032 std::vector<Chokepoint*> blacklist; 00033 bool BaseBuildingSCVTactics::visited(Chokepoint* cp); 00034 UnitType knownType; 00035 bool done; 00036 int teleporterClickCount; 00037 Unit* firstClicked; 00038 std::list<Unit*> teleporters; 00039 }; 00040 00041 00042 #endif