#ifndef DEF_GRID #define DEF_GRID /* Grid.h * Defines the class Grid * A grid contains a table of cells the game will be set on * Creators : krilius, manzerbredes * Date : 29/04/2015 */ #include #include #include #include class Grid { private: //Members int m_size; std::vector > m_grid; int m_lastMoveScore; //Private methods int maxStrLenInGrid(); public: //Constructor and Destructor Grid(); ~Grid(); //Defragment and merge methods std::vector rightDefragment(std::vector line); std::vector leftDefragment(std::vector line); std::vector rightMerge(std::vector line); std::vector leftMerge(std::vector line); //Swipe methods bool swipeRight(); bool swipeLeft(); bool swipeUp(); bool swipeDown(); //Helpers bool isFull(); bool isOver(); bool isEmpty(int i, int j); std::tuple getRandomEmptyCellCoord(); bool compareLines(std::vector line1, std::vector line2); std::vector reverseLine(std::vector line); std::string description(); //Getters and Setters bool setCell(std::tuple coord, int value); bool setCell(int i, int j, int value); std::vector getCol(int col); void setCol(int col, std::vector colVect); int getLastMoveScore(); }; #endif