Compare commits

..

2 commits

6 changed files with 16 additions and 7 deletions

View file

@ -32,7 +32,6 @@ int main(){
} }
list<int> currentLevelsBackup = currentLevels; list<int> currentLevelsBackup = currentLevels;
int numOfLevelsInLine = currentLevels.size();
int numOfLevelsProcessed = 0; int numOfLevelsProcessed = 0;
auto curListIt = currentLevels.begin(); auto curListIt = currentLevels.begin();
curListIt++; //point to second item in list curListIt++; //point to second item in list
@ -68,7 +67,6 @@ int main(){
levelStaysSame.push_front(index); levelStaysSame.push_front(index);
} }
} }
float averageChange = totalChange/(currentLevels.size()-1); //we use average change to smooth out the data
if (totalChange>0){ if (totalChange>0){
dir= UP; dir= UP;
@ -76,12 +74,23 @@ int main(){
dir = DOWN; dir = DOWN;
} }
if (dir==UP&&levelGoDown.size()>2){ //if the overall direction goes up and more then 2 leves go down the list is bad if (dir==UP&&levelGoDown.size()>1){ //if the overall direction goes up and more then 1 level go down the list is bad
currentLevels.clear(); currentLevels.clear();
} else if (dir==DOWN&&levelGoesUp.size()>2){ //same as above but opiosite dirrection } else if (dir==DOWN&&levelGoesUp.size()>1){ //same as above but opiosite dirrection
currentLevels.clear(); currentLevels.clear();
} }
if (levelStaysSame.size()>1){ //cant have more then 1 number the same or the list is bad
currentLevels.clear();
}
if (!currentLevels.empty()&&levelStaysSame.size()==1){
auto itNumberToDelete = currentLevels.begin();
advance(itNumberToDelete,levelStaysSame.front());
currentLevels.erase(itNumberToDelete);
listDirty = true;
}
if (!currentLevels.empty()){ if (!currentLevels.empty()){
if (dir==UP&&levelGoDown.size()==1){ if (dir==UP&&levelGoDown.size()==1){
list<int>::iterator itNumberToDelete = currentLevels.begin(); list<int>::iterator itNumberToDelete = currentLevels.begin();
@ -94,16 +103,16 @@ int main(){
currentLevels.erase(itNumberToDelete); currentLevels.erase(itNumberToDelete);
listDirty=true; listDirty=true;
} }
int numOfLevelsInLine = currentLevels.size();
//need to pull the first one to have something to compare to //need to pull the first one to have something to compare to
int prevlevel = currentLevels.front(); int prevlevel = currentLevels.front();
currentLevels.pop_front(); currentLevels.pop_front();
numOfLevelsProcessed++;
for (int level = currentLevels.front(); !currentLevels.empty();level=currentLevels.front()){ for (int level = currentLevels.front(); !currentLevels.empty();level=currentLevels.front()){
if (abs(prevlevel-level)>3) {currentLevels.clear();break;} if (abs(prevlevel-level)>3) {currentLevels.clear();break;}
if(prevlevel==level){ currentLevels.clear();break;}
if(dir==UP&&(prevlevel<currentLevels.front())) {currentLevels.clear();break;}
if(dir==DOWN&&(prevlevel>currentLevels.front())) {currentLevels.clear();break;}
prevlevel=currentLevels.front(); prevlevel=currentLevels.front();
currentLevels.pop_front(); currentLevels.pop_front();

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.