BWAPI
quorum/ExampleAIModule/SquadTacticsModel.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines