Projet Darts  0.2
BTS SNIR LaSalle Avignon 2020
ihm.h
Aller à la documentation de ce fichier.
1 #ifndef IHM_H
2 #define IHM_H
3 
13 #include "communication.h"
14 #include "darts.h"
15 #include <QWidget>
16 #include <QTimer>
17 #include <QSound>
18 
19 #include <QtMultimedia>
20 #include <QtMultimediaWidgets>
21 
26 #define PERIODE_HORLOGE 1000
27 
32 #define CHEMIN_FICHIER_MUSIQUE "/son/"
33 
34 namespace Ui {
35 class Ihm;
36 }
37 
43 class Ihm : public QWidget
44 {
45  Q_OBJECT
46 
47 public:
48  explicit Ihm(QWidget *parent = nullptr);
49  ~Ihm();
50 
51 private:
52  Ui::Ihm *ui;
53  QTimer *timerHorloge;
56  QSound musique;
57  QSound musiquePause;
61  QString messageStatut;
62 
63  //objet pour l'affichage video
64  QMediaPlayer *player;
65  QVideoWidget *videoWidget;
66 
72  enum Page
73  {
74  PageAttente = 0,
80  NbPages
81  };
82 
83  void attribuerRaccourcisClavier();
84  void initialiserEvenements();
85  void initialiserHorloge();
86  void mettreAJourMessageStatut(int typePoint, int point);
87  void initialiserAffichageRegle();
88  void testerEtatPartie();
89 
90 public slots:
91  void actualiserHeure();
92  void allerPage(Ihm::Page page);
93  void allerPagePrecedente();
94  void allerPageSuivante();
95  void fermerApplication();
96  void afficherAttenteConfiguration();
97  void afficherAttenteConnexion();
98  void afficherPretLancerTournois();
99  void afficherImpact(int typePoint, int point);
100  void afficherPartie();
101  void mettreAJourScore();
102  void mettreAJourManche();
103  void mettreAJourMoyenneVolee();
104  void mettreAJourMoyenneVoleeTournois();
105  void afficherVoleeAnnulee();
106  void afficherNouvellePartie();
107  void finirPartie(QString gagnant, int voleeMaxJoueur, bool tournois);
108  void mettreAJourJoueur();
109  void afficherDureePartie();
110  void mettreAJoursolution(QString solution);
111  void mettrePausePartie();
112  void relancerpartie();
113  void mettreAJourCible();
114  void mettreAJourMessageStatut(QString);
115  void jouerSon(QString son);
116  void lancerRegle(QString regle);
117  void stateChanged(QMediaPlayer::State state);
118  void error(QMediaPlayer::Error error);
119  void StopperLectureRegle();
120  void initialiserAffichageTournois(QString modeJeu, QString nomTournois);
121  void lancerTournois();
122  void mettreAJourScoreTournois();
123  void mettreAJourJoueurTournoi();
124  void afficherFinTournois(QString nomGagnant, QString nomTournois, QList<Joueur> joueurs);
125  void afficherInformationTournois();
126 };
127 
128 #endif // IHM_H
Déclaration de la classe Communication (Module Ecran-DARTS)
Communication * communication
objet communication
Definition: ihm.h:54
QPixmap sauvegardeImpactEncours
sauvegarde le QPixmap de l&#39;état de la cible
Definition: ihm.h:60
Definition: ihm.h:34
QMediaPlayer * player
objet player
Definition: ihm.h:64
QSound musiquePause
objet musiquePause
Definition: ihm.h:57
Déclaration de la classe Darts (Module Ecran-DARTS)
QSound musique
objet musique
Definition: ihm.h:56
Ui::Ihm * ui
object de notre Ihm
Definition: ihm.h:52
int sauverEtatPartie
Contient l&#39;état de la partie avant l&#39;affichage des règles.
Definition: ihm.h:59
QString messageStatut
contient le message de statut qui est affiché
Definition: ihm.h:61
Page
Définit les différentes pages de l&#39;IHM.
Definition: ihm.h:72
QTimer * timerHorloge
objet timerHorloge
Definition: ihm.h:53
Darts * darts
objet darts
Definition: ihm.h:55
QVideoWidget * videoWidget
objet videoWidget
Definition: ihm.h:65
Déclaration de la classe Darts (Module Ecran-DARTS)
Definition: darts.h:33
Déclaration de la classe Ihm (Module Ecran-DARTS)
Definition: ihm.h:43
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