BWAPI
|
00001 #ifndef SQUADTACTICSMODEL_H 00002 #define SQUADTACTICSMODEL_H 00003 #include <BWAPI.h> 00004 #include "SquadTactics.h" 00005 #include "Squad.h" 00006 #include <stack> 00007 #include <set> 00008 #include <map> 00009 #include <vector> 00010 #include <algorithm> 00011 #include "MarineMicroTactics.h" 00012 #include "MedicMicroTactics.h" 00013 #include "BWTA.h" 00014 #include "UnitModel.h" 00015 #include "UnitOrder.h" 00016 using namespace BWAPI; 00017 using namespace BWTA; 00018 00019 class InformationManagerAgent; 00020 class AgentPool; 00021 class TacticsImplementation; 00022 00023 class SquadTacticsModel { 00024 public: 00025 SquadTacticsModel(Squad* m, int INITIAL_TACTIC, AgentPool* p, UnitOrder u); 00026 SquadTacticsModel(Squad* m, int INITIAL_TACTIC, AgentPool* p); 00027 void SquadTacticsModel::switchTactic(int NEW_TACTIC); 00028 Squad* SquadTacticsModel::getSquad(); 00029 00030 bool SquadTacticsModel::executeTactics(); 00031 void SquadTacticsModel::initialize(); 00032 bool SquadTacticsModel::isDead(); 00033 int SquadTacticsModel::numAlive(); 00034 void SquadTacticsModel::setDead(); 00035 void SquadTacticsModel::orderReinforcements(); 00036 int SquadTacticsModel::getTactic(); 00037 void SquadTacticsModel::removeMember(Unit* m); 00038 00039 // tactics 00040 bool SquadTacticsModel::executeSquadManagement(); 00041 00042 00043 private: 00044 Squad* element; 00045 std::vector<TacticsImplementation*> squadTactics; 00046 Squad* returnLocation; 00047 int CUR_TACTIC; 00048 AgentPool* agentPool; 00049 bool dead; 00050 UnitOrder squadMakeUp; 00051 00052 // tactics 00053 00054 }; 00055 #endif