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 protected: 00023 virtual ~Player() {}; 00024 public : 00026 virtual int getID() const = 0; 00027 00029 virtual std::string getName() const = 0; 00030 00034 virtual const std::set<Unit*>& getUnits() const = 0; 00035 00037 virtual Race getRace() const = 0; 00038 00040 virtual PlayerType getType() const = 0; 00041 00043 virtual Force* getForce() const = 0; 00044 00046 virtual bool isAlly(Player* player) const = 0; 00047 00049 virtual bool isEnemy(Player* player) const = 0; 00050 00052 virtual bool isNeutral() const = 0; 00053 00057 virtual TilePosition getStartLocation() const = 0; 00058 00060 virtual bool isVictorious() const = 0; 00061 00063 virtual bool isDefeated() const = 0; 00064 00066 virtual bool leftGame() const = 0; 00067 00069 virtual int minerals() const = 0; 00070 00072 virtual int gas() const = 0; 00073 00076 virtual int gatheredMinerals() const = 0; 00077 00079 virtual int gatheredGas() const = 0; 00080 00082 virtual int repairedMinerals() const = 0; 00083 00085 virtual int repairedGas() const = 0; 00086 00088 virtual int refundedMinerals() const = 0; 00089 00091 virtual int refundedGas() const = 0; 00092 00094 virtual int spentMinerals() const = 0; 00095 00097 virtual int spentGas() const = 0; 00098 // TODO: ground methods 00103 virtual int supplyTotal() const = 0; 00104 virtual int supplyTotal(Race race) const = 0; 00105 00106 00111 virtual int supplyUsed() const = 0; 00112 virtual int supplyUsed(Race race) const = 0; 00113 00115 virtual int allUnitCount(UnitType unit) const = 0; 00116 00118 virtual int visibleUnitCount(UnitType unit) const = 0; 00119 00121 virtual int completedUnitCount(UnitType unit) const = 0; 00122 00124 virtual int incompleteUnitCount(UnitType unit) const = 0; 00125 00127 virtual int deadUnitCount(UnitType unit) const = 0; 00128 00130 virtual int killedUnitCount(UnitType unit) const = 0; 00131 00134 virtual int getUpgradeLevel(UpgradeType upgrade) const = 0; 00135 00138 virtual bool hasResearched(TechType tech) const = 0; 00139 00142 virtual bool isResearching(TechType tech) const = 0; 00143 00146 virtual bool isUpgrading(UpgradeType upgrade) const = 0; 00147 00149 virtual BWAPI::Color getColor() const = 0; 00150 00152 virtual int getTextColor() const = 0; 00153 00155 virtual int maxEnergy(UnitType unit) const = 0; 00156 00158 virtual double topSpeed(UnitType unit) const = 0; 00159 00161 virtual int groundWeaponMaxRange(UnitType unit) const = 0; 00162 00164 virtual int airWeaponMaxRange(UnitType unit) const = 0; 00165 00167 virtual int weaponMaxRange(WeaponType weapon) const = 0; 00168 00170 virtual int sightRange(UnitType unit) const = 0 ; 00171 00173 virtual int groundWeaponDamageCooldown(UnitType unit) const = 0; 00174 00176 virtual int armor(UnitType unit) const = 0; 00177 00179 virtual int getUnitScore() const = 0; 00180 00182 virtual int getKillScore() const = 0; 00183 00185 virtual int getBuildingScore() const = 0; 00186 00188 virtual int getRazingScore() const = 0; 00189 00191 virtual int getCustomScore() const = 0; 00192 00194 virtual bool isObserver() const = 0; 00195 00197 virtual int getMaxUpgradeLevel(UpgradeType upgrade) const = 0; 00198 00200 virtual bool isResearchAvailable(TechType tech) const = 0; 00201 00203 virtual bool isUnitAvailable(UnitType unit) const = 0; 00204 }; 00205 };