summaryrefslogtreecommitdiffstats
path: root/code/PositionI.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'code/PositionI.hpp')
-rw-r--r--code/PositionI.hpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/code/PositionI.hpp b/code/PositionI.hpp
new file mode 100644
index 0000000..25455ef
--- /dev/null
+++ b/code/PositionI.hpp
@@ -0,0 +1,50 @@
+#pragma once
+
+#include <ostream>
+
+class PositionI {
+public:
+ PositionI(int x, int z, int y);
+
+ PositionI();
+
+ ~PositionI();
+
+ int GetX() const;
+
+ int GetY() const;
+
+ int GetZ() const;
+
+ void SetX(int x);
+
+ void SetY(int y);
+
+ void setZ(int z);
+
+ double GetDistance();
+
+ bool operator==(const PositionI &other) const;
+
+ PositionI &operator=(const PositionI &other);
+
+ PositionI(const PositionI &other);
+
+ bool operator<(const PositionI &rhs) const;
+
+ bool operator>(const PositionI &rhs) const;
+
+ bool operator<=(const PositionI &rhs) const;
+
+ bool operator>=(const PositionI &rhs) const;
+
+ PositionI operator-(const PositionI &other)const;
+ PositionI operator*(int other)const;
+ PositionI operator*(const PositionI &other)const;
+ PositionI operator/(int other)const;
+
+ friend std::ostream &operator<<(std::ostream &os, const PositionI &i);
+
+private:
+ int m_x, m_y, m_z;
+}; \ No newline at end of file