summaryrefslogtreecommitdiff
path: root/src/Model/Grid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Model/Grid.cpp')
-rw-r--r--src/Model/Grid.cpp10
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;
+}