BWAPI
defines.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include <BWAPI.h>
00004 #include <set>
00005 #include <map>
00006 #include <string>
00007 #include <list>
00008 #include <math.h>
00009 
00010 #define PI 3.141592
00011 
00012 using namespace BWAPI;
00013 using namespace std;
00014 
00015 class Environment;
00016 class Agent;
00017 class BaseAgent;
00018 class WorkerAgent;
00019 class Task;
00020 class BuildSupplyTask;
00021 class BuildRefineryTask;
00022 class RecollectMinTask;
00023 class RecollectGasTask;
00024 class TrainWorkerTask;
00025 class ExploreSectorTask;
00026 class AssaultSectorTask;
00027 class AttackUnitTask;
00028 class ProtectUnitTask;
00029 class MapSector;
00030 class AiLogger;
00031 
00032 struct BuildingSpaceInfo;
00033 struct Quadrant;
00034 struct UnitMemory;
00035 struct TileBox;
00036 
00037 #define ANALYSIS_FREQ                                   1
00038 #define DEFAULT_TASK_VALIDATION_FREQ    100
00039 #define DIST_APTITUDE_FACTOR                    100.0
00040 #define NO_APTITUDE                                             -1.0
00041 
00042 #define MIN_TASK_HOLD_FRAMES                    50
00043 
00044 #define MAX_SUPPLY                                              400
00045 
00046 #define MAX_THREAT_RANGE                                400                     //in Pixels
00047 
00048 #define MAX_RESOURCE_RANGE                              400                     //in Pixels
00049 #define MAX_BUILD_RANGE                                 800                     //in Pixels
00050 #define MAX_POS_DISTANCE                                10000000        //in Pixels
00051 
00052 #define SECTOR_LENGTH                                   10                      //in Tiles
00053 #define SECTOR_LENGTH_IN_PIXELS                 320                     //in Pixels
00054 
00055 #define SECTOR_FRAMES_PER_REFRESH               10
00056 #define SECTOR_FRAMES_PER_EXPLORE               500
00057 
00058 #define SECTOR_STUCK_TIMEOUT                    10000
00059 
00060 enum AgentDisposition
00061 {
00062         BRAVE = 0,
00063         COWARD
00064 };
00065 
00066 enum TaskStatus
00067 {
00068         NOT_STARTED = 0,
00069         IN_PROGRESS,
00070         FINISHED,
00071         HALTED,
00072         CANCELLED
00073 };
00074 
00075 enum TaskType
00076 {
00077         NULL_TASK = -1,
00078         TASK = 0,
00079         BUILD_TASK,
00080         BUILD_BARRACKS_TASK,
00081         BUILD_ENGINEERING_TASK,
00082         BUILD_FACTORY_TASK,
00083         BUILD_STARPORT_TASK,
00084         BUILD_SCIENCE_FACILITY_TASK,
00085         BUILD_ACADEMY_TASK,
00086         BUILD_SUPPLY_TASK,
00087         BUILD_REFINERY_TASK,
00088         BUILD_COMMAND_TASK,
00089         MOVE_COMMAND_TASK,
00090         ADDON_BUILD_TASK,
00091         ADDON_BUILD_COMSAT_TASK,
00092         ADDON_MACHINE_SHOP_TASK,
00093         ADDON_CONTROL_TOWER_TASK,
00094         TRAIN_TASK,
00095         TRAIN_WORKER_TASK,
00096         TRAIN_MARINE_TASK,
00097         TRAIN_MEDIC_TASK,
00098         TRAIN_SIEGE_TANK_TASK,
00099         TRAIN_WRAITH_TASK,
00100         REPAIR_TASK,
00101         RECOLLECT_TASK,
00102         RECOLLECT_MIN_TASK,
00103         RECOLLECT_GAS_TASK,
00104         EXPLORE_SECTOR_TASK,
00105         ASSAULT_SECTOR_TASK,
00106         ATTACK_UNIT_TASK,
00107         PROTECT_UNIT_TASK,
00108         SCAN_TARGET_TASK,
00109         RESEARCH_TASK
00110 };
00111 
00112 enum AgentType
00113 {
00114         AGENT = 0,
00115         EXPLORER_AGENT,
00116         ATTACKER_AGENT,
00117         WORKER_AGENT,
00118         BUILDING_AGENT,
00119         BASE_AGENT
00120 };
00121 
00122 typedef set<Task*> TaskSet;
00123 typedef set<Unit*> UnitSet;
00124 typedef set<Agent*> AgentSet;
00125 typedef set<BuildingSpaceInfo*> PlannedBuildingSet;
00126 typedef set<TaskType> TaskTypeSet;
00127 typedef set<AgentType> AgentTypeSet;
00128 typedef set<TilePosition> TilePositionSet;
00129 typedef set<MapSector*> MapSectorSet;
00130 typedef set<UnitMemory*> UnitMemorySet;
00131 
00132 typedef map<unsigned long, TilePosition> TilePositionMap;
00133 typedef map<Unit*, Agent*> AgentMap;
00134 typedef map<Unit*, BuildRefineryTask*> BuildRefineryTaskMap;
00135 typedef map<Unit*, RecollectGasTask*> RecollectGasTaskMap;
00136 typedef map<Unit*, RecollectMinTask*> RecollectMinTaskMap;
00137 typedef map<Unit*, TaskTypeSet> TaskTargetMap;
00138 typedef map<unsigned long, MapSector*> MapSectorMap;
00139 typedef map<unsigned long, int> DistanceMap;
00140 typedef map<unsigned long, Quadrant*> QuadrantMap;
00141 typedef map<Unit*, UnitMemory*> UnitMemoryMap;
00142 typedef map<UnitType, int> UnitTypeCountMap;
00143 
00144 typedef list<Unit*> UnitList;
00145 typedef list<Agent*> AgentList;
00146 typedef list<Task*> TaskList;
00147 typedef list<MapSector*> SectorList;
00148 typedef list<UnitType> UnitTypeList;
00149 
00151 
00152 #define MAX_ACTIVE_ASSAULT_PRIORITY             120
00153 #define MIN_ACTIVE_ASSAULT_PRIORITY             110
00154 
00155 #define MAX_ACTIVE_PROTECT_PRIORITY             110
00156 #define MIN_ACTIVE_PROTECT_PRIORITY             100
00157 
00158 #define MAX_INACTIVE_ASSAULT_PRIORITY   100
00159 #define MIN_INACTIVE_ASSAULT_PRIORITY   90
00160 
00161 #define MAX_MOVE_PRIORITY                               100
00162 #define MIN_MOVE_PRIORITY                               90
00163 
00164 #define MAX_ATTACK_PRIORITY                             90
00165 #define MIN_ATTACK_PRIORITY                             80
00166 
00167 #define MAX_SCAN_PRIORITY                               90
00168 #define MIN_SCAN_PRIORITY                               80
00169 
00170 #define MAX_EXPLORE_PRIORITY                    80
00171 #define MIN_EXPLORE_PRIORITY                    70
00172 
00173 #define MAX_RESEARCH_PRIORITY                   70
00174 #define MIN_RESEARCH_PRIORITY                   60
00175 
00176 #define MAX_BUILD_PRIORITY                              70
00177 #define MIN_BUILD_PRIORITY                              60
00178 
00179 #define MAX_TRAIN_PRIORITY                              70
00180 #define MIN_TRAIN_PRIORITY                              60
00181 
00182 #define MAX_MINERAL_PRIORITY                    40
00183 #define MIN_MINERAL_PRIORITY                    30
00184 
00185 #define MAX_GAS_PRIORITY                                40
00186 #define MIN_GAS_PRIORITY                                30
00187 
00188 #define MAX_PASSIVE_PROTECT_PRIORITY    20
00189 #define MIN_PASSIVE_PROTECT_PRIORITY    10
00190 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines