BWAPI
|
00001 #pragma once 00002 #include <BWAPI.h> 00003 #include <BWTA.h> 00004 #include <windows.h> 00005 #include <algorithm> 00006 #include "Regions/WalkTilePosition.h" 00007 00008 00009 class BattleUnit 00010 { 00011 friend void baseMicro(); 00012 friend void zealotMicro(); 00013 protected: 00014 int _accel; 00015 double _topSpeed; 00016 BWAPI::TilePosition _tptarget; 00017 #ifndef __RELEASE_OPTIM__ 00018 void drawVelocityArrow() const; 00019 void drawPath() const; 00020 void drawBTPath() const; 00021 void drawPPath() const; 00022 void drawWalkability() const; 00023 void drawEnclosingBox() const; 00024 void drawTarget() const; 00025 #endif 00026 BWAPI::Position _unitPos; 00027 std::vector<WalkTilePosition> _path; 00028 std::vector<BWAPI::Position> _ppath; 00029 BWAPI::Unit* oldTarget; 00030 00031 public: 00032 std::vector<BWAPI::TilePosition> btpath; 00033 int _sheight, _slarge; 00034 unsigned int _tick; 00035 BWAPI::Unit* unit; 00036 BWAPI::Unit* targetEnemy; // public for debug purpose, __USE__ setTargetEnemy(Unit*) 00037 BWAPI::Unit* oorTargetEnemy; 00038 BWAPI::Position target; // display debug purpose 00039 const std::vector<BWAPI::Position> & getPPath(); 00040 BWAPI::Position BattleUnit::getPPath(unsigned int n); 00041 00042 BattleUnit(BWAPI::Unit* unit); 00043 virtual ~BattleUnit(); 00044 void attack(const BWAPI::Position& p); 00045 bool operator == (const BattleUnit& bu) const; 00046 virtual void update() = 0; 00047 };