/** Slot appelé lors de click de case **/ void Case::deminage(){ if(!hasCase || black) return; hasCase = false; thirdMark = false; setLineWidth(1); setMidLineWidth(0); setFrameShape(QFrame::Panel); setFrameShadow(QFrame::Sunken); label->setText(showValue(value)); if(flag && notMine()){ emit signalCaseFlag(false); } else{ emit signalDemine(); if(value >= 9){ label->setText(showValue(value, QString("red"), QString("black"))); emit signalGameOver(false); } else if(value == 0){ emit signalDemineAroundCase(x, y); } } }
void Snake::isGameOver() { for (int i = 1; i < rowsVector.count(); i++) { if (rowsVector.at(0) == rowsVector.at(i) && colsVector.at(0) == colsVector.at(i)) { emit signalGameOver(); } } }
void Tank::slotTankShot(QString typeObject) { if (this->_shot == false) return; try { Bullet *bullet = this->shot(); bullet->nameObjectSender = typeObject; bullet->setData(0, OBJ_NAME_BULLET); this->_shot = false; connect( bullet, SIGNAL( signalDestroy() ) , this, SLOT( slotAllowShot() )); connect( bullet, SIGNAL( signalGameOver() ) , this, SLOT( slotGameOver() )); connect( bullet, SIGNAL( signalKillBot() ) , this, SLOT( slotKillBot() )); scene()->addItem(bullet); } catch (QString *str) { qDebug() << "Good"; } }