Projet TTPA (Table Tennis Performance Analyser)  1.3
BTS SN 2019
Types publics | Connecteurs publics | Signaux | Fonctions membres publiques | Fonctions membres privées | Attributs privés | Liste de tous les membres
Référence de la classe StatistiquesSeance

#include <statistiquesseance.h>

Graphe de collaboration de StatistiquesSeance:
Collaboration graph

Types publics

enum  Zone {
  ZoneNonDefinie = -1, Zone1 = 0, Zone2, Zone3,
  Zone4, Zone5, Zone6, Zone7,
  NbZonesImpact, ZoneHorsTable, NbZonesTotales
}
 

Connecteurs publics

void finirSeance ()
 fini la seance Plus de détails...
 

Signaux

void affichageZone (int numeroZone, int nbImpacts, QString pourcentage)
 
void ballesTotales (int nbBallesTotales, int nbBallesTotalesTable)
 
void ballesTotalesHorsTable (int ballesToucheTable)
 
void ballesBonnes (int nbBallesBonnes)
 

Fonctions membres publiques

 StatistiquesSeance (QObject *parent=nullptr)
 
 ~StatistiquesSeance ()
 Destructeur de la seance. Plus de détails...
 
bool impacterZone (uint8_t numeroZone)
 Calcul et affiche l'impact sur l'IHM et la table. Plus de détails...
 
void initialiserStatistiques ()
 initialise les statistiques Plus de détails...
 
int getBallesBonnes ()
 
int getBallesTotal ()
 récupère les donnésde la zone du robot Plus de détails...
 
int getBallesHorsTable ()
 récupère les donnés des balles hors table Plus de détails...
 
int getballesPrecedentToucheTable ()
 récupère les donnés des balles ayant touché précédament la table Plus de détails...
 
int getballesToucheTable ()
 récupère les donnés des balles récupère les donnés des balles ayant touché la table Plus de détails...
 
int getBallesEnchainees ()
 
int getZoneObjectif ()
 récupère les donnés de la zone de l'objectif Plus de détails...
 
void setZoneObjectif (int numeroZone)
 définie la Zone où sera la zone objectif Plus de détails...
 
int getZoneRobot ()
 
void setZoneRobot (int numeroZone)
 définie la Zone où sera la zone robot Plus de détails...
 
QString calculerPourcentage (int nbImpactsZone)
 calcul le pourcentage de chaque zone sur le nombre de balle Plus de détails...
 
void afficherStatistiquesZones ()
 affiche les statistiques (impact et pourcentage) de toutes les zones Plus de détails...
 
void afficherStatistiquesBallesTotales ()
 affiche le nombre de balle total et nombre total de balle ayant touché la table Plus de détails...
 
void afficherStatistiquesBallesTotalesHorsTable ()
 affiche le nombre de balle hors table Plus de détails...
 
void afficherStatistiqueBallesBonnes ()
 affiche le nombre de balle ayant atteint la zone objectifs Plus de détails...
 

Fonctions membres privées

void calculerStatistiques (uint8_t numeroZone)
 

Attributs privés

int numeroZoneObjectif
 Placement de la zone de l'objectif. Plus de détails...
 
int numeroZoneRobot
 Placement de la zone d'objectif. Plus de détails...
 
QVector< int > nbImpactsZone
 Un vecteur avec le nombre d'impacts dans chaque zone. Plus de détails...
 
int nbBallesBonnes
 Nombre de balles ayant touché la zone objetifs. Plus de détails...
 
int nbBallesTotales
 Nombre de balles total tirées par le robot et jouables. Plus de détails...
 
int nbBallesTotalesTable
 Nombre de balles totales tirées par le robot et ayant impacté la table. Plus de détails...
 
int nbBallesEnchainees
 
int nbBallesEnchaineesMax
 
bool balleToucheTable
 Balle ayant touché la table. Plus de détails...
 
bool ballePrecedenteToucheTable
 Balle précédente qui a touché la table. Plus de détails...
 
bool balleToucheRobot
 Balle ayant touché la table du robot. Plus de détails...
 

Documentation des énumérations membres

◆ Zone

Zone enum, c'est les zones numéroter de 1 à 7 de la table plus une zone non définis et le nombre de zone total

Valeurs énumérées
ZoneNonDefinie 
Zone1 
Zone2 
Zone3 
Zone4 
Zone5 
Zone6 
Zone7 
NbZonesImpact 
ZoneHorsTable 
NbZonesTotales 
30  {
31  ZoneNonDefinie = -1,
32  Zone1 = 0,
33  Zone2,
34  Zone3,
35  Zone4,
36  Zone5,
37  Zone6,
38  Zone7,
39  NbZonesImpact, // 7
40  ZoneHorsTable, // 8
41  NbZonesTotales, // 9
42  };
Definition: statistiquesseance.h:38
Definition: statistiquesseance.h:31
Definition: statistiquesseance.h:35
Definition: statistiquesseance.h:41
Definition: statistiquesseance.h:40
Definition: statistiquesseance.h:37
Definition: statistiquesseance.h:33
Definition: statistiquesseance.h:34
Definition: statistiquesseance.h:36
Definition: statistiquesseance.h:32
Definition: statistiquesseance.h:39

Documentation des constructeurs et destructeur

◆ StatistiquesSeance()

StatistiquesSeance::StatistiquesSeance ( QObject *  parent = nullptr)

Références initialiserStatistiques().

24 {
25  qDebug() << Q_FUNC_INFO;
27 }
Definition: statistiquesseance.h:31
int numeroZoneObjectif
Placement de la zone de l&#39;objectif.
Definition: statistiquesseance.h:63
Definition: statistiquesseance.h:41
int nbBallesBonnes
Nombre de balles ayant touché la zone objetifs.
Definition: statistiquesseance.h:66
QVector< int > nbImpactsZone
Un vecteur avec le nombre d&#39;impacts dans chaque zone.
Definition: statistiquesseance.h:65
int nbBallesTotalesTable
Nombre de balles totales tirées par le robot et ayant impacté la table.
Definition: statistiquesseance.h:68
int numeroZoneRobot
Placement de la zone d&#39;objectif.
Definition: statistiquesseance.h:64
int nbBallesTotales
Nombre de balles total tirées par le robot et jouables.
Definition: statistiquesseance.h:67
void initialiserStatistiques()
initialise les statistiques
Definition: statistiquesseance.cpp:46

◆ ~StatistiquesSeance()

StatistiquesSeance::~StatistiquesSeance ( )
36 {
37  qDebug() << Q_FUNC_INFO;
38 }

Documentation des fonctions membres

◆ affichageZone

void StatistiquesSeance::affichageZone ( int  numeroZone,
int  nbImpacts,
QString  pourcentage 
)
signal

Référencé par afficherStatistiquesZones().

◆ afficherStatistiqueBallesBonnes()

void StatistiquesSeance::afficherStatistiqueBallesBonnes ( )

Références ballesBonnes(), et getBallesBonnes().

Référencé par impacterZone().

207 {
209 }
int getBallesBonnes()
Definition: statistiquesseance.cpp:298
void ballesBonnes(int nbBallesBonnes)

◆ afficherStatistiquesBallesTotales()

void StatistiquesSeance::afficherStatistiquesBallesTotales ( )

Références ballesTotales(), getBallesTotal(), et getballesToucheTable().

Référencé par TtpaIhm::commencerSeance(), et impacterZone().

185 {
187 }
int getballesToucheTable()
récupère les donnés des balles récupère les donnés des balles ayant touché la table ...
Definition: statistiquesseance.cpp:271
void ballesTotales(int nbBallesTotales, int nbBallesTotalesTable)
int getBallesTotal()
récupère les donnésde la zone du robot
Definition: statistiquesseance.cpp:238

◆ afficherStatistiquesBallesTotalesHorsTable()

void StatistiquesSeance::afficherStatistiquesBallesTotalesHorsTable ( )

Références ballesTotalesHorsTable(), et getballesToucheTable().

196 {
198 }
void ballesTotalesHorsTable(int ballesToucheTable)
int getballesToucheTable()
récupère les donnés des balles récupère les donnés des balles ayant touché la table ...
Definition: statistiquesseance.cpp:271

◆ afficherStatistiquesZones()

void StatistiquesSeance::afficherStatistiquesZones ( )

Références affichageZone(), calculerPourcentage(), nbImpactsZone, NbZonesImpact, NbZonesTotales, et Zone1.

Référencé par TtpaIhm::commencerSeance(), et impacterZone().

165 {
166  QString pourcentage;
167  for(uint8_t numeroZone = Zone1; numeroZone < NbZonesTotales; ++numeroZone)
168  {
169  if(numeroZone == NbZonesImpact)
170  continue;
171 
172  pourcentage = calculerPourcentage(nbImpactsZone[numeroZone]);
173  emit affichageZone(numeroZone, nbImpactsZone[numeroZone], pourcentage);
174  qDebug() << Q_FUNC_INFO << "numeroZone=" << numeroZone << "nbImpactsZone" << nbImpactsZone[numeroZone] << "pourcentage" << pourcentage;
175  }
176 }
QString calculerPourcentage(int nbImpactsZone)
calcul le pourcentage de chaque zone sur le nombre de balle
Definition: statistiquesseance.cpp:150
Definition: statistiquesseance.h:41
void affichageZone(int numeroZone, int nbImpacts, QString pourcentage)
QVector< int > nbImpactsZone
Un vecteur avec le nombre d&#39;impacts dans chaque zone.
Definition: statistiquesseance.h:65
Definition: statistiquesseance.h:32
Definition: statistiquesseance.h:39

◆ ballesBonnes

void StatistiquesSeance::ballesBonnes ( int  nbBallesBonnes)
signal

◆ ballesTotales

void StatistiquesSeance::ballesTotales ( int  nbBallesTotales,
int  nbBallesTotalesTable 
)
signal

◆ ballesTotalesHorsTable

void StatistiquesSeance::ballesTotalesHorsTable ( int  ballesToucheTable)
signal

◆ calculerPourcentage()

QString StatistiquesSeance::calculerPourcentage ( int  nbImpactsZone)
Paramètres
nbImpactsZoneint le numéro de zone impacté
Renvoie
QString le pourcentage formaté pour l'affichage "X%"

Références nbBallesTotales.

Référencé par TtpaIhm::afficherStatistiqueEcranResultats(), et afficherStatistiquesZones().

151 {
152  if (nbImpactsZone == 0)
153  return "0 %";
154 
155  return "" + QString::number((double(nbImpactsZone) / double(nbBallesTotales))*100.,'f',0) + " %";
156 }
QVector< int > nbImpactsZone
Un vecteur avec le nombre d&#39;impacts dans chaque zone.
Definition: statistiquesseance.h:65
int nbBallesTotales
Nombre de balles total tirées par le robot et jouables.
Definition: statistiquesseance.h:67

◆ calculerStatistiques()

void StatistiquesSeance::calculerStatistiques ( uint8_t  numeroZone)
private

Références ballePrecedenteToucheTable, balleToucheTable, getZoneObjectif(), getZoneRobot(), nbBallesBonnes, nbBallesEnchainees, nbBallesEnchaineesMax, nbBallesTotales, nbBallesTotalesTable, nbImpactsZone, NbZonesImpact, NbZonesTotales, numeroZoneObjectif, Zone1, ZoneHorsTable, et ZoneNonDefinie.

Référencé par impacterZone().

70 {
71  if(numeroZone == getZoneRobot())
73  else
74  nbImpactsZone[numeroZone] += 1;
75  if(numeroZone == getZoneObjectif())
76  {
78  }
79  qDebug() << Q_FUNC_INFO << "nbBalles zone = " << nbImpactsZone[numeroZone];
80 
82  balleToucheTable = false;
84  balleToucheTable = numeroZone;
85 
87  qDebug() << Q_FUNC_INFO << "nbBallesTotales = " << nbBallesTotales;
88 
90  for(int numeroZone = Zone1; numeroZone < NbZonesTotales; ++numeroZone)
91  {
92  if(numeroZone == NbZonesImpact)
93  continue;
94  if(numeroZone < NbZonesImpact)
95  nbBallesTotalesTable += nbImpactsZone[numeroZone];
96  }
97  qDebug() << Q_FUNC_INFO << "nbBallesTotalesTable = " << nbBallesTotalesTable << "nbBallesBonnes= " << nbBallesBonnes;
98 
99  if (numeroZone != ZoneNonDefinie)
100  {
101  if (numeroZone == numeroZoneObjectif || numeroZoneObjectif == ZoneNonDefinie)
102  {
104  }
105  else
106  {
107  nbBallesEnchainees = 0;
108  }
109  }
110  else
111  nbBallesEnchainees = 0;
112 
115 
116 }
int getZoneRobot()
Definition: statistiquesseance.cpp:216
bool ballePrecedenteToucheTable
Balle précédente qui a touché la table.
Definition: statistiquesseance.h:72
Definition: statistiquesseance.h:31
int numeroZoneObjectif
Placement de la zone de l&#39;objectif.
Definition: statistiquesseance.h:63
Definition: statistiquesseance.h:41
int nbBallesBonnes
Nombre de balles ayant touché la zone objetifs.
Definition: statistiquesseance.h:66
int nbBallesEnchainees
Definition: statistiquesseance.h:69
Definition: statistiquesseance.h:40
QVector< int > nbImpactsZone
Un vecteur avec le nombre d&#39;impacts dans chaque zone.
Definition: statistiquesseance.h:65
int nbBallesTotalesTable
Nombre de balles totales tirées par le robot et ayant impacté la table.
Definition: statistiquesseance.h:68
Definition: statistiquesseance.h:32
int getZoneObjectif()
récupère les donnés de la zone de l&#39;objectif
Definition: statistiquesseance.cpp:282
Definition: statistiquesseance.h:39
int nbBallesTotales
Nombre de balles total tirées par le robot et jouables.
Definition: statistiquesseance.h:67
int nbBallesEnchaineesMax
Definition: statistiquesseance.h:70
bool balleToucheTable
Balle ayant touché la table.
Definition: statistiquesseance.h:71

◆ finirSeance

void StatistiquesSeance::finirSeance ( )
slot

Références ballesBonnes(), ballesTotalesHorsTable(), getBallesBonnes(), et getBallesHorsTable().

137 {
138  //...
141 }
void ballesTotalesHorsTable(int ballesToucheTable)
int getBallesHorsTable()
récupère les donnés des balles hors table
Definition: statistiquesseance.cpp:249
int getBallesBonnes()
Definition: statistiquesseance.cpp:298
void ballesBonnes(int nbBallesBonnes)

◆ getBallesBonnes()

int StatistiquesSeance::getBallesBonnes ( )

Références nbBallesBonnes.

Référencé par afficherStatistiqueBallesBonnes(), TtpaIhm::afficherStatistiqueEcranResultats(), et finirSeance().

299 {
300  return nbBallesBonnes;
301 }
int nbBallesBonnes
Nombre de balles ayant touché la zone objetifs.
Definition: statistiquesseance.h:66

◆ getBallesEnchainees()

int StatistiquesSeance::getBallesEnchainees ( )

Références nbBallesEnchainees.

Référencé par TtpaIhm::afficherStatistiqueEcranResultats().

304 {
305  return nbBallesEnchainees;
306 }
int nbBallesEnchainees
Definition: statistiquesseance.h:69

◆ getBallesHorsTable()

int StatistiquesSeance::getBallesHorsTable ( )
Renvoie

Références nbImpactsZone, et ZoneHorsTable.

Référencé par TtpaIhm::afficherStatistiqueEcranResultats(), et finirSeance().

250 {
252 }
Definition: statistiquesseance.h:40
QVector< int > nbImpactsZone
Un vecteur avec le nombre d&#39;impacts dans chaque zone.
Definition: statistiquesseance.h:65

◆ getballesPrecedentToucheTable()

int StatistiquesSeance::getballesPrecedentToucheTable ( )
Renvoie

Références ballePrecedenteToucheTable.

261 {
263 }
bool ballePrecedenteToucheTable
Balle précédente qui a touché la table.
Definition: statistiquesseance.h:72

◆ getBallesTotal()

int StatistiquesSeance::getBallesTotal ( )

récupère les donnés des balles tiré

Renvoie

Références nbBallesTotales.

Référencé par TtpaIhm::afficherStatistiqueEcranResultats(), et afficherStatistiquesBallesTotales().

239 {
240  return nbBallesTotales;
241 }
int nbBallesTotales
Nombre de balles total tirées par le robot et jouables.
Definition: statistiquesseance.h:67

◆ getballesToucheTable()

int StatistiquesSeance::getballesToucheTable ( )
Renvoie

Références nbBallesTotalesTable.

Référencé par afficherStatistiquesBallesTotales(), et afficherStatistiquesBallesTotalesHorsTable().

272 {
273  return nbBallesTotalesTable;
274 }
int nbBallesTotalesTable
Nombre de balles totales tirées par le robot et ayant impacté la table.
Definition: statistiquesseance.h:68

◆ getZoneObjectif()

int StatistiquesSeance::getZoneObjectif ( )
Renvoie

Références numeroZoneObjectif.

Référencé par TtpaIhm::afficherImpactCouleurs(), calculerStatistiques(), et TtpaIhm::effacerImpactZone().

283 {
284  return numeroZoneObjectif;
285 }
int numeroZoneObjectif
Placement de la zone de l&#39;objectif.
Definition: statistiquesseance.h:63

◆ getZoneRobot()

int StatistiquesSeance::getZoneRobot ( )

Références numeroZoneRobot.

Référencé par TtpaIhm::afficherImpactCouleurs(), TtpaIhm::afficherZone(), et calculerStatistiques().

217 {
218  return numeroZoneRobot;
219 }
int numeroZoneRobot
Placement de la zone d&#39;objectif.
Definition: statistiquesseance.h:64

◆ impacterZone()

bool StatistiquesSeance::impacterZone ( uint8_t  numeroZone)
Paramètres
numeroZoneint le numéro de zone de l'impact
Renvoie

Références afficherStatistiqueBallesBonnes(), afficherStatistiquesBallesTotales(), afficherStatistiquesZones(), et calculerStatistiques().

Référencé par TtpaIhm::recevoirNumeroZone(), et TtpaIhm::saisirNumeroZone().

119 {
120  qDebug() << Q_FUNC_INFO << "numeroZone=" << numeroZone /*<< "numeroZoneRobot" << numeroZoneRobot*/;
121 
122  calculerStatistiques(numeroZone);
126 
127  return true;
128 }
void calculerStatistiques(uint8_t numeroZone)
Definition: statistiquesseance.cpp:69
void afficherStatistiquesBallesTotales()
affiche le nombre de balle total et nombre total de balle ayant touché la table
Definition: statistiquesseance.cpp:184
void afficherStatistiqueBallesBonnes()
affiche le nombre de balle ayant atteint la zone objectifs
Definition: statistiquesseance.cpp:206
void afficherStatistiquesZones()
affiche les statistiques (impact et pourcentage) de toutes les zones
Definition: statistiquesseance.cpp:164

◆ initialiserStatistiques()

void StatistiquesSeance::initialiserStatistiques ( )

Références ballePrecedenteToucheTable, balleToucheRobot, balleToucheTable, nbBallesBonnes, nbBallesTotales, nbBallesTotalesTable, nbImpactsZone, numeroZoneObjectif, numeroZoneRobot, et ZoneNonDefinie.

Référencé par TtpaIhm::resetSeance(), StatistiquesSeance(), et TtpaIhm::TtpaIhm().

47 {
48  for(int i=0; i < nbImpactsZone.size(); i++)
49  {
50  nbImpactsZone[i] = 0;
51  }
53  nbBallesBonnes = 0;
54  nbBallesTotales = 0;
56  balleToucheTable = true;
58  balleToucheRobot = true;
59 }
bool ballePrecedenteToucheTable
Balle précédente qui a touché la table.
Definition: statistiquesseance.h:72
Definition: statistiquesseance.h:31
int numeroZoneObjectif
Placement de la zone de l&#39;objectif.
Definition: statistiquesseance.h:63
int nbBallesBonnes
Nombre de balles ayant touché la zone objetifs.
Definition: statistiquesseance.h:66
QVector< int > nbImpactsZone
Un vecteur avec le nombre d&#39;impacts dans chaque zone.
Definition: statistiquesseance.h:65
int nbBallesTotalesTable
Nombre de balles totales tirées par le robot et ayant impacté la table.
Definition: statistiquesseance.h:68
int numeroZoneRobot
Placement de la zone d&#39;objectif.
Definition: statistiquesseance.h:64
bool balleToucheRobot
Balle ayant touché la table du robot.
Definition: statistiquesseance.h:73
int nbBallesTotales
Nombre de balles total tirées par le robot et jouables.
Definition: statistiquesseance.h:67
bool balleToucheTable
Balle ayant touché la table.
Definition: statistiquesseance.h:71

◆ setZoneObjectif()

void StatistiquesSeance::setZoneObjectif ( int  numeroZone)

Références numeroZoneObjectif.

Référencé par TtpaIhm::setZoneObjectif().

293 {
294  numeroZoneObjectif = numeroZone;
295  qDebug() << Q_FUNC_INFO << "numeroZoneObjectif" << numeroZoneObjectif;
296 }
int numeroZoneObjectif
Placement de la zone de l&#39;objectif.
Definition: statistiquesseance.h:63

◆ setZoneRobot()

void StatistiquesSeance::setZoneRobot ( int  numeroZone)

Références numeroZoneRobot.

Référencé par TtpaIhm::setZoneRobot().

227 {
228  numeroZoneRobot = numeroZone;
229  qDebug() << Q_FUNC_INFO << "numeroZoneRobot" << numeroZoneRobot;
230 }
int numeroZoneRobot
Placement de la zone d&#39;objectif.
Definition: statistiquesseance.h:64

Documentation des données membres

◆ ballePrecedenteToucheTable

bool StatistiquesSeance::ballePrecedenteToucheTable
private

◆ balleToucheRobot

bool StatistiquesSeance::balleToucheRobot
private

Référencé par initialiserStatistiques().

◆ balleToucheTable

bool StatistiquesSeance::balleToucheTable
private

◆ nbBallesBonnes

int StatistiquesSeance::nbBallesBonnes
private

◆ nbBallesEnchainees

int StatistiquesSeance::nbBallesEnchainees
private

◆ nbBallesEnchaineesMax

int StatistiquesSeance::nbBallesEnchaineesMax
private

Référencé par calculerStatistiques().

◆ nbBallesTotales

int StatistiquesSeance::nbBallesTotales
private

◆ nbBallesTotalesTable

int StatistiquesSeance::nbBallesTotalesTable
private

◆ nbImpactsZone

QVector<int> StatistiquesSeance::nbImpactsZone
private

◆ numeroZoneObjectif

int StatistiquesSeance::numeroZoneObjectif
private

◆ numeroZoneRobot

int StatistiquesSeance::numeroZoneRobot
private

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