|
BWAPI
|
00001 #pragma once 00002 00003 #include "Common.h" 00004 #include "BWTA.h" 00005 #include "base/BuildOrderQueue.h" 00006 #include "UnitInfoState.h" 00007 #include "base/WorkerManager.h" 00008 00009 class StrategyManager 00010 { 00011 StrategyManager(); 00012 static StrategyManager * instance; 00013 00014 std::vector<std::string> protossOpeningBook; 00015 std::vector<std::string> terranOpeningBook; 00016 std::vector<std::string> zergOpeningBook; 00017 00018 BWAPI::Race enemyRace; 00019 00020 bool firstAttackSent; 00021 00022 std::vector< std::pair<MetaType,int> > currentGoal; 00023 00024 public: 00025 00026 enum ProtossStrategy { ProtossZealotRush, ProtossDarkTemplar, NumProtossStrategies }; 00027 enum TerranStrategy { TerranZealotRush, TerranDarkTemplar, NumTerranStrategies }; 00028 enum ZergStrategy { ZergZealotRush, NumZergStrategies }; 00029 00030 static StrategyManager * getInstance(); 00031 00032 bool expand(); 00033 bool regroup(int numInRadius); 00034 bool doAttack(const UnitVector & freeUnits); 00035 bool defendWithWorkers(); 00036 void drawGoalInformation(int x, int y); 00037 00038 bool rushDetected(); 00039 00040 std::vector< std::pair<MetaType,int> > getBuildOrderGoal(); 00041 };
1.7.6.1