diff --git a/Tile/src/main.cpp b/Tile/src/main.cpp index ac53c95..869725f 100644 --- a/Tile/src/main.cpp +++ b/Tile/src/main.cpp @@ -7,6 +7,7 @@ #endif bool isRunning = 0; +int Moves = 0; int main(int argc, char *argv[]) { diff --git a/Tile/src/tile.cpp b/Tile/src/tile.cpp index 8227076..9c560ca 100644 --- a/Tile/src/tile.cpp +++ b/Tile/src/tile.cpp @@ -159,6 +159,10 @@ void Tile::swapButtons(QPushButton *button, QPushButton *button_neighbour) { button->setText("16"); button_neighbour->show(); button_neighbour->setFocus(); + if (isRunning) { + Moves++; + updateMoves(); + } if (isRunning && isSolved()) { isRunning = 0; switch (QMessageBox::information(this, @@ -176,6 +180,9 @@ void Tile::swapButtons(QPushButton *button, QPushButton *button_neighbour) { void Tile::Reset() { + isRunning = 0; + Moves=0; + updateMoves(); for (int i = 1; i < 16; i++) { QPushButton *button = idtoButton(i); QString str; @@ -381,3 +388,9 @@ bool Tile::isSolved() } return 1; } + +void Tile::updateMoves() +{ + QString mooves; + ui->moves->setText("Moves:\n"+mooves.setNum(Moves)); +} diff --git a/Tile/src/tile.h b/Tile/src/tile.h index d0d6c77..e7fa045 100644 --- a/Tile/src/tile.h +++ b/Tile/src/tile.h @@ -9,6 +9,7 @@ #include extern bool isRunning; +extern int Moves; namespace Ui { class Tile; @@ -35,6 +36,7 @@ public slots: void keyUp(QPushButton *button); void keyDown(QPushButton *button); bool isSolved(); + void updateMoves(); protected: void changeEvent(QEvent *e); diff --git a/Tile/src/tile.ui b/Tile/src/tile.ui index 27cc915..2ac49bd 100644 --- a/Tile/src/tile.ui +++ b/Tile/src/tile.ui @@ -334,7 +334,7 @@ 255 - 20 + 10 60 20 @@ -350,7 +350,7 @@ 255 - 80 + 50 60 20 @@ -366,7 +366,7 @@ 255 - 200 + 130 60 20 @@ -382,7 +382,7 @@ 255 - 140 + 90 60 20 @@ -407,6 +407,20 @@ Qt::Vertical + + + + 255 + 200 + 60 + 40 + + + + Moves: +0 + +