diff options
Diffstat (limited to 'src/Model/Grid.cpp')
| -rw-r--r-- | src/Model/Grid.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Model/Grid.cpp b/src/Model/Grid.cpp index 7d7e6a7..b1b9dda 100644 --- a/src/Model/Grid.cpp +++ b/src/Model/Grid.cpp @@ -158,6 +158,7 @@ std::vector<int> Grid::rightMerge(std::vector<int> line){ if(val1==val2){ line.at(i)=0; line.at(i+1)=val1*2; + m_lastMoveScore+=val1*2; i++; } } @@ -172,6 +173,7 @@ std::vector<int> Grid::leftMerge(std::vector<int> line){ if(val1==val2){ line.at(i)=0; line.at(i-1)=val1*2; + m_lastMoveScore+=val1*2; i--; } } @@ -195,6 +197,7 @@ std::vector<int> Grid::swipeLine(std::vector<int> line){ //Swipe to right bool Grid::swipeRight(){ + m_lastMoveScore=0; bool moveDone=false; for(int i=0; i<m_size;i++){ std::vector<int> swipedLine(this->rightDefragment(this->leftMerge(this->rightDefragment(m_grid.at(i))))); @@ -209,6 +212,7 @@ bool Grid::swipeRight(){ //Swipe to right bool Grid::swipeLeft(){ + m_lastMoveScore=0; bool moveDone=false; for(int i=0; i<m_size;i++){ std::vector<int> swipedLine(this->leftDefragment(this->rightMerge(this->leftDefragment(m_grid.at(i))))); @@ -222,6 +226,7 @@ bool Grid::swipeLeft(){ bool Grid::swipeUp(){ + m_lastMoveScore=0; bool moveDone=false; for(int i=0; i<m_size;i++){ std::vector<int> colVect=this->getCol(i); @@ -235,6 +240,7 @@ bool Grid::swipeUp(){ return moveDone; } bool Grid::swipeDown(){ + m_lastMoveScore=0; bool moveDone=false; for(int i=0; i<m_size;i++){ std::vector<int> colVect=this->getCol(i); @@ -324,3 +330,7 @@ bool Grid::compareLines(std::vector<int> line1, std::vector<int> line2){ } return true; } + +int Grid::getLastMoveScore(){ + return m_lastMoveScore; +} |
