BWAPI
|
00001 #pragma once 00002 #include <BWAPI.h> 00003 #include <BWTA.h> 00004 #include <Arbitrator.h> 00005 #include <WorkerManager.h> 00006 #include <SupplyManager.h> 00007 #include <BuildManager.h> 00008 #include <BuildOrderManager.h> 00009 #include <TechManager.h> 00010 #include <UpgradeManager.h> 00011 #include <BaseManager.h> 00012 #include <ScoutManager.h> 00013 #include <DefenseManager.h> 00014 #include <UnderAttackManager.h> 00015 #include <InformationManager.h> 00016 #include <SpyManager.h> 00017 #include <BorderManager.h> 00018 #include <UnitGroupManager.h> 00019 #include <SpendManager.h> 00020 #include <ArmyManager.h> 00021 #include <MoodManager.h> 00022 #include <OpeningManager.h> 00023 #include <PhotonManager.h> 00024 #include <DragoonManager.h> 00025 #include <EnhancedUI.h> 00026 #include <HashMap.h> 00027 #include <MesurePrecision.h> 00028 00029 class AiurModule : public BWAPI::AIModule 00030 { 00031 private: 00032 double minDist; 00033 int frame; 00034 int lastFrameExpand; 00035 int lastScout; 00036 00037 BWTA::BaseLocation *closest; 00038 BWTA::BaseLocation *home; 00039 00040 public: 00041 virtual void onStart (); 00042 virtual void onEnd (bool isWinner); 00043 virtual void onFrame (); 00044 virtual void onUnitDiscover (BWAPI::Unit* unit); 00045 virtual void onUnitEvade (BWAPI::Unit* unit); 00046 virtual void onUnitMorph (BWAPI::Unit* unit); 00047 virtual void onUnitRenegade (BWAPI::Unit* unit); 00048 virtual void onUnitDestroy (BWAPI::Unit* unit); 00049 virtual void onSendText (std::string text); 00050 00051 ~AiurModule(); //not part of BWAPI::AIModule 00052 00053 void showStats(); //not part of BWAPI::AIModule 00054 void showPlayers(); 00055 void showForces(); 00056 bool analyzed; 00057 00058 std::map<BWAPI::Unit*,BWAPI::UnitType> buildings; 00059 Arbitrator::Arbitrator<BWAPI::Unit*,double> arbitrator; 00060 00061 WorkerManager *workerManager; 00062 SupplyManager *supplyManager; 00063 BuildManager *buildManager; 00064 TechManager *techManager; 00065 UpgradeManager *upgradeManager; 00066 BaseManager *baseManager; 00067 ScoutManager *scoutManager; 00068 SpendManager *spendManager; 00069 BuildOrderManager *buildOrderManager; 00070 DefenseManager *defenseManager; 00071 UnderAttackManager *underAttackManager; 00072 InformationManager *informationManager; 00073 BorderManager *borderManager; 00074 UnitGroupManager *unitGroupManager; 00075 SpyManager *spyManager; 00076 ArmyManager *armyManager; 00077 MoodManager *moodManager; 00078 OpeningManager *openingManager; 00079 PhotonManager *photonManager; 00080 DragoonManager *dragoonManager; 00081 EnhancedUI *enhancedUI; 00082 Random *randomExpand; 00083 HashMap hashMap; 00084 int timeToExpand; 00085 bool showManagerAssignments; 00086 bool debugMode; 00087 bool destinationMineralSpotted; 00088 bool cleaningPath; 00089 00090 // time profile 00091 double diff, top; 00092 int sup55; 00093 CMesurePrecision compteur; 00094 };