projects
/
colorflood
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
size/scheme options; better translation
[colorflood]
/
colorflood
/
src
/
field.hpp
diff --git
a/colorflood/src/field.hpp
b/colorflood/src/field.hpp
index
06ccf28
..
c3b81f9
100644
(file)
--- a/
colorflood/src/field.hpp
+++ b/
colorflood/src/field.hpp
@@
-19,6
+19,7
@@
#include <QBrush>
class QPaintEvent;
#include <QBrush>
class QPaintEvent;
+class QMouseEvent;
class Field : public QWidget
{
class Field : public QWidget
{
@@
-33,35
+34,45
@@
public:
NUM_SIZES
}FieldSize;
NUM_SIZES
}FieldSize;
- Field (QWidget *parent, const QVector<QBrush> &brushes, FieldSize size);
- Field (QWidget *parent);
+ typedef struct
+ {
+ quint8 brush;
+ bool flood;
+ }FieldRect;
+
+ typedef QVector<Field::FieldRect> RectVector;
+
+ Field (QWidget *parent, int *turns);
~Field ();
FieldSize getSize () const;
~Field ();
FieldSize getSize () const;
- void randomize ();
+ void setSize (int size);
static int getNumRectsOfSize (FieldSize size);
static int getNumTurnsOfSize (FieldSize size);
private:
static int getNumRectsOfSize (FieldSize size);
static int getNumTurnsOfSize (FieldSize size);
private:
- typedef struct
- {
- char brush;
- bool flood;
- }FieldRect;
-
- static const int rects[NUM_SIZES];
- static const int turns[NUM_SIZES];
+ static const int numRects[NUM_SIZES];
+ static const int numTurns[NUM_SIZES];
- void init (const QVector<QBrush> &brushes, FieldSize size);
static int getRectSize (FieldSize size);
static int getRectSize (FieldSize size);
+ void tryFloodRecurse (quint8 brush, int x, int y);
+ void floodNeighbours (quint8 brush, int x, int y);
- FieldSize size;
- QVector<QBrush> brushes;
- QVector<FieldRect> data;
+ FieldSize size;
+ RectVector data;
+ int turns;
+ bool finished;
protected:
void paintEvent (QPaintEvent *event);
protected:
void paintEvent (QPaintEvent *event);
+
+signals:
+ void turnsChanged (int turns);
+
+public slots:
+ void randomize ();
+ void flood (int colorIndex);
};
#endif // !_FIELD_HPP
};
#endif // !_FIELD_HPP