You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
890 B
40 lines
890 B
#ifndef KL_BOARD_H
|
|
#define KL_BOARD_H
|
|
|
|
#include "base/board.h"
|
|
#include "base/piece.h"
|
|
|
|
class KLBoard : public BaseBoard
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
KLBoard(TQWidget *parent);
|
|
|
|
void start(const GTInitData &data);
|
|
|
|
signals:
|
|
void firstBlockClicked();
|
|
|
|
private:
|
|
KGrid2D::Square<int> field;
|
|
bool sliding;
|
|
TQMemArray<bool> empty;
|
|
uint addRemoved;
|
|
bool blocked;
|
|
|
|
KGrid2D::Coord findSprite(TQCanvasSprite *) const;
|
|
AfterRemoveResult afterRemove(bool doAll, bool first);
|
|
bool afterAfterRemove();
|
|
bool toBeRemoved(const KGrid2D::Coord &) const;
|
|
void remove();
|
|
bool toFall(const KGrid2D::Coord &) const;
|
|
bool toSlide(const KGrid2D::Coord &) const;
|
|
bool doSlide(bool doAll, bool first, bool lineByLine);
|
|
void computeInfos();
|
|
|
|
void contentsMouseReleaseEvent(TQMouseEvent *);
|
|
};
|
|
|
|
#endif
|