]> Shamusworld >> Repos - warehouse-man-deluxe/blob - src/gamewidget.h
Added undo move system, various improvements.
[warehouse-man-deluxe] / src / gamewidget.h
1 #ifndef __GAMEWIDGET_H__
2 #define __GAMEWIDGET_H__
3
4 #include <QtGui>
5
6 class GameBoard;
7
8 class GameWidget: public QWidget
9 {
10         Q_OBJECT
11
12         public:
13                 GameWidget(QWidget * parent = 0);
14                 ~GameWidget();
15
16         protected:
17                 void paintEvent(QPaintEvent * event);
18                 void mousePressEvent(QMouseEvent * event);
19                 void mouseMoveEvent(QMouseEvent * event);
20                 void mouseReleaseEvent(QMouseEvent * event);
21                 void mouseDoubleClickEvent(QMouseEvent * event);
22                 void keyPressEvent(QKeyEvent * event);
23                 void keyReleaseEvent(QKeyEvent * event);
24                 void resizeEvent(QResizeEvent * event);
25
26         signals:
27                 void UpdateScore(int);
28                 void GameWasWon(void);
29
30         public:
31                 void CreateBackground(void);
32                 void NextLevel(void);
33                 void ResetLevel(void);
34                 void UndoLastMove(void);
35 /*
36                 void DrawBoard(QPainter * painter, QRect r);
37                 void HandleAutoRemove(void);
38                 void AnimateCards(int nCard, int nAce, int nTabX, int nTabY);
39                 bool IsValidMoveToAce(int nAceM);
40                 bool IsValidMoveToAce(int nAce, int nCard);
41                 bool IsValidMoveToTableaux(int nStack);
42                 bool PlayerWon(void);
43                 void HandleStatistics(void);*/
44         private:
45                 void ResizeGrid(void);
46                 void Pause(int);
47
48         public:
49                 int level;
50                 GameBoard * gameBoard;
51
52         private:
53                 bool animating;
54                 bool boxMoving;
55                 int maxLength;
56                 int playerX, playerY;
57                 int boxX, boxY;
58                 int movingBoxPositionX;
59                 int movingBoxPositionY;
60                 int offsetX, offsetY;
61 };
62
63 #endif  // __GAMEWIDGET_H__
64