You have to solve current level before advance
[vexed] / mainwindow.cpp
index e80d336..f90ed54 100644 (file)
@@ -2,6 +2,7 @@
 #include "ui_mainwindow.h"
 #include "preferences.h"
 #include "howtoplay.h"
+#include "needadvance.h"
 
 MainWindow::MainWindow(QWidget *parent) :
     QMainWindow(parent),
@@ -118,6 +119,7 @@ void MainWindow::solved(int moves)
 {
     PlayField *pf=pack->levelAt(levelNo);
     Settings().saveHiscore(pack->getTitle(),pf->title, moves);
+    levelHiscore=moves;
     loadNextLevel();
 }
 
@@ -145,6 +147,11 @@ void MainWindow::saveState()
 
 void MainWindow::loadNextLevel()
 {
+    if(levelHiscore == HS::NO_SCORE)
+    {
+        needadvance().exec();
+        return;
+    }
     if(levelNo<(pack->size()-1))
     {
         levelNo++;