BWAPI
|
00001 #pragma once 00002 #include <set> 00003 #include <string> 00004 00005 #include <BWAPI/TilePosition.h> 00006 #include <BWAPI/Race.h> 00007 #include <BWAPI/TechType.h> 00008 #include <BWAPI/UpgradeType.h> 00009 #include <BWAPI/PlayerType.h> 00010 #include <BWAPI/UnitType.h> 00011 #include <BWAPI/Client/PlayerData.h> 00012 #include <BWAPI/Color.h> 00013 namespace BWAPI 00014 { 00015 class Unit; 00016 class Force; 00017 00020 class Player 00021 { 00022 public : 00024 virtual int getID() const = 0; 00025 00027 virtual std::string getName() const = 0; 00028 00032 virtual const std::set<Unit*>& getUnits() const = 0; 00033 00035 virtual Race getRace() const = 0; 00036 00038 virtual PlayerType getType() const = 0; 00039 00041 virtual Force* getForce() const = 0; 00042 00044 virtual bool isAlly(Player* player) const = 0; 00045 00047 virtual bool isEnemy(Player* player) const = 0; 00048 00050 virtual bool isNeutral() const = 0; 00051 00055 virtual TilePosition getStartLocation() const = 0; 00056 00058 virtual bool isVictorious() const = 0; 00059 00061 virtual bool isDefeated() const = 0; 00062 00064 virtual bool leftGame() const = 0; 00065 00067 virtual int minerals() const = 0; 00068 00070 virtual int gas() const = 0; 00071 00074 virtual int cumulativeMinerals() const = 0; 00075 00077 virtual int cumulativeGas() const = 0; 00078 00079 // TODO: ground methods 00084 virtual int supplyTotal() const = 0; 00085 virtual int supplyTotal(Race race) const = 0; 00086 00091 virtual int supplyUsed() const = 0; 00092 virtual int supplyUsed(Race race) const = 0; 00093 00095 virtual int allUnitCount(UnitType unit) const = 0; 00096 00098 virtual int visibleUnitCount(UnitType unit) const = 0; 00099 00101 virtual int completedUnitCount(UnitType unit) const = 0; 00102 00104 virtual int incompleteUnitCount(UnitType unit) const = 0; 00105 00107 virtual int deadUnitCount(UnitType unit) const = 0; 00108 00110 virtual int killedUnitCount(UnitType unit) const = 0; 00111 00114 virtual int getUpgradeLevel(UpgradeType upgrade) const = 0; 00115 00118 virtual bool hasResearched(TechType tech) const = 0; 00119 00122 virtual bool isResearching(TechType tech) const = 0; 00123 00126 virtual bool isUpgrading(UpgradeType upgrade) const = 0; 00127 00129 virtual BWAPI::Color getColor() const = 0; 00130 00132 virtual int getTextColor() const = 0; 00133 00135 virtual int maxEnergy(UnitType unit) const = 0; 00136 00138 virtual double topSpeed(UnitType unit) const = 0; 00139 00141 virtual int groundWeaponMaxRange(UnitType unit) const = 0; 00142 00144 virtual int airWeaponMaxRange(UnitType unit) const = 0; 00145 00147 virtual int weaponMaxRange(WeaponType weapon) const = 0; 00148 00150 virtual int sightRange(UnitType unit) const = 0 ; 00151 00153 virtual int groundWeaponDamageCooldown(UnitType unit) const = 0; 00154 00156 virtual int armor(UnitType unit) const = 0; 00157 00159 virtual int getUnitScore() const = 0; 00160 00162 virtual int getKillScore() const = 0; 00163 00165 virtual int getBuildingScore() const = 0; 00166 00168 virtual int getRazingScore() const = 0; 00169 00171 virtual int getCustomScore() const = 0; 00172 00174 virtual bool isObserver() const = 0; 00175 }; 00176 };