class GraphicsScene;
class PuzzleItem;
+class IntroItem;
class GameView : public QGraphicsView
{
QList<PuzzleItem *> pieces() const;
QPointF emptyPlace();
void setEmptyPlace(const QPointF &place);
- bool areAllPiecesOk() const;
+ bool areAllPiecesOk();
+ void setMovingPieces();
public slots:
- void setPieces(const QList<PuzzleItem *> pieces);
+ void setPieces(const QList<PuzzleItem *> pieces, bool shuffle = true);
void shufflePieces();
+ bool restoreGame();
+ void saveGame();
+
+private slots:
+ void shuffleAnimationFinished();
+
+signals:
+ void gameWon();
+ void gameRestored();
private:
GameView(QWidget *parent = 0);
+ int correctPlaces() const;
+ QList<int> movingPlaces() const;
static GameView *instance_;
QGraphicsScene *scene_;
QList<PuzzleItem *> pieces_;
QPointF emptyPlace_;
int hiddenIndex_;
+ IntroItem *introItem_;
+
+ int verticalStep_;
+ int horizontalStep_;
};
#endif