From e33e8edb80936f8dd04729d70c0c991612340d5e Mon Sep 17 00:00:00 2001 From: gregory guy Date: Wed, 25 Nov 2020 15:16:40 +0100 Subject: Turn into a TDE application. The game is renamed TDEFifteen (original name: q15). Add icons (Public Domaine, https://commons.wikimedia.org/wiki/File:15-puzzle.svg). Signed-off-by: gregory guy --- tdefifteen/src/gameboard.h | 68 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 tdefifteen/src/gameboard.h (limited to 'tdefifteen/src/gameboard.h') diff --git a/tdefifteen/src/gameboard.h b/tdefifteen/src/gameboard.h new file mode 100644 index 00000000..55b25e29 --- /dev/null +++ b/tdefifteen/src/gameboard.h @@ -0,0 +1,68 @@ +// Author: Denis Kozadaev - (c) 2017-2020 + + +#ifndef __GAME_BOARD_H__ +#define __GAME_BOARD_H__ + +#include + +#include +#include +#include +#include + + +class BoardItem:public TQLabel +{ +public: + + BoardItem(int, TQWidget *parent = NULL, const char *name = NULL); + ~BoardItem(); + + int item()const{return (num);} + +private: + int num; + +protected: + void paintEvent(TQPaintEvent *); +}; + +//------------------------------------------------------------------------------ + +class GameBoard:public TQWidget +{ + Q_OBJECT +public: + + GameBoard(TQWidget *parent = NULL, const char *name = NULL); + ~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__ */ -- cgit v1.2.1