diff options
Diffstat (limited to 'src/Model/Grid.hpp')
| -rw-r--r-- | src/Model/Grid.hpp | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/src/Model/Grid.hpp b/src/Model/Grid.hpp index 21c653a..51168a9 100644 --- a/src/Model/Grid.hpp +++ b/src/Model/Grid.hpp @@ -15,38 +15,46 @@ class Grid { private: + //Members int m_size; std::vector<std::vector<int> > m_grid; + int m_lastMoveScore; + //Private methods int maxStrLenInGrid(); + public: + //Constructor and Destructor Grid(); ~Grid(); - std::string description(); + //Defragment and merge methods + std::vector<int> rightDefragment(std::vector<int> line); + std::vector<int> leftDefragment(std::vector<int> line); + std::vector<int> rightMerge(std::vector<int> line); + std::vector<int> leftMerge(std::vector<int> line); + + //Swipe methods + bool swipeRight(); + bool swipeLeft(); + bool swipeUp(); + bool swipeDown(); + + //Helpers + bool isFull(); + bool isOver(); bool isEmpty(int i, int j); std::tuple<int, int> getRandomEmptyCellCoord(); + bool compareLines(std::vector<int> line1, std::vector<int> line2); + std::vector<int> reverseLine(std::vector<int> line); + std::string description(); + //Getters and Setters bool setCell(std::tuple<int, int> coord, int value); bool setCell(int i, int j, int value); - - std::vector<int> swipeLine(std::vector<int> line); - std::vector<int> defragmentLine(std::vector<int> line); - std::vector<int> mergeLine(std::vector<int> line); - std::vector<int> getCol(int col); - - bool isFull(); - bool isOver(); - void setCol(int col, std::vector<int> colVect); - std::vector<int> reverseLine(std::vector<int> line); - - //Moves - void swipeRight(); - void swipeLeft(); - void swipeUp(); - void swipeDown(); + int getLastMoveScore(); }; |
