diff --git a/main.cpp b/main.cpp index 70af182..dd917bc 100644 --- a/main.cpp +++ b/main.cpp @@ -1,5 +1,6 @@ #include #include "position/Position.h" +#include "tile/Tile.h" using namespace std; @@ -24,5 +25,13 @@ int main() cout << (p1 == p2) << endl; cout << (p1 != p2) << endl; + auto t1 = Tile(p1, EMPTY); + + cout << t1.pos() << " -- type: " << t1.getType() << " -- traversable?: " << t1.traversable() << endl; + + auto t2 = Tile(p2, WALL); + + cout << t2.pos() << " -- type: " << t2.getType() << " -- traversable?: " << t2.traversable() << endl; + return 0; } diff --git a/tile/Tile.cpp b/tile/Tile.cpp index 686ab5b..0b1b9e7 100644 --- a/tile/Tile.cpp +++ b/tile/Tile.cpp @@ -8,3 +8,18 @@ const Position &Tile::pos() const { return m_pos; } + +Tile::Tile(Position pos, enum type type) + : m_pos(pos), m_type(type) +{} + +type Tile::getType() const +{ + return m_type; +} + +bool Tile::traversable() +{ + return m_type == 0; // EMPTY +} + diff --git a/tile/Tile.h b/tile/Tile.h index 1811524..1c386e5 100644 --- a/tile/Tile.h +++ b/tile/Tile.h @@ -8,14 +8,28 @@ #include "../position/Position.h" +enum type { + EMPTY, + WALL +}; + class Tile { private: Position m_pos; + type m_type; + public: + explicit Tile(Position pos, type type); + const Position &pos() const; + type getType() const; + + bool traversable(); }; + + #endif //LABYRINTH_TILE_H