return size;
}
+void Field::setSize (int size)
+{
+ Q_ASSERT(size >= 0 && size < NUM_SIZES);
+
+ if (this->size == size)
+ return;
+
+ this->size = (FieldSize)size;
+ randomize();
+}
+
void Field::randomize ()
{
FieldRect rect;
+
+ rect.brush = 0;
rect.flood = false;
data.clear();
tryFloodRecurse(brush, x, y + 1);
}
-void Field::mousePressEvent (QMouseEvent *event)
-{
- if (event->button() == Qt::LeftButton)
- randomize();
-}
-
void Field::paintEvent (QPaintEvent *event)
{
QPainter painter;
}
}
- update();
+ repaint();
bool allFlooded = true;
}
}
+ QString msg;
+
if (allFlooded)
{
finished = true;
-
- QMessageBox box;
/*: win message */
- box.setText(tr("You won!"));
- box.exec();
+ msg = tr("You won!");
}
else if (getNumTurnsOfSize(size) == turns)
{
finished = true;
+ /*: fail message */
+ msg = tr("You lost!");
+ }
+ if (finished)
+ {
QMessageBox box;
- /*: fail message */
- box.setText(tr("You lost!"));
+ box.setWindowTitle("Color Flood");
+ box.setText(msg);
box.exec();
+ randomize();
}
}