diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | c90c389a8a8d9d8661e9772ec4144c5cf2039f23 (patch) | |
tree | 6d8391395bce9eaea4ad78958617edb20c6a7573 /ksirtet/ksirtet/board.h | |
download | tdegames-c90c389a8a8d9d8661e9772ec4144c5cf2039f23.tar.gz tdegames-c90c389a8a8d9d8661e9772ec4144c5cf2039f23.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegames@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'ksirtet/ksirtet/board.h')
-rw-r--r-- | ksirtet/ksirtet/board.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/ksirtet/ksirtet/board.h b/ksirtet/ksirtet/board.h new file mode 100644 index 00000000..90b1c231 --- /dev/null +++ b/ksirtet/ksirtet/board.h @@ -0,0 +1,50 @@ +#ifndef KS_BOARD_H +#define KS_BOARD_H + +#include "common/board.h" + + +class KSBoard : public Board +{ + Q_OBJECT + public: + KSBoard(bool graphic, QWidget *parent); + void copy(const GenericTetris &); + + void start(const GTInitData &); + enum Constants { Width = 10, Nb_Stages = 6 }; + uint nbRemovedLines(uint i) const { return linesRemoved[i]; } + uint lastRemoved() const { return _lastRemoved; } + + private: + QMemArray<uint> filled; + QMemArray<uint> linesRemoved; + uint addRemoved; + uint _lastRemoved; + + struct StageData { + uint todo, speed; + bool hasPattern; + uint pattern[Width]; + }; + static const StageData STAGE_DATA[Nb_Stages]; + + void init(); + uint gift(); + bool putGift(uint nb); + bool _putGift(uint nb); + bool needRemoving(); + void remove(); + bool toBeRemoved(const KGrid2D::Coord &) const; + bool toFall(const KGrid2D::Coord &) const; + void computeInfos(); + void setGarbageBlock(const KGrid2D::Coord &); + + const StageData &stageData() const { return STAGE_DATA[arcadeStage()]; } + uint normalTime() const; + uint arcadeTodo() const { return stageData().todo; } + uint arcadeDone() const { return nbRemoved(); } + void arcadePrepare(); +}; + +#endif |