summaryrefslogtreecommitdiff
path: root/src/Model/Grid.cpp
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2015-05-03 02:02:22 +0200
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2015-05-03 02:02:22 +0200
commit9977050e6ecb92570698bbacac1a82b74e5e87a4 (patch)
treeb80ad6c4e1cbe916bc0175e81afc262e5f1744f7 /src/Model/Grid.cpp
parent30f603ecd31e5cd849e22bc66d85da2e2d526cc5 (diff)
Add score and nb move(s) support
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;
+}