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.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/Model/Grid.cpp b/src/Model/Grid.cpp
index b1b9dda..ed8686f 100644
--- a/src/Model/Grid.cpp
+++ b/src/Model/Grid.cpp
@@ -137,18 +137,22 @@ std::vector<int> Grid::rightDefragment(std::vector<int> line){
}
std::vector<int> Grid::leftDefragment(std::vector<int> line){
- for(int j=0; j<m_size-1;j++){
- for(int i=m_size-1; i>0;i--){
- int val1=line.at(i);
- int val2=line.at(i-1);
- if(val1 != 0 && val2 == 0){
- line.at(i)=0;
- line.at(i-1)=val1;
- }
- }
- }
- return line;
+ //for(int j=0; j<m_size-1;j++){
+ //for(int i=m_size-1; i>0;i--){
+ //int val1=line.at(i);
+ //int val2=line.at(i-1);
+
+ //if(val1 != 0 && val2 == 0){
+ //line.at(i)=0;
+ //line.at(i-1)=val1;
+ //}
+ //}
+ //}
+
+ std::vector<int> reversedLine= this->reverseLine(line);
+
+ return this->reverseLine(this->rightDefragment(reversedLine));
}
std::vector<int> Grid::rightMerge(std::vector<int> line){
for(int i=0; i< m_size-1;i++){