Projet Darts  0.2
BTS SNIR LaSalle Avignon 2020
Référence de la classe Ihm

Déclaration de la classe Ihm (Module Ecran-DARTS) Plus de détails...

#include <ihm.h>

Graphe de collaboration de Ihm:
Collaboration graph

Connecteurs publics

void actualiserHeure ()
 Méthode qui met a jour l'heure sur l'application. Plus de détails...
 
void afficherAttenteConfiguration ()
 Méthode qui permet de mettre a jour le message de status "nouvelle appareil connecté". Plus de détails...
 
void afficherAttenteConnexion ()
 Méthode qui permet de mettre a jour le message de status "appareil deconnecté". Plus de détails...
 
void afficherDureePartie ()
 Affiche la durée d'une Seance(slot) Plus de détails...
 
void afficherFinTournois (QString nomGagnant, QString nomTournois, QList< Joueur > joueurs)
 Méthode qui gère l'affichage quand le tournoi est terminé Plus de détails...
 
void afficherImpact (int typePoint, int point)
 Méthode qui affiche la cible correspondante à l'impact (si fichier Image Impact et disponible) et les points de cette Impact. Plus de détails...
 
void afficherInformationTournois ()
 Méthode qui gère l'affichage des informations du tournoi. Plus de détails...
 
void afficherNouvellePartie ()
 Méthode qui met à jour l'affichage pour lancer une nouvelle partie. Plus de détails...
 
void afficherPartie ()
 Méthode qui met a jour le mode de jeu et la page actif. Plus de détails...
 
void afficherPretLancerTournois ()
 
void afficherVoleeAnnulee ()
 Méthode qui affiche le message de statut "volée annulée". Plus de détails...
 
void allerPage (Ihm::Page page)
 Méthode qui permet de changer de QStackedWidget avec la Précédente. Plus de détails...
 
void allerPagePrecedente ()
 Méthode qui permet de changer de QStackedWidget avec la Précédente. Plus de détails...
 
void allerPageSuivante ()
 Méthode qui permet de changer de QStackedWidget avec la suivante. Plus de détails...
 
void error (QMediaPlayer::Error error)
 Méthode appelée quand il y a une erreur de vidéo. Plus de détails...
 
void fermerApplication ()
 Méthode qui permet de quitter l'application. Plus de détails...
 
void finirPartie (QString gagnant, int voleeMaxJoueur, bool tournois)
 Méthode qui met à jour l'affichage quand la partie est fini. Plus de détails...
 
void initialiserAffichageTournois (QString modeJeu, QString nomTournois)
 Méthode qui initialise l'affichage du tournois. Plus de détails...
 
void jouerSon (QString son)
 Méthode qui permet de jouer un son. Plus de détails...
 
void lancerRegle (QString regle)
 Méthode qui lance la vidéo explicative des regles suivant le type de jeu. Plus de détails...
 
void lancerTournois ()
 methode qui affiche le l'ecran de tournois Plus de détails...
 
void mettreAJourCible ()
 Méthode qui reinitialise l'affichage de la cible. Plus de détails...
 
void mettreAJourJoueur ()
 Méthode qui initialise l'affichage du mode et des joueurs de la partie. Plus de détails...
 
void mettreAJourJoueurTournoi ()
 Méthode qui initialise l'affichage du mode et des joueurs de la partie. Plus de détails...
 
void mettreAJourManche ()
 Méthode qui met à jour le numero de la manche. Plus de détails...
 
void mettreAJourMessageStatut (QString)
 Méthode qui met à jour le message de statut. Plus de détails...
 
void mettreAJourMoyenneVolee ()
 Méthode qui initialise l'affichage du mode et des joueurs de la partie. Plus de détails...
 
void mettreAJourMoyenneVoleeTournois ()
 Méthode qui met a jour la moyenne des Volee du joueur. Plus de détails...
 
void mettreAJourScore ()
 Méthode qui met à jour le score dans L'ihm. Plus de détails...
 
void mettreAJourScoreTournois ()
 methode qui met a jour le score des joueurs des tournois Plus de détails...
 
void mettreAJoursolution (QString solution)
 Affiche les solutions possibles pour finir la parties. Plus de détails...
 
void mettrePausePartie ()
 Mets en pause le chronométrage de la partiee. Plus de détails...
 
void relancerpartie ()
 relancer le chronométrage de la partie Plus de détails...
 
void stateChanged (QMediaPlayer::State state)
 Méthode appelée quand l'état de la vidéo change. Plus de détails...
 
void StopperLectureRegle ()
 methode qui stop la lecture de la musique Plus de détails...
 

Fonctions membres publiques

 Ihm (QWidget *parent=nullptr)
 Constructeur de la classe Ihm. Plus de détails...
 
 ~Ihm ()
 Destructeur de la classe Ihm. Plus de détails...
 

Types privés

enum  Page {
  PageAttente = 0, PageRegle, PageJeu, PageStatistique,
  PageTournois, PageFinTournois, NbPages
}
 Définit les différentes pages de l'IHM. Plus de détails...
 

Fonctions membres privées

void attribuerRaccourcisClavier ()
 Méthode qui initialise les raccourcis clavier. Plus de détails...
 
void initialiserAffichageRegle ()
 Méthode qui initialise l'affichage vidéo des règles. Plus de détails...
 
void initialiserEvenements ()
 Méthode qui initialise les connexion signals/slots de Qt. Plus de détails...
 
void initialiserHorloge ()
 initialise l'horloge pour un affichage périodique Plus de détails...
 
void mettreAJourMessageStatut (int typePoint, int point)
 Méthode qui met à jour le message de statut de la volée en cours. Plus de détails...
 
void testerEtatPartie ()
 Méthode appelée pour remettre l'état dans lequel était la partie avant l'affichage des règles. Plus de détails...
 

Attributs privés

Communicationcommunication
 objet communication Plus de détails...
 
int compteurDureePartie
 compteur de secondes pour la durée d'une séance Plus de détails...
 
Dartsdarts
 objet darts Plus de détails...
 
QString messageStatut
 contient le message de statut qui est affiché Plus de détails...
 
QSound musique
 objet musique Plus de détails...
 
QSound musiquePause
 objet musiquePause Plus de détails...
 
QMediaPlayer * player
 objet player Plus de détails...
 
QPixmap sauvegardeImpactEncours
 sauvegarde le QPixmap de l'état de la cible Plus de détails...
 
int sauverEtatPartie
 Contient l'état de la partie avant l'affichage des règles. Plus de détails...
 
QTimer * timerHorloge
 objet timerHorloge Plus de détails...
 
Ui::Ihm * ui
 object de notre Ihm Plus de détails...
 
QVideoWidget * videoWidget
 objet videoWidget Plus de détails...
 

Description détaillée

Déclaration de la classe Ihm (Module Ecran-DARTS)

Cette classe s'occupe de l'affichage sur l'écran

Définition à la ligne 43 du fichier ihm.h.

Documentation des énumérations membres

◆ Page

enum Ihm::Page
private

Définit les différentes pages de l'IHM.

Valeurs énumérées
PageAttente 
PageRegle 
PageJeu 
PageStatistique 
PageTournois 
PageFinTournois 
NbPages 

Définition à la ligne 72 du fichier ihm.h.

Documentation des constructeurs et destructeur

◆ Ihm()

Ihm::Ihm ( QWidget parent = nullptr)
explicit

Constructeur de la classe Ihm.

Paramètres
parent

Définition à la ligne 26 du fichier ihm.cpp.

Références afficherNouvellePartie(), attribuerRaccourcisClavier(), communication, darts, Communication::demarrer(), initialiserAffichageRegle(), initialiserEvenements(), initialiserHorloge(), et ui.

26  :
27  QWidget(parent),
28  ui(new Ui::Ihm),
29  musique(qApp->applicationDirPath() + CHEMIN_FICHIER_MUSIQUE + "music.wav",this),
30  musiquePause(qApp->applicationDirPath() + CHEMIN_FICHIER_MUSIQUE + "pause.wav",this),
32  messageStatut("Volée ➤")
33 {
34  ui->setupUi(this);
35  qDebug() << Q_FUNC_INFO;
36 
37  darts = new Darts(this);
38  communication = new Communication(darts, this);
39 
40  // Initialiser l'horloge
42 
43  // Raccourcis Quitter/ChangerPage (mode debug)
45 
46  // Démarrer la communication bluetooth
48 
49  // Initialiser les connexions signal/slot
51 
52  //configuration affichage des regles
54 
55  //Afficher la page d'attente
57 }
Communication * communication
objet communication
Definition: ihm.h:54
QSound musiquePause
objet musiquePause
Definition: ihm.h:57
QSound musique
objet musique
Definition: ihm.h:56
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
void initialiserEvenements()
Méthode qui initialise les connexion signals/slots de Qt.
Definition: ihm.cpp:75
#define CHEMIN_FICHIER_MUSIQUE
Définit le chemin pour les sons.
Definition: ihm.h:32
void demarrer()
Méthode qui démarre le serveur.
QString messageStatut
contient le message de statut qui est affiché
Definition: ihm.h:61
void initialiserHorloge()
initialise l&#39;horloge pour un affichage périodique
Definition: ihm.cpp:607
Darts * darts
objet darts
Definition: ihm.h:55
Déclaration de la classe Darts (Module Ecran-DARTS)
Definition: darts.h:33
void afficherNouvellePartie()
Méthode qui met à jour l&#39;affichage pour lancer une nouvelle partie.
Definition: ihm.cpp:406
void attribuerRaccourcisClavier()
Méthode qui initialise les raccourcis clavier.
Definition: ihm.cpp:112
Déclaration de la classe Communication via la liaison Bluetooth (Module Ecran-DARTS) ...
Definition: communication.h:41
La classe QWidget est la classe de base de tous les objets graphiques d&#39;interface utilisateur...
int compteurDureePartie
compteur de secondes pour la durée d&#39;une séance
Definition: ihm.h:58
void initialiserAffichageRegle()
Méthode qui initialise l&#39;affichage vidéo des règles.
Definition: ihm.cpp:660

◆ ~Ihm()

Ihm::~Ihm ( )

Destructeur de la classe Ihm.

Définition à la ligne 64 du fichier ihm.cpp.

Références ui.

65 {
66  delete ui;
67  qDebug() << Q_FUNC_INFO;
68 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

Documentation des fonctions membres

◆ actualiserHeure

void Ihm::actualiserHeure ( )
slot

Méthode qui met a jour l'heure sur l'application.

Définition à la ligne 136 du fichier ihm.cpp.

Références ui.

Référencé par initialiserHorloge().

137 {
138  QString affichageHeure;
139  QTime heure = QTime::currentTime();
140  affichageHeure = "<font color=\"#6D2B6B\">" + heure.toString("hh : mm ") + "</font>";
141  ui->labelHeureAttente->setText(affichageHeure);
142  ui->labelHeureStatistique->setText(affichageHeure);
143  ui->labelHeureTournois->setText(heure.toString("hh : mm "));
144 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ afficherAttenteConfiguration

void Ihm::afficherAttenteConfiguration ( )
slot

Méthode qui permet de mettre a jour le message de status "nouvelle appareil connecté".

Définition à la ligne 502 du fichier ihm.cpp.

Références ui.

Référencé par initialiserEvenements().

503 {
504  ui->labelStatutAttente->setText("⇒ Attente configuration de la partie ⇐");
505 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ afficherAttenteConnexion

void Ihm::afficherAttenteConnexion ( )
slot

Méthode qui permet de mettre a jour le message de status "appareil deconnecté".

Définition à la ligne 512 du fichier ihm.cpp.

Références ui.

Référencé par initialiserEvenements().

513 {
514  ui->labelStatutAttente->setText("⇒ En attente de connexion ⇐");
515 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ afficherDureePartie

void Ihm::afficherDureePartie ( )
slot

Affiche la durée d'une Seance(slot)

Définition à la ligne 533 du fichier ihm.cpp.

Références compteurDureePartie, et ui.

Référencé par afficherPartie(), finirPartie(), lancerTournois(), mettrePausePartie(), et relancerpartie().

534 {
535  QTime duree(0, 0);
537  QTime dureeSeance = duree.addSecs(compteurDureePartie);
538  if(compteurDureePartie >= 3600)
539  {
540  ui->ecranPartie->setStyleSheet("QWidget#ecranPartie{background-image:url(:/ressources/backgroundHeure.jpg);}");
541  ui->labelTempsPartie->setText(dureeSeance.toString("hh : mm : ss"));
542  ui->tempsPartie->setText(dureeSeance.toString("hh : mm : ss"));
543  ui->tournoisChrono->setText(dureeSeance.toString("hh : mm : ss"));
544  }
545  else
546  {
547  ui->labelTempsPartie->setText(dureeSeance.toString("mm : ss"));
548  ui->tempsPartie->setText(dureeSeance.toString("mm : ss"));
549  ui->tournoisChrono->setText(dureeSeance.toString("mm : ss"));
550  }
551 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
int compteurDureePartie
compteur de secondes pour la durée d&#39;une séance
Definition: ihm.h:58

◆ afficherFinTournois

void Ihm::afficherFinTournois ( QString  nomGagnant,
QString  nomTournois,
QList< Joueur joueurs 
)
slot

Méthode qui gère l'affichage quand le tournoi est terminé

Définition à la ligne 846 du fichier ihm.cpp.

Références allerPage(), PageFinTournois, et ui.

Référencé par initialiserEvenements().

847 {
848  QString joueurTournois = "";
849 
850  for(int i = 0 ; i < joueurs.size(); i++)
851  {
852 
853  if(i == 0)
854  {
855  joueurTournois = " 1er ➠ " + joueurs[i].getNom() + "\n";
856  }
857  else
858  {
859  joueurTournois = joueurTournois +" "+ QString::number(i + 1) + "ème ➠ " + joueurs[i].getNom() + "\n";
860  }
861  }
862 
863  ui->winnerTournois->setText("↢ " + nomGagnant + " grand(e) gagnant(e) du tournoi " + nomTournois +" ↣");
864  ui->recapPlaceTournois->setText(joueurTournois);
866 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
void allerPage(Ihm::Page page)
Méthode qui permet de changer de QStackedWidget avec la Précédente.
Definition: ihm.cpp:468

◆ afficherImpact

void Ihm::afficherImpact ( int  typePoint,
int  point 
)
slot

Méthode qui affiche la cible correspondante à l'impact (si fichier Image Impact et disponible) et les points de cette Impact.

Paramètres
typePoint
point

Définition à la ligne 202 du fichier ihm.cpp.

Références mettreAJourMessageStatut(), et ui.

Référencé par initialiserEvenements().

203 {
204  if(QFileInfo(qApp->applicationDirPath() + "/impact/IMPACT_" + QString::number(typePoint) + "_" + QString::number(point) + ".png").exists()) //test si l'image existe
205  {
206  QImage impact(qApp->applicationDirPath() + "/impact/IMPACT_" + QString::number(typePoint) + "_" + QString::number(point) + ".png");
207 
208  QPixmap cibleImpacte = ui->labelVisualisationimpact->pixmap()->copy(); // on récupère l'image précédente;
209 
210  QPainter p(&cibleImpacte);
211 
212  p.drawImage(QPoint(0, 0), impact);
213 
214  p.end();
215 
216  ui->labelVisualisationimpact->setPixmap(cibleImpacte);
217  ui->ImpactCibleTournois->setPixmap(cibleImpacte);
218  }
219 
220  mettreAJourMessageStatut(typePoint, point);
221 }
void mettreAJourMessageStatut(int typePoint, int point)
Méthode qui met à jour le message de statut de la volée en cours.
Definition: ihm.cpp:230
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ afficherInformationTournois

void Ihm::afficherInformationTournois ( )
slot

Méthode qui gère l'affichage des informations du tournoi.

Définition à la ligne 873 du fichier ihm.cpp.

Références ui.

Référencé par initialiserEvenements().

874 {
875  ui->labelINfoMatch->setVisible(true);
876 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ afficherNouvellePartie

void Ihm::afficherNouvellePartie ( )
slot

Méthode qui met à jour l'affichage pour lancer une nouvelle partie.

Définition à la ligne 406 du fichier ihm.cpp.

Références allerPage(), mettreAJourCible(), musique, musiquePause, PageAttente, player, et ui.

Référencé par Ihm(), et initialiserEvenements().

407 {
408  player->stop();
410  ui->manche->setText("1");
411  ui->nomJoueur->setText("");
412  ui->scoreActuel->setText("");
413  ui->typeJeu->setText("");
414  ui->winnerPartie->setText("Winner ....");
415  ui->labelStatut->setText("");
416  ui->moyenneVolee->setText("");
417  ui->moyenneVolee2->setText("");
418  ui->nbVolees->setText("");
419  ui->voleeMax->setText("");
420  ui->moyenneVolees->setText("");
421  ui->labelMoyenneVolees->setVisible(false);
422  ui->lineScoreActuel->setVisible(false);
423  ui->lineSeparateurMoyenne->setVisible(false);
424  ui->labelMoyenneVoleesStatistique->setVisible(false);
425  ui->ecranPartie->setStyleSheet("QWidget#ecranPartie{background-image:url(:/ressources/background.jpg);}");
427  ui->labelINfoMatch->setVisible(false);
428 
429  //ecran Tournois
430  ui->tournoisNom->setText("----------");
431  ui->modeDeJeuTournois->setText("");
432  ui->nomJoueurTournois1->setText("");
433  ui->nomJoueurTournois2->setText("");
434  ui->scoreJoueurTournois1->setText("\n⇓\n");
435  ui->scoreJoueurTournois2->setText("\n⇓\n");
436  ui->moyenneJoueurTournois1->setText("\n⇓\n" );
437  ui->moyenneJoueurTournois2->setText("\n⇓\n" );
438  ui->tournoisManche->setText("Manche 1");
439  ui->statutImpactTournois->setText("");
440 
441 
442  // configurer la musique
443  musique.setLoops(QSound::Infinite);
444  musiquePause.setLoops(QSound::Infinite);
445  musiquePause.stop();
446  // jouer la musique
447  musique.play();
448 }
void mettreAJourCible()
Méthode qui reinitialise l&#39;affichage de la cible.
Definition: ihm.cpp:619
QMediaPlayer * player
objet player
Definition: ihm.h:64
QSound musiquePause
objet musiquePause
Definition: ihm.h:57
QSound musique
objet musique
Definition: ihm.h:56
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
void allerPage(Ihm::Page page)
Méthode qui permet de changer de QStackedWidget avec la Précédente.
Definition: ihm.cpp:468

◆ afficherPartie

void Ihm::afficherPartie ( )
slot

Méthode qui met a jour le mode de jeu et la page actif.

Définition à la ligne 348 du fichier ihm.cpp.

Références afficherDureePartie(), allerPage(), compteurDureePartie, darts, Darts::getModeDeJeu(), mettreAJourJoueur(), mettreAJourScore(), musique, PageJeu, timerHorloge, et ui.

Référencé par initialiserEvenements().

349 {
350  musique.stop();
351 
352  ui->typeJeu->setText(darts->getModeDeJeu());
353 
356  connect(timerHorloge, SIGNAL(timeout()),this,SLOT(afficherDureePartie())); // Pour le comptage et l'affichage de la durée d'une séance
357 
359 
361 }
QSound musique
objet musique
Definition: ihm.h:56
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
QTimer * timerHorloge
objet timerHorloge
Definition: ihm.h:53
void afficherDureePartie()
Affiche la durée d&#39;une Seance(slot)
Definition: ihm.cpp:533
Darts * darts
objet darts
Definition: ihm.h:55
void mettreAJourJoueur()
Méthode qui initialise l&#39;affichage du mode et des joueurs de la partie.
Definition: ihm.cpp:258
QString getModeDeJeu() const
Retourne le mode de jeu.
Definition: darts.cpp:132
void allerPage(Ihm::Page page)
Méthode qui permet de changer de QStackedWidget avec la Précédente.
Definition: ihm.cpp:468
void mettreAJourScore()
Méthode qui met à jour le score dans L&#39;ihm.
Definition: ihm.cpp:151
int compteurDureePartie
compteur de secondes pour la durée d&#39;une séance
Definition: ihm.h:58

◆ afficherPretLancerTournois

void Ihm::afficherPretLancerTournois ( )
slot

Définition à la ligne 522 du fichier ihm.cpp.

Références ui.

Référencé par initialiserAffichageTournois().

523 {
524  ui->labelStatutAttente->setText("⇒ Prêt à lancer le tournoi ⇐");
525 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ afficherVoleeAnnulee

void Ihm::afficherVoleeAnnulee ( )
slot

Méthode qui affiche le message de statut "volée annulée".

Définition à la ligne 368 du fichier ihm.cpp.

Références ui.

Référencé par initialiserEvenements().

369 {
370  ui->labelStatut->setText("Volée annulée !");
371  ui->statutImpactTournois->setText("Volée annulée !");
372 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ allerPage

void Ihm::allerPage ( Ihm::Page  page)
slot

Méthode qui permet de changer de QStackedWidget avec la Précédente.

Paramètres
pagela page du QStackedWidget à afficher

Définition à la ligne 468 du fichier ihm.cpp.

Références ui.

Référencé par afficherFinTournois(), afficherNouvellePartie(), afficherPartie(), finirPartie(), lancerRegle(), lancerTournois(), et testerEtatPartie().

469 {
470  ui->ecranDarts->setCurrentIndex(page);
471 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ allerPagePrecedente

void Ihm::allerPagePrecedente ( )
slot

Méthode qui permet de changer de QStackedWidget avec la Précédente.

Définition à la ligne 478 du fichier ihm.cpp.

Références NbPages, et ui.

Référencé par attribuerRaccourcisClavier().

479 {
480  int ecranCourant = ui->ecranDarts->currentIndex();
481  int ecranPrecedent = (ecranCourant-1)%int(Ihm::NbPages);
482  if(ecranPrecedent == -1)
483  ecranPrecedent = NbPages-1;
484  ui->ecranDarts->setCurrentIndex(ecranPrecedent);
485 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ allerPageSuivante

void Ihm::allerPageSuivante ( )
slot

Méthode qui permet de changer de QStackedWidget avec la suivante.

Définition à la ligne 455 du fichier ihm.cpp.

Références NbPages, et ui.

Référencé par attribuerRaccourcisClavier().

456 {
457  int ecranCourant = Page(ui->ecranDarts->currentIndex());
458  int ecranSuivant = (ecranCourant+1)%int(Ihm::NbPages);
459  ui->ecranDarts->setCurrentIndex(ecranSuivant);
460 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
Page
Définit les différentes pages de l&#39;IHM.
Definition: ihm.h:72

◆ attribuerRaccourcisClavier()

void Ihm::attribuerRaccourcisClavier ( )
private

Méthode qui initialise les raccourcis clavier.

Définition à la ligne 112 du fichier ihm.cpp.

Références allerPagePrecedente(), allerPageSuivante(), et fermerApplication().

Référencé par Ihm().

113 {
114  QAction *quitter = new QAction(this);
115  quitter->setShortcut(QKeySequence(QKeySequence(Qt::Key_Up))); //fleche du haut pour quitter l'application
116  addAction(quitter);
117  connect(quitter, SIGNAL(triggered()), this, SLOT(fermerApplication())); // Pour fermer l'application
118 
119 #ifndef QT_NO_DEBUG_OUTPUT
120  QAction *actionAllerDroite = new QAction(this);
121  actionAllerDroite->setShortcut(QKeySequence(Qt::Key_Right));
122  addAction(actionAllerDroite);
123  connect(actionAllerDroite, SIGNAL(triggered()), this, SLOT(allerPageSuivante()));// Pour passer à l'écran suivant
124  QAction *actionAllerGauche = new QAction(this);
125  actionAllerGauche->setShortcut(QKeySequence(Qt::Key_Left));
126  addAction(actionAllerGauche);
127  connect(actionAllerGauche, SIGNAL(triggered()), this, SLOT(allerPagePrecedente()));// Pour revenir à l'écran précédent
128 #endif
129 }
void allerPageSuivante()
Méthode qui permet de changer de QStackedWidget avec la suivante.
Definition: ihm.cpp:455
void allerPagePrecedente()
Méthode qui permet de changer de QStackedWidget avec la Précédente.
Definition: ihm.cpp:478
void fermerApplication()
Méthode qui permet de quitter l&#39;application.
Definition: ihm.cpp:492

◆ error

void Ihm::error ( QMediaPlayer::Error  error)
slot

Méthode appelée quand il y a une erreur de vidéo.

Paramètres
error

Définition à la ligne 755 du fichier ihm.cpp.

Références player, et testerEtatPartie().

Référencé par initialiserAffichageRegle().

756 {
757  qDebug() << Q_FUNC_INFO << player->errorString() << error;
759 }
QMediaPlayer * player
objet player
Definition: ihm.h:64
void testerEtatPartie()
Méthode appelée pour remettre l&#39;état dans lequel était la partie avant l&#39;affichage des règles...
Definition: ihm.cpp:696
void error(QMediaPlayer::Error error)
Méthode appelée quand il y a une erreur de vidéo.
Definition: ihm.cpp:755

◆ fermerApplication

void Ihm::fermerApplication ( )
slot

Méthode qui permet de quitter l'application.

Définition à la ligne 492 du fichier ihm.cpp.

Référencé par attribuerRaccourcisClavier().

493 {
494  this->close();
495 }

◆ finirPartie

void Ihm::finirPartie ( QString  gagnant,
int  voleeMaxJoueur,
bool  tournois 
)
slot

Méthode qui met à jour l'affichage quand la partie est fini.

Paramètres
gagnant
voleeMaxJoueur

Définition à la ligne 381 du fichier ihm.cpp.

Références afficherDureePartie(), allerPage(), darts, Darts::getDernierJoueur(), Darts::getListJoueur(), Darts::getNbVolees(), Darts::getPremierJoueur(), musique, PageStatistique, player, timerHorloge, et ui.

Référencé par initialiserEvenements().

382 {
383  player->stop();
384  musique.play();
385 
386  if(tournois == true)
387  {
388  ui->labelMoyenneVoleesStatistique->setVisible(true);
389  ui->moyenneVolees->setText(darts->getListJoueur()[darts->getPremierJoueur()].getNom() + " ➠ " + QString::number(darts->getListJoueur()[darts->getPremierJoueur()].getMoyenneVolee()) + "\n" + darts->getListJoueur()[darts->getDernierJoueur()].getNom() + " ➠ " +QString::number(darts->getListJoueur()[darts->getDernierJoueur()].getMoyenneVolee()));
390  ui->moyenneVolees->setVisible(true);
391  }
392 
393  disconnect(timerHorloge, SIGNAL(timeout()), this, SLOT(afficherDureePartie())); // Pour le comptage et l'affichage de la durée d'une séance
394  ui->winnerPartie->setText(gagnant);
395  ui->voleeMax->setText(QString::number(voleeMaxJoueur) + " points");
396  ui->nbVolees->setText(QString::number(darts->getNbVolees()));
397  //communication->miseAJourEtatPartieFin();
399 }
QList< Joueur > getListJoueur() const
Retourne une liste des joueurs.
Definition: darts.cpp:66
QMediaPlayer * player
objet player
Definition: ihm.h:64
QSound musique
objet musique
Definition: ihm.h:56
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
int getPremierJoueur() const
Retourne le premier Joueur a jouer.
Definition: darts.cpp:110
QTimer * timerHorloge
objet timerHorloge
Definition: ihm.h:53
void afficherDureePartie()
Affiche la durée d&#39;une Seance(slot)
Definition: ihm.cpp:533
Darts * darts
objet darts
Definition: ihm.h:55
void allerPage(Ihm::Page page)
Méthode qui permet de changer de QStackedWidget avec la Précédente.
Definition: ihm.cpp:468
int getNbVolees() const
Retourne le nombre de volées de la partie.
Definition: darts.cpp:99
int getDernierJoueur() const
Retourne le dernier joueur a jouer.
Definition: darts.cpp:121

◆ initialiserAffichageRegle()

void Ihm::initialiserAffichageRegle ( )
private

Méthode qui initialise l'affichage vidéo des règles.

Définition à la ligne 660 du fichier ihm.cpp.

Références error(), player, stateChanged(), ui, et videoWidget.

Référencé par Ihm().

661 {
662  player = new QMediaPlayer;
663 
664  videoWidget = new QVideoWidget(this);
665  ui->verticalLayoutRegle->addWidget(videoWidget);
666  player->setVideoOutput(videoWidget);
667 
668  connect(player, SIGNAL(stateChanged(QMediaPlayer::State)), this, SLOT(stateChanged(QMediaPlayer::State)));
669  connect(player, SIGNAL(error(QMediaPlayer::Error)), this, SLOT(error(QMediaPlayer::Error)));
670 }
void stateChanged(QMediaPlayer::State state)
Méthode appelée quand l&#39;état de la vidéo change.
Definition: ihm.cpp:730
QMediaPlayer * player
objet player
Definition: ihm.h:64
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
QVideoWidget * videoWidget
objet videoWidget
Definition: ihm.h:65
void error(QMediaPlayer::Error error)
Méthode appelée quand il y a une erreur de vidéo.
Definition: ihm.cpp:755

◆ initialiserAffichageTournois

void Ihm::initialiserAffichageTournois ( QString  modeJeu,
QString  nomTournois 
)
slot

Méthode qui initialise l'affichage du tournois.

Définition à la ligne 766 du fichier ihm.cpp.

Références afficherPretLancerTournois(), darts, Darts::getDernierJoueur(), Darts::getListJoueur(), Darts::getManche(), Darts::getPremierJoueur(), et ui.

Référencé par initialiserEvenements().

767 {
768  ui->tournoisNom->setText("Tournoi " + nomTournois);
769  ui->modeDeJeuTournois->setText(modeJeu);
770 
771  ui->nomJoueurTournois1->setText(darts->getListJoueur()[darts->getPremierJoueur()].getNom());
772  ui->nomJoueurTournois2->setText(darts->getListJoueur()[darts->getDernierJoueur()].getNom());
773 
774  ui->scoreJoueurTournois1->setText(darts->getListJoueur()[darts->getPremierJoueur()].getNom() + "\n⇓\n" + QString::number(darts->getListJoueur()[darts->getPremierJoueur()].getScore()));
775  ui->scoreJoueurTournois2->setText(darts->getListJoueur()[darts->getDernierJoueur()].getNom() + "\n⇓\n" + QString::number(darts->getListJoueur()[darts->getDernierJoueur()].getScore()));
776 
777  ui->moyenneJoueurTournois1->setText(darts->getListJoueur()[darts->getPremierJoueur()].getNom() + "\n⇓\n0" );
778  ui->moyenneJoueurTournois2->setText(darts->getListJoueur()[darts->getDernierJoueur()].getNom() + "\n⇓\n0" );
779 
780  ui->tournoisManche->setText("Manche " + QString::number(darts->getManche()));
781 
783 }
QList< Joueur > getListJoueur() const
Retourne une liste des joueurs.
Definition: darts.cpp:66
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
int getManche() const
Retourne la manche.
Definition: darts.cpp:44
int getPremierJoueur() const
Retourne le premier Joueur a jouer.
Definition: darts.cpp:110
void afficherPretLancerTournois()
Definition: ihm.cpp:522
Darts * darts
objet darts
Definition: ihm.h:55
int getDernierJoueur() const
Retourne le dernier joueur a jouer.
Definition: darts.cpp:121

◆ initialiserEvenements()

void Ihm::initialiserEvenements ( )
private

Méthode qui initialise les connexion signals/slots de Qt.

Définition à la ligne 75 du fichier ihm.cpp.

Références afficherAttenteConfiguration(), afficherAttenteConnexion(), afficherFinTournois(), afficherImpact(), afficherInformationTournois(), afficherNouvellePartie(), afficherPartie(), afficherVoleeAnnulee(), communication, darts, finirPartie(), Darts::getSolution(), initialiserAffichageTournois(), jouerSon(), lancerRegle(), lancerTournois(), mettreAJourCible(), mettreAJourJoueur(), mettreAJourJoueurTournoi(), mettreAJourManche(), mettreAJourMessageStatut(), mettreAJourMoyenneVolee(), mettreAJourMoyenneVoleeTournois(), mettreAJourScore(), mettreAJourScoreTournois(), mettreAJoursolution(), mettrePausePartie(), relancerpartie(), et StopperLectureRegle().

Référencé par Ihm().

76 {
77  connect(communication, SIGNAL(appareilConnecter()) , this, SLOT(afficherAttenteConfiguration()));
78  connect(communication, SIGNAL(afficherAttenteConnexion()), this, SLOT(afficherAttenteConnexion()));
79  connect(darts, SIGNAL(afficherNouvellePartie()), this, SLOT(afficherPartie()));
80  connect(communication, SIGNAL(resetPartie()), this, SLOT(afficherNouvellePartie()));
81  connect(darts, SIGNAL(finPartie(QString, int, bool)), this, SLOT(finirPartie(QString, int, bool)));
82  connect(darts, SIGNAL(changementJoueurActif()), this, SLOT(mettreAJourJoueur()));
83  connect(darts, SIGNAL(nouvelImpact(int, int, int)), this, SLOT(afficherImpact(int,int)));
84  connect(darts, SIGNAL(miseAJourPoint()), this, SLOT(mettreAJourScore()));
85  connect(darts, SIGNAL(miseAJourPointTournois()), this, SLOT(mettreAJourScoreTournois()));
86  connect(darts, SIGNAL(nouvelleManche()), this, SLOT(mettreAJourManche()));
87  connect(darts, SIGNAL(voleeAnnulee()), this, SLOT(afficherVoleeAnnulee()));
88  connect(darts, SIGNAL(miseAJourMoyenneVolee()), this, SLOT(mettreAJourMoyenneVolee()));
89  connect(darts, SIGNAL(miseAJourMoyenneVoleeTournois()), this, SLOT(mettreAJourMoyenneVoleeTournois()));
90  connect(darts->getSolution(), SIGNAL(solutionTrouver(QString)), this, SLOT(mettreAJoursolution(QString)));
91  connect(darts, SIGNAL(actualiserCible()), this, SLOT(mettreAJourCible()));
92  connect(communication, SIGNAL(pause()), this, SLOT(mettrePausePartie()));
93  connect(communication, SIGNAL(play()), this, SLOT(relancerpartie()));
94  connect(communication, SIGNAL(erreurBluetooth(QString)), this, SLOT(mettreAJourMessageStatut(QString)));
95  connect(darts, SIGNAL(jouerSon(QString)), this, SLOT(jouerSon(QString)));
96  connect(communication, SIGNAL(jouerSon(QString)), this, SLOT(jouerSon(QString)));
97  connect(communication, SIGNAL(afficherRegle(QString)), this, SLOT(lancerRegle(QString)));
98  connect(communication, SIGNAL(stopperRegle()), this, SLOT(StopperLectureRegle()));
99  connect(darts, SIGNAL(afficherTournois(QString, QString)), this, SLOT(initialiserAffichageTournois(QString, QString)));
100  connect(darts, SIGNAL(debuterTournois()), this, SLOT(lancerTournois()));
101  connect(darts, SIGNAL(changementJoueurActifTournoi()), this, SLOT(mettreAJourJoueurTournoi()));
102  connect(darts, SIGNAL(finTournois(QString,QString,QList<Joueur>)), this, SLOT(afficherFinTournois(QString,QString,QList<Joueur>)));
103  connect(darts, SIGNAL(afficherInfoTournois()), this, SLOT(afficherInformationTournois()));
104 
105 }
void mettreAJourMessageStatut(int typePoint, int point)
Méthode qui met à jour le message de statut de la volée en cours.
Definition: ihm.cpp:230
Communication * communication
objet communication
Definition: ihm.h:54
void mettreAJourCible()
Méthode qui reinitialise l&#39;affichage de la cible.
Definition: ihm.cpp:619
void afficherFinTournois(QString nomGagnant, QString nomTournois, QList< Joueur > joueurs)
Méthode qui gère l&#39;affichage quand le tournoi est terminé
Definition: ihm.cpp:846
void jouerSon(QString son)
Méthode qui permet de jouer un son.
Definition: ihm.cpp:645
void lancerRegle(QString regle)
Méthode qui lance la vidéo explicative des regles suivant le type de jeu.
Definition: ihm.cpp:678
void mettreAJourJoueurTournoi()
Méthode qui initialise l&#39;affichage du mode et des joueurs de la partie.
Definition: ihm.cpp:827
void afficherVoleeAnnulee()
Méthode qui affiche le message de statut "volée annulée".
Definition: ihm.cpp:368
void mettrePausePartie()
Mets en pause le chronométrage de la partiee.
Definition: ihm.cpp:571
void mettreAJourMoyenneVolee()
Méthode qui initialise l&#39;affichage du mode et des joueurs de la partie.
Definition: ihm.cpp:305
Solution * getSolution() const
retourne l&#39;objet solution
Definition: darts.cpp:143
void initialiserAffichageTournois(QString modeJeu, QString nomTournois)
Méthode qui initialise l&#39;affichage du tournois.
Definition: ihm.cpp:766
void finirPartie(QString gagnant, int voleeMaxJoueur, bool tournois)
Méthode qui met à jour l&#39;affichage quand la partie est fini.
Definition: ihm.cpp:381
void afficherPartie()
Méthode qui met a jour le mode de jeu et la page actif.
Definition: ihm.cpp:348
void afficherImpact(int typePoint, int point)
Méthode qui affiche la cible correspondante à l&#39;impact (si fichier Image Impact et disponible) et les...
Definition: ihm.cpp:202
void afficherInformationTournois()
Méthode qui gère l&#39;affichage des informations du tournoi.
Definition: ihm.cpp:873
void mettreAJourManche()
Méthode qui met à jour le numero de la manche.
Definition: ihm.cpp:189
Darts * darts
objet darts
Definition: ihm.h:55
void afficherNouvellePartie()
Méthode qui met à jour l&#39;affichage pour lancer une nouvelle partie.
Definition: ihm.cpp:406
void mettreAJoursolution(QString solution)
Affiche les solutions possibles pour finir la parties.
Definition: ihm.cpp:559
void mettreAJourMoyenneVoleeTournois()
Méthode qui met a jour la moyenne des Volee du joueur.
Definition: ihm.cpp:816
void mettreAJourJoueur()
Méthode qui initialise l&#39;affichage du mode et des joueurs de la partie.
Definition: ihm.cpp:258
void StopperLectureRegle()
methode qui stop la lecture de la musique
Definition: ihm.cpp:744
void relancerpartie()
relancer le chronométrage de la partie
Definition: ihm.cpp:592
void mettreAJourScore()
Méthode qui met à jour le score dans L&#39;ihm.
Definition: ihm.cpp:151
void mettreAJourScoreTournois()
methode qui met a jour le score des joueurs des tournois
Definition: ihm.cpp:805
void lancerTournois()
methode qui affiche le l&#39;ecran de tournois
Definition: ihm.cpp:790
void afficherAttenteConnexion()
Méthode qui permet de mettre a jour le message de status "appareil deconnecté".
Definition: ihm.cpp:512
void afficherAttenteConfiguration()
Méthode qui permet de mettre a jour le message de status "nouvelle appareil connecté".
Definition: ihm.cpp:502

◆ initialiserHorloge()

void Ihm::initialiserHorloge ( )
private

initialise l'horloge pour un affichage périodique

Définition à la ligne 607 du fichier ihm.cpp.

Références actualiserHeure(), PERIODE_HORLOGE, et timerHorloge.

Référencé par Ihm().

608 {
609  timerHorloge = new QTimer(this); // Instancie dynamiquement le temporisateur du rafraichissement de l'heure
610  connect(timerHorloge, SIGNAL(timeout()),this,SLOT(actualiserHeure())); // Pour le déclenchement périodique de l'affichage de l'heure
611  timerHorloge->start(PERIODE_HORLOGE); // Toutes les secondes (1000 ms)
612 }
QTimer * timerHorloge
objet timerHorloge
Definition: ihm.h:53
#define PERIODE_HORLOGE
Définit la périodicité de l&#39;horloge en millisecondes.
Definition: ihm.h:26
void actualiserHeure()
Méthode qui met a jour l&#39;heure sur l&#39;application.
Definition: ihm.cpp:136

◆ jouerSon

void Ihm::jouerSon ( QString  son)
slot

Méthode qui permet de jouer un son.

Paramètres
son

Définition à la ligne 645 du fichier ihm.cpp.

Références CHEMIN_FICHIER_MUSIQUE.

Référencé par initialiserEvenements().

646 {
647  QSound::play(qApp->applicationDirPath() + CHEMIN_FICHIER_MUSIQUE + son);
648  if(!QFileInfo(qApp->applicationDirPath() + CHEMIN_FICHIER_MUSIQUE + son).exists())
649  {
650  qDebug() << Q_FUNC_INFO << "Pour avoir les sons, ajouter le pack disponible à cette adresse dans le build de votre application:"<<endl;
651  qDebug() << Q_FUNC_INFO << "https://drive.google.com/file/d/1vH0tLe8lsu2VQLISDL94nJBA2arfLcbG/view?usp=sharing"<<endl;
652  }
653 }
#define CHEMIN_FICHIER_MUSIQUE
Définit le chemin pour les sons.
Definition: ihm.h:32

◆ lancerRegle

void Ihm::lancerRegle ( QString  regle)
slot

Méthode qui lance la vidéo explicative des regles suivant le type de jeu.

Paramètres
regle

Définition à la ligne 678 du fichier ihm.cpp.

Références allerPage(), communication, Communication::getEtatPartie(), Communication::miseAJourEtatPartieRegle(), musique, musiquePause, PageRegle, player, et sauverEtatPartie.

Référencé par initialiserEvenements().

679 {
682 
683  player->setMedia(QUrl::fromLocalFile(QCoreApplication::applicationDirPath() + QString("/" + regle + ".mp4")));
684 
685  musiquePause.stop();
686  musique.stop();
688  player->play();
689 }
Communication * communication
objet communication
Definition: ihm.h:54
QMediaPlayer * player
objet player
Definition: ihm.h:64
QSound musiquePause
objet musiquePause
Definition: ihm.h:57
QSound musique
objet musique
Definition: ihm.h:56
int sauverEtatPartie
Contient l&#39;état de la partie avant l&#39;affichage des règles.
Definition: ihm.h:59
void allerPage(Ihm::Page page)
Méthode qui permet de changer de QStackedWidget avec la Précédente.
Definition: ihm.cpp:468
int getEtatPartie()
Méthode qui permet de recuperer l&#39;etat de la partie.
void miseAJourEtatPartieRegle()
Méthode appelé pour mettre à jour l&#39;état de la partie à regle.

◆ lancerTournois

void Ihm::lancerTournois ( )
slot

methode qui affiche le l'ecran de tournois

Définition à la ligne 790 du fichier ihm.cpp.

Références afficherDureePartie(), allerPage(), compteurDureePartie, musique, PageTournois, et timerHorloge.

Référencé par initialiserEvenements().

791 {
792  musique.stop();
793 
795  connect(timerHorloge, SIGNAL(timeout()),this,SLOT(afficherDureePartie())); // Pour le comptage et l'affichage de la durée d'une séance
796 
798 }
QSound musique
objet musique
Definition: ihm.h:56
QTimer * timerHorloge
objet timerHorloge
Definition: ihm.h:53
void afficherDureePartie()
Affiche la durée d&#39;une Seance(slot)
Definition: ihm.cpp:533
void allerPage(Ihm::Page page)
Méthode qui permet de changer de QStackedWidget avec la Précédente.
Definition: ihm.cpp:468
int compteurDureePartie
compteur de secondes pour la durée d&#39;une séance
Definition: ihm.h:58

◆ mettreAJourCible

void Ihm::mettreAJourCible ( )
slot

Méthode qui reinitialise l'affichage de la cible.

Définition à la ligne 619 du fichier ihm.cpp.

Références messageStatut, sauvegardeImpactEncours, et ui.

Référencé par afficherNouvellePartie(), et initialiserEvenements().

620 {
621  ui->labelVisualisationimpact->setPixmap(QPixmap(":/ressources/cible.png"));
622  ui->ImpactCibleTournois->setPixmap(QPixmap(":/ressources/cible.png"));
623  sauvegardeImpactEncours = ui->labelVisualisationimpact->pixmap()->copy();
624  messageStatut = "Volée ➤";
625 }
QPixmap sauvegardeImpactEncours
sauvegarde le QPixmap de l&#39;état de la cible
Definition: ihm.h:60
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
QString messageStatut
contient le message de statut qui est affiché
Definition: ihm.h:61

◆ mettreAJourJoueur

void Ihm::mettreAJourJoueur ( )
slot

Méthode qui initialise l'affichage du mode et des joueurs de la partie.

Définition à la ligne 258 du fichier ihm.cpp.

Références darts, Darts::getJoueurActif(), Darts::getListJoueur(), et ui.

Référencé par afficherPartie(), et initialiserEvenements().

259 {
260  QString nomjoueur;
261 
262  int premierJoueurAfficher = 0;
263  int dernierJoueurAfficher = darts->getListJoueur().size();
264 
265  if(darts->getListJoueur().size() > 7)
266  {
267  premierJoueurAfficher = darts->getJoueurActif();
268  dernierJoueurAfficher = darts->getJoueurActif() + 6;
269 
270  while(dernierJoueurAfficher > darts->getListJoueur().size() || premierJoueurAfficher < 0)
271  {
272  if(premierJoueurAfficher < 0)
273  {
274  premierJoueurAfficher++;
275  dernierJoueurAfficher++;
276  }
277 
278  if(dernierJoueurAfficher > darts->getListJoueur().size())
279  {
280  premierJoueurAfficher--;
281  dernierJoueurAfficher--;
282  }
283  }
284  }
285 
286  for(int i = premierJoueurAfficher; i < dernierJoueurAfficher; i++)
287  {
288  if(i == darts->getJoueurActif()) // test si le joueur est le joueur qui doit jouer
289  {
290  nomjoueur += " ⟼ " + darts->getListJoueur()[i].getNom() + "\n"; //joueur joue
291  }
292  else
293  {
294  nomjoueur += " " + darts->getListJoueur()[i].getNom() + "\n"; //joueur en attente de son tour //
295  }
296  }
297  ui->nomJoueur->setText(nomjoueur);
298 }
QList< Joueur > getListJoueur() const
Retourne une liste des joueurs.
Definition: darts.cpp:66
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
Darts * darts
objet darts
Definition: ihm.h:55
int getJoueurActif() const
Retourne le numéro du joueur actif.
Definition: darts.cpp:88

◆ mettreAJourJoueurTournoi

void Ihm::mettreAJourJoueurTournoi ( )
slot

Méthode qui initialise l'affichage du mode et des joueurs de la partie.

Définition à la ligne 827 du fichier ihm.cpp.

Références darts, Darts::getDernierJoueur(), Darts::getJoueurActif(), Darts::getListJoueur(), Darts::getPremierJoueur(), et ui.

Référencé par initialiserEvenements().

828 {
830  {
831  ui->nomJoueurTournois1->setText("↣ " + darts->getListJoueur()[darts->getPremierJoueur()].getNom() + " ↢");
832  ui->nomJoueurTournois2->setText(darts->getListJoueur()[darts->getDernierJoueur()].getNom());
833  }
834  else
835  {
836  ui->nomJoueurTournois1->setText(darts->getListJoueur()[darts->getPremierJoueur()].getNom());
837  ui->nomJoueurTournois2->setText("↣ " + darts->getListJoueur()[darts->getDernierJoueur()].getNom() + " ↢");
838  }
839 }
QList< Joueur > getListJoueur() const
Retourne une liste des joueurs.
Definition: darts.cpp:66
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
int getPremierJoueur() const
Retourne le premier Joueur a jouer.
Definition: darts.cpp:110
Darts * darts
objet darts
Definition: ihm.h:55
int getJoueurActif() const
Retourne le numéro du joueur actif.
Definition: darts.cpp:88
int getDernierJoueur() const
Retourne le dernier joueur a jouer.
Definition: darts.cpp:121

◆ mettreAJourManche

void Ihm::mettreAJourManche ( )
slot

Méthode qui met à jour le numero de la manche.

Définition à la ligne 189 du fichier ihm.cpp.

Références darts, Darts::getManche(), et ui.

Référencé par initialiserEvenements().

190 {
191  ui->manche->setText(QString::number(darts->getManche()));
192  ui->tournoisManche->setText("Manche " + QString::number(darts->getManche()));
193 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
int getManche() const
Retourne la manche.
Definition: darts.cpp:44
Darts * darts
objet darts
Definition: ihm.h:55

◆ mettreAJourMessageStatut() [1/2]

void Ihm::mettreAJourMessageStatut ( int  typePoint,
int  point 
)
private

Méthode qui met à jour le message de statut de la volée en cours.

Paramètres
typePoint
point

Définition à la ligne 230 du fichier ihm.cpp.

Références darts, DOUBLE_POINT, Darts::getPointVolees(), messageStatut, TRIPLE_POINT, ui, et ZERO_POINT.

Référencé par afficherImpact(), et initialiserEvenements().

231 {
232 
233  switch(typePoint){
234  case TRIPLE_POINT:
235  messageStatut += " T" + QString::number(point);
236  break;
237  case DOUBLE_POINT:
238  messageStatut += " D" + QString::number(point);
239  break;
240  case ZERO_POINT:
241  messageStatut += " " + QString::number(ZERO_POINT);
242  break;
243  default:
244  messageStatut += " " + QString::number(point);
245  break;
246  }
247  ui->labelStatut->setStyleSheet("color: rgb(109, 43,107); border-color: rgb(109, 43,107);");
248  ui->labelStatut->setText(messageStatut + " ⟼ " +QString::number(darts->getPointVolees()) + " Point(s)");
249  ui->statutImpactTournois->setText(messageStatut + " ⟼ " +QString::number(darts->getPointVolees()) + " Point(s)");
250 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
int getPointVolees() const
Retourne la manche.
Definition: darts.cpp:55
#define ZERO_POINT
Definition: darts.h:21
QString messageStatut
contient le message de statut qui est affiché
Definition: ihm.h:61
#define TRIPLE_POINT
Definition: darts.h:18
Darts * darts
objet darts
Definition: ihm.h:55
#define DOUBLE_POINT
Definition: darts.h:19

◆ mettreAJourMessageStatut [2/2]

void Ihm::mettreAJourMessageStatut ( QString  statut)
slot

Méthode qui met à jour le message de statut.

Paramètres
statut

Définition à la ligne 633 du fichier ihm.cpp.

Références ui.

634 {
635  ui->labelStatutAttente->setText(statut);
636 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ mettreAJourMoyenneVolee

void Ihm::mettreAJourMoyenneVolee ( )
slot

Méthode qui initialise l'affichage du mode et des joueurs de la partie.

Définition à la ligne 305 du fichier ihm.cpp.

Références darts, Darts::getListJoueur(), et ui.

Référencé par initialiserEvenements().

306 {
307  QString moyenneVoleeJoueur;
308  QString moyenneVoleesJoueur;
309 
310  int premierJoueurAfficher = 0;
311  int dernierJoueurAfficher = darts->getListJoueur().size();
312 
313  if(darts->getListJoueur().size() > 7)
314  {
315  for(int i = premierJoueurAfficher; i < 7; i++)
316  {
317  moyenneVoleeJoueur += darts->getListJoueur()[i].getNom() + " : " + QString::number(darts->getListJoueur()[i].getMoyenneVolee()) +" \n"; //" " +
318  }
319 
320  for(int i = 7; i < dernierJoueurAfficher; i++)
321  {
322  moyenneVoleesJoueur += darts->getListJoueur()[i].getNom() + " : " + QString::number(darts->getListJoueur()[i].getMoyenneVolee()) +" \n"; //" " +
323  }
324 
325  ui->moyenneVolee->setText(moyenneVoleeJoueur);
326  ui->lineSeparateurMoyenne->setVisible(true);
327  ui->moyenneVolee2->setText(moyenneVoleesJoueur);
328  }
329  else
330  {
331  for(int i = premierJoueurAfficher; i < dernierJoueurAfficher; i++)
332  {
333  moyenneVoleeJoueur += darts->getListJoueur()[i].getNom() + " : " + QString::number(darts->getListJoueur()[i].getMoyenneVolee()) +" \n"; //" " +
334  }
335  ui->moyenneVolee->setText(moyenneVoleeJoueur);
336  }
337  ui->labelMoyenneVolees->setVisible(true);
338  ui->lineScoreActuel->setVisible(true);
339  ui->labelMoyenneVoleesStatistique->setVisible(true);
340  ui->moyenneVolees->setText(moyenneVoleeJoueur + moyenneVoleesJoueur);
341 }
QList< Joueur > getListJoueur() const
Retourne une liste des joueurs.
Definition: darts.cpp:66
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
Darts * darts
objet darts
Definition: ihm.h:55

◆ mettreAJourMoyenneVoleeTournois

void Ihm::mettreAJourMoyenneVoleeTournois ( )
slot

Méthode qui met a jour la moyenne des Volee du joueur.

Définition à la ligne 816 du fichier ihm.cpp.

Références darts, Darts::getDernierJoueur(), Darts::getListJoueur(), Darts::getPremierJoueur(), et ui.

Référencé par initialiserEvenements().

817 {
818  ui->moyenneJoueurTournois1->setText(darts->getListJoueur()[darts->getPremierJoueur()].getNom() + "\n⇓\n" + QString::number(darts->getListJoueur()[darts->getPremierJoueur()].getMoyenneVolee()));
819  ui->moyenneJoueurTournois2->setText(darts->getListJoueur()[darts->getDernierJoueur()].getNom() + "\n⇓\n" +QString::number(darts->getListJoueur()[darts->getDernierJoueur()].getMoyenneVolee()));
820 }
QList< Joueur > getListJoueur() const
Retourne une liste des joueurs.
Definition: darts.cpp:66
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
int getPremierJoueur() const
Retourne le premier Joueur a jouer.
Definition: darts.cpp:110
Darts * darts
objet darts
Definition: ihm.h:55
int getDernierJoueur() const
Retourne le dernier joueur a jouer.
Definition: darts.cpp:121

◆ mettreAJourScore

void Ihm::mettreAJourScore ( )
slot

Méthode qui met à jour le score dans L'ihm.

Définition à la ligne 151 du fichier ihm.cpp.

Références darts, Darts::getJoueurActif(), Darts::getListJoueur(), et ui.

Référencé par afficherPartie(), et initialiserEvenements().

152 {
153  QString score;
154  int premierJoueurAfficher = 0;
155  int dernierJoueurAfficher = darts->getListJoueur().size();
156 
157  if(darts->getListJoueur().size() > 7)
158  {
159  premierJoueurAfficher = darts->getJoueurActif();
160  dernierJoueurAfficher = darts->getJoueurActif() + 6;
161 
162  while(dernierJoueurAfficher > darts->getListJoueur().size() || premierJoueurAfficher < 0)
163  {
164  if(premierJoueurAfficher < 0)
165  {
166  premierJoueurAfficher++;
167  dernierJoueurAfficher++;
168  }
169 
170  if(dernierJoueurAfficher > darts->getListJoueur().size())
171  {
172  premierJoueurAfficher--;
173  dernierJoueurAfficher--;
174  }
175  }
176  }
177  for(int i = premierJoueurAfficher; i < dernierJoueurAfficher; i++)
178  {
179  score += darts->getListJoueur()[i].getNom() + " : " + QString::number(darts->getListJoueur()[i].getScore()) + "\n"; // " " +
180  }
181  ui->scoreActuel->setText(score);
182 }
QList< Joueur > getListJoueur() const
Retourne une liste des joueurs.
Definition: darts.cpp:66
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
Darts * darts
objet darts
Definition: ihm.h:55
int getJoueurActif() const
Retourne le numéro du joueur actif.
Definition: darts.cpp:88

◆ mettreAJourScoreTournois

void Ihm::mettreAJourScoreTournois ( )
slot

methode qui met a jour le score des joueurs des tournois

Définition à la ligne 805 du fichier ihm.cpp.

Références darts, Darts::getDernierJoueur(), Darts::getListJoueur(), Darts::getPremierJoueur(), et ui.

Référencé par initialiserEvenements().

806 {
807  ui->scoreJoueurTournois1->setText(darts->getListJoueur()[darts->getPremierJoueur()].getNom() + "\n⇓\n" + QString::number(darts->getListJoueur()[darts->getPremierJoueur()].getScore()));
808  ui->scoreJoueurTournois2->setText(darts->getListJoueur()[darts->getDernierJoueur()].getNom() + "\n⇓\n" + QString::number(darts->getListJoueur()[darts->getDernierJoueur()].getScore()));
809 }
QList< Joueur > getListJoueur() const
Retourne une liste des joueurs.
Definition: darts.cpp:66
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
int getPremierJoueur() const
Retourne le premier Joueur a jouer.
Definition: darts.cpp:110
Darts * darts
objet darts
Definition: ihm.h:55
int getDernierJoueur() const
Retourne le dernier joueur a jouer.
Definition: darts.cpp:121

◆ mettreAJoursolution

void Ihm::mettreAJoursolution ( QString  solution)
slot

Affiche les solutions possibles pour finir la parties.

Paramètres
solution

Définition à la ligne 559 du fichier ihm.cpp.

Références ui.

Référencé par initialiserEvenements().

560 {
561  ui->labelStatut->setStyleSheet("color: rgb(179, 0,5); border-color: rgb(179, 0,5);");
562  ui->labelStatut->setText(solution);
563  ui->statutImpactTournois->setText(solution);
564 }
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52

◆ mettrePausePartie

void Ihm::mettrePausePartie ( )
slot

Mets en pause le chronométrage de la partiee.

Définition à la ligne 571 du fichier ihm.cpp.

Références afficherDureePartie(), musiquePause, sauvegardeImpactEncours, timerHorloge, et ui.

Référencé par initialiserEvenements().

572 {
573  disconnect(timerHorloge, SIGNAL(timeout()),this,SLOT(afficherDureePartie())); // mettre en pause le chronometrage de la partie
574  sauvegardeImpactEncours = ui->labelVisualisationimpact->pixmap()->copy();
575  QImage pause(":pause.png");
576  QPixmap cibleImpacte = ui->labelVisualisationimpact->pixmap()->copy(); // on récupère l'image précédente;
577  QPainter p(&cibleImpacte);
578  p.drawImage(QPoint(0, 0), pause);
579  p.end();
580  ui->labelVisualisationimpact->setPixmap(cibleImpacte);
581  ui->ImpactCibleTournois->setPixmap(cibleImpacte);
582  ui->labelTempsPartie->setStyleSheet("color: rgb(179, 0,5);");
583 
584  musiquePause.play();
585 }
QPixmap sauvegardeImpactEncours
sauvegarde le QPixmap de l&#39;état de la cible
Definition: ihm.h:60
QSound musiquePause
objet musiquePause
Definition: ihm.h:57
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
QTimer * timerHorloge
objet timerHorloge
Definition: ihm.h:53
void afficherDureePartie()
Affiche la durée d&#39;une Seance(slot)
Definition: ihm.cpp:533

◆ relancerpartie

void Ihm::relancerpartie ( )
slot

relancer le chronométrage de la partie

Définition à la ligne 592 du fichier ihm.cpp.

Références afficherDureePartie(), musiquePause, sauvegardeImpactEncours, timerHorloge, et ui.

Référencé par initialiserEvenements(), et testerEtatPartie().

593 {
594  ui->labelVisualisationimpact->setPixmap(sauvegardeImpactEncours);
595  ui->ImpactCibleTournois->setPixmap(sauvegardeImpactEncours);
596  ui->labelTempsPartie->setStyleSheet("color: rgb(109, 43,107);");
597  connect(timerHorloge, SIGNAL(timeout()),this,SLOT(afficherDureePartie())); // relancer le chronometrage de la partie
598  qDebug() << Q_FUNC_INFO << endl;
599  musiquePause.stop();
600 }
QPixmap sauvegardeImpactEncours
sauvegarde le QPixmap de l&#39;état de la cible
Definition: ihm.h:60
QSound musiquePause
objet musiquePause
Definition: ihm.h:57
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
QTimer * timerHorloge
objet timerHorloge
Definition: ihm.h:53
void afficherDureePartie()
Affiche la durée d&#39;une Seance(slot)
Definition: ihm.cpp:533

◆ stateChanged

void Ihm::stateChanged ( QMediaPlayer::State  state)
slot

Méthode appelée quand l'état de la vidéo change.

Paramètres
state

Définition à la ligne 730 du fichier ihm.cpp.

Références testerEtatPartie().

Référencé par initialiserAffichageRegle().

731 {
732  qDebug() << Q_FUNC_INFO << state;
733  if(state == QMediaPlayer::StoppedState)
734  {
736  }
737 }
void testerEtatPartie()
Méthode appelée pour remettre l&#39;état dans lequel était la partie avant l&#39;affichage des règles...
Definition: ihm.cpp:696

◆ StopperLectureRegle

void Ihm::StopperLectureRegle ( )
slot

methode qui stop la lecture de la musique

Définition à la ligne 744 du fichier ihm.cpp.

Références player.

Référencé par initialiserEvenements().

745 {
746  player->stop();
747 }
QMediaPlayer * player
objet player
Definition: ihm.h:64

◆ testerEtatPartie()

void Ihm::testerEtatPartie ( )
private

Méthode appelée pour remettre l'état dans lequel était la partie avant l'affichage des règles.

Définition à la ligne 696 du fichier ihm.cpp.

Références allerPage(), communication, Communication::miseAJourEtatPartieAttente(), Communication::miseAJourEtatPartieEnCours(), Communication::miseAJourEtatPartieFin(), Communication::miseAJourEtatPartiePause(), musique, musiquePause, PageAttente, PageJeu, PageStatistique, relancerpartie(), et sauverEtatPartie.

Référencé par error(), et stateChanged().

697 {
698  if(sauverEtatPartie == 0)
699  {
701  musique.play();
703  }
704  else if(sauverEtatPartie == 1)
705  {
708  relancerpartie();
709  }
710  else if(sauverEtatPartie == 2)
711  {
713  musique.play();
715  }
716  else if(sauverEtatPartie == 3)
717  {
719  musiquePause.play();
721  }
722 }
void miseAJourEtatPartieAttente()
Méthode appelé pour mettre à jour l&#39;état de la partie à Attente.
Communication * communication
objet communication
Definition: ihm.h:54
QSound musiquePause
objet musiquePause
Definition: ihm.h:57
QSound musique
objet musique
Definition: ihm.h:56
int sauverEtatPartie
Contient l&#39;état de la partie avant l&#39;affichage des règles.
Definition: ihm.h:59
void miseAJourEtatPartiePause()
Méthode appelé pour mettre à jour l&#39;état de la partie à Pause.
void relancerpartie()
relancer le chronométrage de la partie
Definition: ihm.cpp:592
void allerPage(Ihm::Page page)
Méthode qui permet de changer de QStackedWidget avec la Précédente.
Definition: ihm.cpp:468
void miseAJourEtatPartieFin()
Slot appelé pour mettre à jour l&#39;état de la partie à Fin.
void miseAJourEtatPartieEnCours()
Slot appelé pour mettre à jour l&#39;état de la partie à EnCours.

Documentation des données membres

◆ communication

Communication* Ihm::communication
private

objet communication

Définition à la ligne 54 du fichier ihm.h.

Référencé par Ihm(), initialiserEvenements(), lancerRegle(), et testerEtatPartie().

◆ compteurDureePartie

int Ihm::compteurDureePartie
private

compteur de secondes pour la durée d'une séance

Définition à la ligne 58 du fichier ihm.h.

Référencé par afficherDureePartie(), afficherPartie(), et lancerTournois().

◆ darts

◆ messageStatut

QString Ihm::messageStatut
private

contient le message de statut qui est affiché

Définition à la ligne 61 du fichier ihm.h.

Référencé par mettreAJourCible(), et mettreAJourMessageStatut().

◆ musique

QSound Ihm::musique
private

objet musique

Définition à la ligne 56 du fichier ihm.h.

Référencé par afficherNouvellePartie(), afficherPartie(), finirPartie(), lancerRegle(), lancerTournois(), et testerEtatPartie().

◆ musiquePause

QSound Ihm::musiquePause
private

objet musiquePause

Définition à la ligne 57 du fichier ihm.h.

Référencé par afficherNouvellePartie(), lancerRegle(), mettrePausePartie(), relancerpartie(), et testerEtatPartie().

◆ player

QMediaPlayer* Ihm::player
private

objet player

Définition à la ligne 64 du fichier ihm.h.

Référencé par afficherNouvellePartie(), error(), finirPartie(), initialiserAffichageRegle(), lancerRegle(), et StopperLectureRegle().

◆ sauvegardeImpactEncours

QPixmap Ihm::sauvegardeImpactEncours
private

sauvegarde le QPixmap de l'état de la cible

Définition à la ligne 60 du fichier ihm.h.

Référencé par mettreAJourCible(), mettrePausePartie(), et relancerpartie().

◆ sauverEtatPartie

int Ihm::sauverEtatPartie
private

Contient l'état de la partie avant l'affichage des règles.

Définition à la ligne 59 du fichier ihm.h.

Référencé par lancerRegle(), et testerEtatPartie().

◆ timerHorloge

QTimer* Ihm::timerHorloge
private

objet timerHorloge

Définition à la ligne 53 du fichier ihm.h.

Référencé par afficherPartie(), finirPartie(), initialiserHorloge(), lancerTournois(), mettrePausePartie(), et relancerpartie().

◆ ui

◆ videoWidget

QVideoWidget* Ihm::videoWidget
private

objet videoWidget

Définition à la ligne 65 du fichier ihm.h.

Référencé par initialiserAffichageRegle().


La documentation de cette classe a été générée à partir des fichiers suivants :