Changeset View
Changeset View
Standalone View
Standalone View
minefielditem.cpp
Show All 26 Lines | |||||
27 | 27 | | |||
28 | MineFieldItem::MineFieldItem(KGameRenderer* renderer) | 28 | MineFieldItem::MineFieldItem(KGameRenderer* renderer) | ||
29 | : m_leftButtonPos(-1,-1), m_midButtonPos(-1,-1), m_gameOver(false), | 29 | : m_leftButtonPos(-1,-1), m_midButtonPos(-1,-1), m_gameOver(false), | ||
30 | m_emulatingMidButton(false), m_renderer(renderer) | 30 | m_emulatingMidButton(false), m_renderer(renderer) | ||
31 | { | 31 | { | ||
32 | setFlag(QGraphicsItem::ItemHasNoContents); | 32 | setFlag(QGraphicsItem::ItemHasNoContents); | ||
33 | } | 33 | } | ||
34 | 34 | | |||
35 | void MineFieldItem::resetMines() | ||||
36 | { | ||||
37 | m_gameOver = false; | ||||
38 | m_numUnrevealed = m_numRows*m_numCols; | ||||
39 | | ||||
40 | for(CellItem* item : m_cells) { | ||||
41 | item->unreveal(); | ||||
42 | item->unflag(); | ||||
43 | item->unexplode(); | ||||
44 | } | ||||
45 | | ||||
46 | m_flaggedMinesCount = 0; | ||||
47 | emit flaggedMinesCountChanged(m_flaggedMinesCount); | ||||
48 | } | ||||
49 | | ||||
50 | | ||||
35 | void MineFieldItem::initField( int numRows, int numCols, int numMines ) | 51 | void MineFieldItem::initField( int numRows, int numCols, int numMines ) | ||
36 | { | 52 | { | ||
37 | numMines = qMin(numMines, numRows*numCols - MINIMAL_FREE ); | 53 | numMines = qMin(numMines, numRows*numCols - MINIMAL_FREE ); | ||
38 | 54 | | |||
39 | m_firstClick = true; | 55 | m_firstClick = true; | ||
40 | m_gameOver = false; | 56 | m_gameOver = false; | ||
41 | 57 | | |||
42 | int oldSize = m_cells.size(); | 58 | int oldSize = m_cells.size(); | ||
▲ Show 20 Lines • Show All 567 Lines • Show Last 20 Lines |