Browse Source

Ressources et couleurs

Francois Drouhard 6 years ago
parent
commit
6d9c9fd09b
3 changed files with 40 additions and 37 deletions
  1. 35 34
      MaFenetre.cpp
  2. 3 3
      MaFenetre.h
  3. 2 0
      ressources.qrc

+ 35 - 34
MaFenetre.cpp

@@ -44,17 +44,17 @@ MaFenetre::MaFenetre(Options* mesOptions) :
 {
     QWidget *centralWidget = new QWidget;
 
-    chrono1 = new Chronometre(option->nomJoueur1() , option->tempsDepart(), this);
-    chrono2 = new Chronometre(option->nomJoueur2() , option->tempsDepart(), this);
+    chronoBlanc = new Chronometre(option->nomJoueur1() , option->tempsDepart(), this);
+    chronoNoir = new Chronometre(option->nomJoueur2() , option->tempsDepart(), this);
     boutonInverser = new QPushButton ("<->");
     boutonInverser->setMinimumWidth(50);
     boutonInverser->setMaximumWidth(50);
 
 	////////////////// Groupe Définition de la classe ///////////////////////////
     layoutChrono = new QHBoxLayout;
-    layoutChrono->addWidget(chrono1);
+    layoutChrono->addWidget(chronoBlanc);
     layoutChrono->addWidget(boutonInverser, Qt::AlignVCenter);
-    layoutChrono->addWidget(chrono2);
+    layoutChrono->addWidget(chronoNoir);
 
     ///////////////////////////// Menus ////////////////////////////
     QMenu *menuFichier = menuBar()->addMenu("&Fichier");
@@ -72,8 +72,6 @@ MaFenetre::MaFenetre(Options* mesOptions) :
 	
 	boutonArreter->setFocusPolicy (Qt::NoFocus);
     boutonInverser->setFocusPolicy(Qt::NoFocus);
-
-    etatBoutons (true , false);
 	
 	layoutBoutonSwitch = new QHBoxLayout;
 	layoutBoutonSwitch->addWidget (boutonDemarrer);
@@ -91,8 +89,9 @@ MaFenetre::MaFenetre(Options* mesOptions) :
     setCentralWidget(centralWidget);
 	setWindowTitle ("ChronoCheckMate");
 
-    ///////////////////////////// Ouverture de la boite de dialogue /////////////////
+    ///////////////////////////// Initialisation du jeu /////////////////
     //lancerDialogueOptions();
+    init();
 
 	///////////////////////////// connections ///////////////////////////
     QObject::connect (boutonDemarrer , SIGNAL(clicked () ) , this , SLOT(demarrer () ));
@@ -101,50 +100,52 @@ 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(afficheGagnant()));
-    QObject::connect (chrono2, SIGNAL(fin()), this, SLOT(afficheGagnant()));
+    QObject::connect (chronoBlanc, SIGNAL(fin()), this, SLOT(afficheGagnant()));
+    QObject::connect (chronoNoir, SIGNAL(fin()), this, SLOT(afficheGagnant()));
 
 }
 
 ///////////////// Méthodes ////////////////////
-void MaFenetre::etatBoutons (bool etatBoutonStart, bool etatBoutonStop) {
+void MaFenetre::etatBoutons (bool etatBoutonStart, bool etatBoutonStop, bool etatBoutonInverser) {
     boutonDemarrer->setEnabled (etatBoutonStart);
     boutonArreter->setEnabled (etatBoutonStop);
+    boutonInverser->setEnabled(etatBoutonInverser);
+    //boutonInverser->setVisible(etatBoutonInverser);
 }
 
 ////////////////// SLOTS ////////////////////////
 void MaFenetre::inverser() {
-    layoutChrono->removeWidget(chrono1);
-    layoutChrono->removeWidget(chrono2);
-    Chronometre *chronoTemp = chrono1;
-    chrono1 = chrono2;
-    chrono2 = chronoTemp;
-    layoutChrono->insertWidget(0 , chrono1);
-    layoutChrono->addWidget(chrono2);
+    layoutChrono->removeWidget(chronoBlanc);
+    layoutChrono->removeWidget(chronoNoir);
+    Chronometre *chronoTemp = chronoBlanc;
+    chronoBlanc = chronoNoir;
+    chronoNoir = chronoTemp;
+    layoutChrono->insertWidget(0 , chronoBlanc);
+    layoutChrono->addWidget(chronoNoir);
 }
 
 void MaFenetre::demarrer () {
 	if (marche == false ) {
-		chrono1->reinit ();
-		chrono2->reinit ();
-		chrono1->start ();
+        chronoBlanc->reinit ();
+        chronoNoir->reinit ();
+        chronoBlanc->start ();
 		marche = true;
-        etatBoutons (false , true);
+        etatBoutons (false , true, false);
 	}
 }
 
 void MaFenetre::switcher () {
 	if (marche == true) {
-		chrono1->basculer ();
-		chrono2->basculer ();
+        chronoBlanc->basculer ();
+        chronoNoir->basculer ();
 	}
 }
 
 void MaFenetre::arreter () {
-	chrono1->stop();
-	chrono2->stop();
+    chronoBlanc->stop();
+    chronoNoir->stop();
 	marche = false;
-    etatBoutons (true , false);
+    etatBoutons (false , false, true);
 }
 
 void MaFenetre::afficheGagnant() {
@@ -153,27 +154,27 @@ void MaFenetre::afficheGagnant() {
         QSound::play(":/ressources/sonnette.wav");
     QMessageBox message;
     QString texte;
-    texte = "Le joueur " + (*chrono1+=*chrono2) + " a gagné au temps.";
+    texte = "Le joueur " + (*chronoBlanc+=*chronoNoir) + " a gagné au temps.";
     message.setText(texte);
     message.setStandardButtons(QMessageBox::Ok);
     message.exec();
 }
 
 void MaFenetre::init () {
-    chrono1->reinit();
-    chrono2->reinit();
+    chronoBlanc->reinit();
+    chronoNoir->reinit();
     marche = false;
-    etatBoutons (true , false);
+    etatBoutons (true , false, true);
 }
 
 void MaFenetre::lancerDialogueOptions() {
     Dialog dialog (option);
     if (dialog.exec()) {
-        chrono1->modifierNomJoueur(option->nomJoueur1());
-        chrono1->definirTemps(option->tempsDepart());
+        chronoBlanc->modifierNomJoueur(option->nomJoueur1());
+        chronoBlanc->definirTemps(option->tempsDepart());
 
-        chrono2->modifierNomJoueur(option->nomJoueur2());
-        chrono2->definirTemps(option->tempsDepart());
+        chronoNoir->modifierNomJoueur(option->nomJoueur2());
+        chronoNoir->definirTemps(option->tempsDepart());
 
         if (marche==false) {
             init();

+ 3 - 3
MaFenetre.h

@@ -37,7 +37,7 @@ class MaFenetre : public QMainWindow { // On hérite de QMainWindow (IMPORTANT)
 
 	public:
     MaFenetre(Options* mesOptions);
-    void etatBoutons (bool etatBoutonStart , bool etatBoutonStop);
+    void etatBoutons (bool etatBoutonStart , bool etatBoutonStop, bool etatBoutonInverser);
 
 	private slots:
 	void demarrer ();
@@ -54,8 +54,8 @@ class MaFenetre : public QMainWindow { // On hérite de QMainWindow (IMPORTANT)
 
 	bool marche;
     Options     *option;
-	Chronometre *chrono1;
-	Chronometre *chrono2;
+    Chronometre *chronoBlanc;
+    Chronometre *chronoNoir;
     QLineEdit   *joueur1LineEdit;
     QLineEdit   *joueur2LineEdit;
     QHBoxLayout *layoutChrono;

+ 2 - 0
ressources.qrc

@@ -1,5 +1,7 @@
 <RCC>
     <qresource prefix="/">
         <file>ressources/sonnette.wav</file>
+        <file>ressources/pawn_black.svg</file>
+        <file>ressources/pawn_white.svg</file>
     </qresource>
 </RCC>