浏览代码

Ajout message vainqueur au temps

François Drouhard 6 年之前
父节点
当前提交
27ba2c1919
共有 4 个文件被更改,包括 21 次插入6 次删除
  1. 9 1
      Chronometre.cpp
  2. 1 0
      Chronometre.h
  3. 9 5
      MaFenetre.cpp
  4. 2 0
      MaFenetre.h

+ 9 - 1
Chronometre.cpp

@@ -70,12 +70,12 @@ void Chronometre::modifierSon(bool son) {
 
 void Chronometre::refresh () {
     temps = temps.addMSecs(-INTERVAL);
+    affichage ();
     if (temps <= QTime (0,0,0,0)) {
         if (sonnette == true)
             QSound::play(":/ressources/sonnette.wav");
         emit fin();
     }
-	affichage ();
 }
 
 void Chronometre::start () {
@@ -107,5 +107,13 @@ void Chronometre::basculer () {
 	else {
         start ();
 	}
+}
 
+QString Chronometre::operator+=(Chronometre const& joueur) const {
+    if (temps <= QTime (0,0,0,0)) {
+        return joueur.title();
+    } else if (joueur.temps <= QTime(0,0,0,0)) {
+        return title();
+    }
+    return "Nope";
 }

+ 1 - 0
Chronometre.h

@@ -47,6 +47,7 @@ class Chronometre : public QGroupBox {
     void modifierNomJoueur (QString joueur);
     void definirTemps (QTime const& tempsDepart);
     void modifierSon(bool son);
+    QString operator+=(Chronometre const& joueur) const;
 
     signals:
     void fin();

+ 9 - 5
MaFenetre.cpp

@@ -100,8 +100,8 @@ MaFenetre::MaFenetre(Options* mesOptions) :
     QObject::connect (actionNouveau, SIGNAL(triggered()) , this , SLOT(init()));
     QObject::connect (actionOptions , SIGNAL(triggered()), this, SLOT(lancerDialogueOptions()));
     QObject::connect (actionQuitter , SIGNAL(triggered()) , qApp , SLOT(quit()));
-    QObject::connect (chrono1, SIGNAL(fin()), this, SLOT(arreter()));
-    QObject::connect (chrono2, SIGNAL(fin()), this, SLOT(arreter()));
+    QObject::connect (chrono1, SIGNAL(fin()), this, SLOT(afficheGagnant()));
+    QObject::connect (chrono2, SIGNAL(fin()), this, SLOT(afficheGagnant()));
 
 }
 
@@ -144,12 +144,16 @@ void MaFenetre::arreter () {
 	chrono2->stop();
 	marche = false;
     etatBoutons (true , false);
-    /*
+}
+
+void MaFenetre::afficheGagnant() {
+    arreter();
     QMessageBox message;
-    message.setText("Le joueur bidule a gagné");
+    QString texte;
+    texte = "Le joueur " + (*chrono1+=*chrono2) + " a gagné au temps.";
+    message.setText(texte);
     message.setStandardButtons(QMessageBox::Ok);
     message.exec();
-    */
 }
 
 void MaFenetre::init () {

+ 2 - 0
MaFenetre.h

@@ -46,6 +46,8 @@ class MaFenetre : public QMainWindow { // On hérite de QMainWindow (IMPORTANT)
 	void arreter ();
     void lancerDialogueOptions();
     void inverser ();
+    void afficheGagnant();
+
 	
 	private:
 	void keyReleaseEvent (QKeyEvent * evenement);