/* * $Id: gameboard.h,v 0.1 2005/08/14 12:10:05 denis Exp $ * * Author: Denis Kozadaev (denis@tambov.ru) * Description: * * See also: style(9) * * Hacked by: */ #ifndef __GAME_BOARD_H__ #define __GAME_BOARD_H__ #include #if QT_VERSION >= 0x040000 #include #include #include #include #include #include #include #else #include #include #include #include #endif class BoardItem:public TQLabel { public: #if QT_VERSION >= 0x040000 BoardItem(int, QWidget *parent = NULL); #else BoardItem(int, TQWidget *parent = NULL, const char *name = NULL); #endif ~BoardItem(); int item()const{return (num);} private: int num; protected: void paintEvent(TQPaintEvent *); }; //------------------------------------------------------------------------------ class GameBoard:public TQWidget { Q_OBJECT public: #if QT_VERSION >= 0x040000 GameBoard(QWidget *parent = NULL); #else GameBoard(TQWidget *parent = NULL, const char *name = NULL); #endif ~GameBoard(); void newGame(); void loadImage(); private: int n, nt, xt, yt, dx, dy; BoardItem *map[16]; TQTimer *tmr; TQPixmap origin; void initMap(); void startMoving(int, int); void checkEndGame(); void newTask(); int index(int, int); int mayMove(int); int step(int, int); int sign(int); protected: void resizeEvent(TQResizeEvent *); void mousePressEvent(TQMouseEvent *); private slots: void moveItem(); }; #endif /* __GAME_BOARD_H__ */