merge fix
This commit is contained in:
@@ -57,14 +57,13 @@ void MineField::initBombs(int x, int y) {
|
|||||||
startTimer();
|
startTimer();
|
||||||
|
|
||||||
//init the timer to zero and start the timer thread
|
//init the timer to zero and start the timer thread
|
||||||
// m_time = 0;
|
|
||||||
//timerThread = std::thread(&MineField::timerTick, this);
|
|
||||||
//timerThread.detach(); //not sure if this is okay (better to call join() when I set the condition to stop the thread)
|
//timerThread.detach(); //not sure if this is okay (better to call join() when I set the condition to stop the thread)
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MineField::openCell(int x, int y) {
|
bool MineField::openCell(int x, int y) {
|
||||||
if(isBomb(x, y)) {
|
if(isBomb(x, y)) {
|
||||||
m_exploded = true;
|
m_exploded = true;
|
||||||
|
timerThread.join();
|
||||||
gameOverSignal.emit();
|
gameOverSignal.emit();
|
||||||
stopTimer();
|
stopTimer();
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -56,5 +56,5 @@ public:
|
|||||||
sigc::signal<void(int)> remainingFlagsSignal;
|
sigc::signal<void(int)> remainingFlagsSignal;
|
||||||
sigc::signal<void(void)> gameWonSignal;
|
sigc::signal<void(void)> gameWonSignal;
|
||||||
sigc::signal<void(void)> gameOverSignal;
|
sigc::signal<void(void)> gameOverSignal;
|
||||||
sigc::signal<void(unsigned int)> timerSignal;
|
sigc::signal<void(size_t)> timerSignal;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -163,20 +163,22 @@ void MainWindow::gameOver() {
|
|||||||
//std::cout << "Signal gameOver emmited\n";
|
//std::cout << "Signal gameOver emmited\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MainWindow::updateClockLabel()
|
void MainWindow::updateClockLabel(size_t time)
|
||||||
{
|
{
|
||||||
++m_elapsedTime;
|
//++m_elapsedTime;
|
||||||
|
|
||||||
int deciseconds = m_elapsedTime % 10;
|
//int deciseconds = m_elapsedTime % 10;
|
||||||
int seconds = (m_elapsedTime / 10) % 60;
|
//int seconds = (m_elapsedTime / 10) % 60;
|
||||||
int minutes = (m_elapsedTime /600) % 60;
|
//int minutes = (m_elapsedTime /600) % 60;
|
||||||
|
|
||||||
Glib::ustring msg = Glib::ustring::compose("Elapsed time: %1:%2.%3", \
|
Glib::ustring msg = Glib::ustring::compose("Elapsed time: %1", time);
|
||||||
Glib::ustring::format(std::setfill(L'0'), std::setw(2), minutes), \
|
|
||||||
Glib::ustring::format(std::setfill(L'0'), std::setw(2), seconds), \
|
// Glib::ustring msg = Glib::ustring::compose("Elapsed time: %1:%2.%3", \
|
||||||
Glib::ustring::format(std::setfill(L'0'), std::setw(1), deciseconds));
|
// Glib::ustring::format(std::setfill(L'0'), std::setw(2), minutes), \
|
||||||
|
// Glib::ustring::format(std::setfill(L'0'), std::setw(2), seconds), \
|
||||||
|
// Glib::ustring::format(std::setfill(L'0'), std::setw(1), deciseconds));
|
||||||
clockLabel.set_label(msg);
|
clockLabel.set_label(msg);
|
||||||
return true;
|
//return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow::MainWindow()
|
MainWindow::MainWindow()
|
||||||
@@ -273,9 +275,10 @@ MainWindow::MainWindow()
|
|||||||
|
|
||||||
//optionButton.set_icon_name("open-menu");
|
//optionButton.set_icon_name("open-menu");
|
||||||
|
|
||||||
|
field.timerSignal.connect(sigc::bind(sigc::mem_fun(*this, &MainWindow::updateClockLabel)));
|
||||||
//if (clockSignalConn.connected()) clockSignalConn.disconnect();
|
//if (clockSignalConn.connected()) clockSignalConn.disconnect();
|
||||||
//elapsedTime = 0;
|
//elapsedTime = 0;
|
||||||
clockSignalConn = Glib::signal_timeout().connect(sigc::mem_fun(*this, &MainWindow::updateClockLabel), 100);
|
//clockSignalConn = Glib::signal_timeout().connect(sigc::mem_fun(*this, &MainWindow::updateClockLabel), 100);
|
||||||
//}
|
//}
|
||||||
//create the minefield
|
//create the minefield
|
||||||
//field = new MineField(COLS, MINES);
|
//field = new MineField(COLS, MINES);
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class MainWindow : public Gtk::Window
|
|||||||
void updateCell(int x, int y);
|
void updateCell(int x, int y);
|
||||||
void openBombs();
|
void openBombs();
|
||||||
void updateFlagsLabel(int flags);
|
void updateFlagsLabel(int flags);
|
||||||
bool updateClockLabel();
|
void updateClockLabel(size_t time);
|
||||||
void gameWon();
|
void gameWon();
|
||||||
void gameOver();
|
void gameOver();
|
||||||
sigc::connection clockSignalConn;
|
sigc::connection clockSignalConn;
|
||||||
|
|||||||
Reference in New Issue
Block a user