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 bool isValid() const; 00018 Position operator+(const Position& position) const; 00019 Position operator-(const Position& position) const; 00020 Position& makeValid(); 00021 Position& operator+=(const Position& position); 00022 Position& operator-=(const Position& position); 00023 double getDistance(const Position& position) const; 00024 int getApproxDistance(const Position& position) const; 00025 double getLength() const; 00026 bool hasPath(const Position& destination) const; 00027 int& x(); 00028 int& y(); 00029 int x() const; 00030 int y() const; 00031 private : 00032 int _x; 00033 int _y; 00034 }; 00035 namespace Positions 00036 { 00037 extern const Position Invalid; 00038 extern const Position None; 00039 extern const Position Unknown; 00040 } 00041 }; 00042