BWAPI
|
00001 #pragma once 00002 00003 namespace BWAPI 00004 { 00005 class TilePosition; 00006 00007 // TODO: Add doxygen documentation 00008 class Position 00009 { 00010 public : 00011 Position(); 00012 explicit Position(const TilePosition& position); 00013 Position(int x, int y); 00014 bool operator == (const Position& position) const; 00015 bool operator != (const Position& position) const; 00016 bool operator < (const Position& position) const; 00017 operator bool() const; 00018 bool isValid() const; 00019 Position operator+(const Position& position) const; 00020 Position operator-(const Position& position) const; 00021 Position& makeValid(); 00022 Position& operator+=(const Position& position); 00023 Position& operator-=(const Position& position); 00024 double getDistance(const Position& position) const; 00025 int getApproxDistance(const Position& position) const; 00026 double getLength() const; 00027 bool hasPath(const Position& destination) const; 00028 int& x(); 00029 int& y(); 00030 int x() const; 00031 int y() const; 00032 private : 00033 int _x; 00034 int _y; 00035 }; 00036 namespace Positions 00037 { 00038 extern const Position Invalid; 00039 extern const Position None; 00040 extern const Position Unknown; 00041 } 00042 }; 00043