|
BWAPI
|
00001 #pragma once 00002 00003 #include "Task.h" 00004 00005 class ProtectUnitTask : 00006 public Task 00007 { 00008 protected: 00009 Agent* _protectedAgent; 00010 00011 int _neededUnits; 00012 00013 Unit* _targetEnemy; 00014 00015 int _readyRange; 00016 Position _groupPosition; 00017 00018 Agent* _centerAgent; 00019 00020 bool marineExecute(Agent* agent); 00021 bool medicExecute(Agent* agent); 00022 bool wraithExecute(Agent* agent); 00023 bool tankExecute(Agent* agent); 00024 bool siegeExecute(Agent* agent); 00025 00026 public: 00027 static void generateNecessaryTasks(Environment* env); 00028 00029 ProtectUnitTask(Agent* agent, Environment* env); 00030 virtual ~ProtectUnitTask(void); 00031 00032 virtual void addAgent(Agent* agent); 00033 virtual void removeAgent(Agent* agent); 00034 00035 Agent* getProtectedAgent(); 00036 00037 Unit* getTargetEnemy(); 00038 int getReadyRange(); 00039 Position getGroupPosition(); 00040 00041 virtual void calculatePriority(); 00042 virtual double evaluateAptitude(Agent* agent); 00043 virtual void evaluateStatus(); 00044 00045 virtual void evaluateNeededUnits(); 00046 00047 virtual bool execute(Agent* agent); 00048 };
1.7.6.1