Mobile-DARTS  1.1
BTS SNIR LaSalle Avignon 2021
Référence de la classe com.lasalle84.mobile_darts.Partie

La classe qui contient toute la gestion de partie. Plus de détails...

Graphe de collaboration de com.lasalle84.mobile_darts.Partie:
Collaboration graph

Fonctions membres publiques

void actualiserJoueurIHM (String monJoueur)
 Actualiser le joueur à IHM. Plus de détails...
 
void actualiserScoreIHM (Joueur monJoueur, int score)
 Méthode permettant d'actualiser le score du joueur à IHM. Plus de détails...
 
void attendreImpact ()
 Méthode permettant d'attendre qu'un nouvel impact arrive. Plus de détails...
 
void attendreJoueurSuivant ()
 
void cibleManquee ()
 Méthode envoyant une fléchette manquée. Plus de détails...
 
void demarrerPartie ()
 Méthode permettant de démarrer la partie. Plus de détails...
 
void envoyerAquittement ()
 Envoyer Aquittement à la cible. Plus de détails...
 
void envoyerGagnantIHM (Joueur monJoueur)
 Envoyer le gagnant a IHM. Plus de détails...
 
TypeJeu getTypeJeu ()
 
void impactIHM (int Touche, int MultiplicateurTouche, int ID)
 Envoyer impact à IHM. Plus de détails...
 
 Partie (ArrayList< Joueur > lesJoueurs, TypeJeu typeJeu, Handler handlerUI)
 
void traiterTrame (String trame)
 

Attributs publics statiques

static final int ENVOYER_AQUITTEMENT = 7
 
static final int GAGNANT = 6
 
static final int IMPACT = 5
 
static final int JOUEUR_SUIVANT = 3
 
static final int NB_FLECHETTE = 3
 Nombre de flechettes par volee. Plus de détails...
 
static final int SET_SCORE = 4
 

Attributs privés

boolean estAuSuivant = false
 Booléen permettant de savoir si il faut passer au joueur suivant. Plus de détails...
 
boolean estDoubleImpact = false
 Booléen pour savoir si le dernier impact est du type double. Plus de détails...
 
boolean estFini = false
 Booléen pour savoir si la partie est finie. Plus de détails...
 
Handler handlerUI = null
 Handler pour gérer l'interface. Plus de détails...
 
int impact []
 Les impacts. Plus de détails...
 
boolean impactEstRecu
 Booléen pour savoir quand on reçoit une trame impact. Plus de détails...
 
ArrayList< JoueurlesJoueurs
 Les objets Joueur stockeés dans un conteneur (Queue) Plus de détails...
 
int nbJoueurs
 Nombre de joueurs. Plus de détails...
 
int nbManche
 Nombre de manches. Plus de détails...
 
TypeJeu typeJeu
 Mode de jeu. Plus de détails...
 

Attributs privés statiques

static final String TAG = "_Partie_"
 Tag pour Log. Plus de détails...
 

Description détaillée

La classe qui contient toute la gestion de partie.

Définition à la ligne 25 du fichier Partie.java.

Documentation des constructeurs et destructeur

◆ Partie()

com.lasalle84.mobile_darts.Partie.Partie ( ArrayList< Joueur lesJoueurs,
TypeJeu  typeJeu,
Handler  handlerUI 
)

Définition à la ligne 56 du fichier Partie.java.

Références com.lasalle84.mobile_darts.Partie.handlerUI, com.lasalle84.mobile_darts.Partie.lesJoueurs, et com.lasalle84.mobile_darts.Partie.typeJeu.

57  {
58  this.lesJoueurs = lesJoueurs;
59  this.typeJeu = typeJeu;
60  this.handlerUI = handlerUI;
61  this.nbManche = 0;
62  this.nbJoueurs = this.lesJoueurs.size();
63  impact = new int[3];
64  }
TypeJeu typeJeu
Mode de jeu.
Definition: Partie.java:47
int nbJoueurs
Nombre de joueurs.
Definition: Partie.java:45
Handler handlerUI
Handler pour gérer l&#39;interface.
Definition: Partie.java:52
int nbManche
Nombre de manches.
Definition: Partie.java:46
ArrayList< Joueur > lesJoueurs
Les objets Joueur stockeés dans un conteneur (Queue)
Definition: Partie.java:48
int impact[]
Les impacts.
Definition: Partie.java:49

Documentation des fonctions membres

◆ actualiserJoueurIHM()

com.lasalle84.mobile_darts.Partie.actualiserJoueurIHM ( String  monJoueur)

Actualiser le joueur à IHM.

Paramètres
monJoueur

Définition à la ligne 186 du fichier Partie.java.

Références com.lasalle84.mobile_darts.Partie.JOUEUR_SUIVANT.

Référencé par com.lasalle84.mobile_darts.Partie.demarrerPartie().

187  {
188  Log.d(TAG, "actualiserJoueurIHM()");
189  Message msg = Message.obtain();
190  msg.what = JOUEUR_SUIVANT;
191  Bundle b = new Bundle();
192  b.putString("joueur", monJoueur);
193  msg.setData(b);
194  handlerUI.sendMessage(msg);
195  }
static final int JOUEUR_SUIVANT
Definition: Partie.java:36
Handler handlerUI
Handler pour gérer l&#39;interface.
Definition: Partie.java:52
static final String TAG
Tag pour Log.
Definition: Partie.java:30

◆ actualiserScoreIHM()

com.lasalle84.mobile_darts.Partie.actualiserScoreIHM ( Joueur  monJoueur,
int  score 
)

Méthode permettant d'actualiser le score du joueur à IHM.

Paramètres
monJoueur(Joueur à actualiser)
score(Score du Joueur)

Définition à la ligne 168 du fichier Partie.java.

Références com.lasalle84.mobile_darts.Joueur.getNom(), et com.lasalle84.mobile_darts.Partie.SET_SCORE.

Référencé par com.lasalle84.mobile_darts.Partie.demarrerPartie().

169  {
170  Log.d(TAG, "actualiserScoreIHM()");
171  Message msg = Message.obtain();
172  msg.what = SET_SCORE;
173  Bundle b = new Bundle();
174  b.putString("joueur", monJoueur.getNom());
175  b.putInt("score", score);
176  msg.setData(b);
177  handlerUI.sendMessage(msg);
178  }
Handler handlerUI
Handler pour gérer l&#39;interface.
Definition: Partie.java:52
static final String TAG
Tag pour Log.
Definition: Partie.java:30
static final int SET_SCORE
Definition: Partie.java:37

◆ attendreImpact()

com.lasalle84.mobile_darts.Partie.attendreImpact ( )

Méthode permettant d'attendre qu'un nouvel impact arrive.

Définition à la ligne 130 du fichier Partie.java.

Références com.lasalle84.mobile_darts.Partie.impactIHM().

Référencé par com.lasalle84.mobile_darts.Partie.demarrerPartie().

130  {
131  Log.d(TAG, "attendreImpact()");
132  while (!impactEstRecu)
133  {
134  sleep(1000);
135  }
136  impactIHM(impact[0],impact[1],impact[2]);
137 
138  if (impact[1] == 2)
139  {
140  estDoubleImpact = true;
141  }
142  else
143  {
144  estDoubleImpact = false;
145  }
146 
147  Log.d(TAG, "Valeur Touche" + impact[0]+ "; Multiplicateur Touche:" + impact[1] + "; ID Touche :" + impact[2]);
148 
149  }
static final String TAG
Tag pour Log.
Definition: Partie.java:30
boolean estDoubleImpact
Booléen pour savoir si le dernier impact est du type double.
Definition: Partie.java:53
boolean impactEstRecu
Booléen pour savoir quand on reçoit une trame impact.
Definition: Partie.java:50
void impactIHM(int Touche, int MultiplicateurTouche, int ID)
Envoyer impact à IHM.
Definition: Partie.java:205
int impact[]
Les impacts.
Definition: Partie.java:49

◆ attendreJoueurSuivant()

void com.lasalle84.mobile_darts.Partie.attendreJoueurSuivant ( )

Définition à la ligne 150 du fichier Partie.java.

Référencé par com.lasalle84.mobile_darts.Partie.demarrerPartie().

151  {
152  Log.d(TAG, "attendreJoueurSuivant()");
153  while (!estAuSuivant)
154  {
155  sleep(1000);
156  }
157  Log.d(TAG, "Au suivant" + estAuSuivant);
158  estAuSuivant = false;
159  }
static final String TAG
Tag pour Log.
Definition: Partie.java:30
boolean estAuSuivant
Booléen permettant de savoir si il faut passer au joueur suivant.
Definition: Partie.java:54

◆ cibleManquee()

com.lasalle84.mobile_darts.Partie.cibleManquee ( )

Méthode envoyant une fléchette manquée.

Fonction envoyant une fléchette manquée.

Définition à la ligne 254 du fichier Partie.java.

Référencé par com.lasalle84.mobile_darts.ActiviteJouerPartie.initialiserWidgets().

255  {
256  impact[0] = 0;
257  impact[1] = 0;
258  impactEstRecu = true;
259  }
boolean impactEstRecu
Booléen pour savoir quand on reçoit une trame impact.
Definition: Partie.java:50
int impact[]
Les impacts.
Definition: Partie.java:49

◆ demarrerPartie()

com.lasalle84.mobile_darts.Partie.demarrerPartie ( )

Méthode permettant de démarrer la partie.

Définition à la ligne 72 du fichier Partie.java.

Références com.lasalle84.mobile_darts.Partie.actualiserJoueurIHM(), com.lasalle84.mobile_darts.Partie.actualiserScoreIHM(), com.lasalle84.mobile_darts.Partie.attendreImpact(), com.lasalle84.mobile_darts.Partie.attendreJoueurSuivant(), com.lasalle84.mobile_darts.Partie.envoyerGagnantIHM(), com.lasalle84.mobile_darts.Partie.estDoubleImpact, com.lasalle84.mobile_darts.TypeJeu.estDoubleOut(), com.lasalle84.mobile_darts.Joueur.getNom(), com.lasalle84.mobile_darts.Joueur.getScore(), com.lasalle84.mobile_darts.Joueur.isaFini(), com.lasalle84.mobile_darts.Partie.NB_FLECHETTE, et com.lasalle84.mobile_darts.Joueur.retirerPoint().

Référencé par com.lasalle84.mobile_darts.ActiviteJouerPartie.initialiserWidgets().

72  {
73  Log.d(TAG, "demarrerPartie()");
74  estAuSuivant = true;
75  do
76  {
77  nbManche++;
78  Iterator<Joueur> it = lesJoueurs.iterator();
79  Log.d(TAG, "Manche numéro " + nbManche);
80  while (it.hasNext())
81  {
82  Joueur monJoueur = it.next();
83  envoyerGagnantIHM(monJoueur);
84  Log.d(TAG, "C'est le tour de " + monJoueur.getNom());
86  actualiserJoueurIHM(monJoueur.getNom());
87  int pointVollee = 0;
88 
89  for(int i = 0; i < NB_FLECHETTE; i++)
90  {
91  if (monJoueur.isaFini())
92  {
93  envoyerGagnantIHM(monJoueur);
94  i = NB_FLECHETTE;
95  estFini = true;
96  }
97  else
98  {
99  impactEstRecu = false;
100  attendreImpact();
101  pointVollee =+ impact[0]*impact[1];
102  if(!monJoueur.retirerPoint(pointVollee, this))
103  {
104  i = NB_FLECHETTE;
105  pointVollee = 0;
106  }
107  else if (monJoueur.getScore() == 0 && !typeJeu.estDoubleOut())
108  {
109  envoyerGagnantIHM(monJoueur);
110  i = NB_FLECHETTE;
111  estFini = true;
112  }
113  else if (monJoueur.getScore() == 0 && typeJeu.estDoubleOut() && estDoubleImpact)
114  {
115  envoyerGagnantIHM(monJoueur);
116  i = NB_FLECHETTE;
117  estFini = true;
118  }
119  }
120  }
121  actualiserScoreIHM(monJoueur, monJoueur.getScore());
122  }
123  }while (!estFini);
124  }
TypeJeu typeJeu
Mode de jeu.
Definition: Partie.java:47
void attendreImpact()
Méthode permettant d&#39;attendre qu&#39;un nouvel impact arrive.
Definition: Partie.java:130
void actualiserJoueurIHM(String monJoueur)
Actualiser le joueur à IHM.
Definition: Partie.java:186
void envoyerGagnantIHM(Joueur monJoueur)
Envoyer le gagnant a IHM.
Definition: Partie.java:238
int nbManche
Nombre de manches.
Definition: Partie.java:46
static final String TAG
Tag pour Log.
Definition: Partie.java:30
boolean estFini
Booléen pour savoir si la partie est finie.
Definition: Partie.java:51
ArrayList< Joueur > lesJoueurs
Les objets Joueur stockeés dans un conteneur (Queue)
Definition: Partie.java:48
boolean estDoubleImpact
Booléen pour savoir si le dernier impact est du type double.
Definition: Partie.java:53
boolean estAuSuivant
Booléen permettant de savoir si il faut passer au joueur suivant.
Definition: Partie.java:54
boolean impactEstRecu
Booléen pour savoir quand on reçoit une trame impact.
Definition: Partie.java:50
void actualiserScoreIHM(Joueur monJoueur, int score)
Méthode permettant d&#39;actualiser le score du joueur à IHM.
Definition: Partie.java:168
static final int NB_FLECHETTE
Nombre de flechettes par volee.
Definition: Partie.java:31
int impact[]
Les impacts.
Definition: Partie.java:49

◆ envoyerAquittement()

com.lasalle84.mobile_darts.Partie.envoyerAquittement ( )

Envoyer Aquittement à la cible.

Définition à la ligne 224 du fichier Partie.java.

Références com.lasalle84.mobile_darts.Partie.ENVOYER_AQUITTEMENT.

Référencé par com.lasalle84.mobile_darts.Partie.traiterTrame().

225  {
226  Log.d(TAG, "envoyerAquittement() ");
227  Message msg = Message.obtain();
228  msg.what = ENVOYER_AQUITTEMENT;
229  handlerUI.sendMessage(msg);
230  }
Handler handlerUI
Handler pour gérer l&#39;interface.
Definition: Partie.java:52
static final int ENVOYER_AQUITTEMENT
Definition: Partie.java:40
static final String TAG
Tag pour Log.
Definition: Partie.java:30

◆ envoyerGagnantIHM()

com.lasalle84.mobile_darts.Partie.envoyerGagnantIHM ( Joueur  monJoueur)

Envoyer le gagnant a IHM.

Paramètres
monJoueur(Joueur ayant gagné la partie)

Définition à la ligne 238 du fichier Partie.java.

Références com.lasalle84.mobile_darts.Partie.GAGNANT, et com.lasalle84.mobile_darts.Joueur.getNom().

Référencé par com.lasalle84.mobile_darts.Partie.demarrerPartie().

239  {
240  Log.d(TAG, "envoyerGagnantIHM() " + monJoueur.getNom());
241  estFini = true;
242  Message msg = Message.obtain();
243  msg.what = GAGNANT;
244  Bundle b = new Bundle();
245  b.putString("gagnant",monJoueur.getNom());
246  msg.setData(b);
247  handlerUI.sendMessage(msg);
248  }
Handler handlerUI
Handler pour gérer l&#39;interface.
Definition: Partie.java:52
static final String TAG
Tag pour Log.
Definition: Partie.java:30
boolean estFini
Booléen pour savoir si la partie est finie.
Definition: Partie.java:51

◆ getTypeJeu()

TypeJeu com.lasalle84.mobile_darts.Partie.getTypeJeu ( )

Définition à la ligne 292 du fichier Partie.java.

Références com.lasalle84.mobile_darts.Partie.typeJeu.

Référencé par com.lasalle84.mobile_darts.Joueur.retirerPoint().

293  {
294  return typeJeu;
295  }
TypeJeu typeJeu
Mode de jeu.
Definition: Partie.java:47

◆ impactIHM()

com.lasalle84.mobile_darts.Partie.impactIHM ( int  Touche,
int  MultiplicateurTouche,
int  ID 
)

Envoyer impact à IHM.

Paramètres
Touche(Valeur de la touche)
MultiplicateurTouche(Valeur du multiplicateur de la touche)
ID(Identifiant de la fléchette dans la volée)

Définition à la ligne 205 du fichier Partie.java.

Références com.lasalle84.mobile_darts.Partie.IMPACT.

Référencé par com.lasalle84.mobile_darts.Partie.attendreImpact().

206  {
207  Log.d(TAG, "impactIHM() " + Touche + " - " + MultiplicateurTouche);
208  Message msg = Message.obtain();
209  msg.what = IMPACT;
210  Bundle b = new Bundle();
211  b.putInt("Touche",Touche);
212  b.putInt("MultiplicateurTouche",MultiplicateurTouche);
213  b.putInt("ID", ID);
214  msg.setData(b);
215  handlerUI.sendMessage(msg);
216  }
Handler handlerUI
Handler pour gérer l&#39;interface.
Definition: Partie.java:52
static final String TAG
Tag pour Log.
Definition: Partie.java:30

◆ traiterTrame()

void com.lasalle84.mobile_darts.Partie.traiterTrame ( String  trame)

Définition à la ligne 265 du fichier Partie.java.

Références com.lasalle84.mobile_darts.Partie.envoyerAquittement().

Référencé par com.lasalle84.mobile_darts.ActiviteJouerPartie.initialiserHandler().

266  {
267  Log.d(TAG, "traiterTrame() " + trame);
268  trame = trame.replace("\r\n", "");
269  String[] trameSectionee = trame.split(";", 5);
270  for(int i=0; i < trameSectionee.length; ++i)
271  {
272  Log.d(TAG, "traiterTrame() trameSectionee[" + i + "] = " + trameSectionee[i]);
273  }
274 
275  switch (trameSectionee[1])
276  {
277  case("HIT"):
278  Log.d(TAG, "traiterTrame : HIT");
279  impact[0] = Integer.parseInt(trameSectionee[2]);
280  impact[1] = Integer.parseInt(trameSectionee[3]);
281  impact[2] = Integer.parseInt(trameSectionee[4]);
283  impactEstRecu = true;
284  break;
285  case("NEXT"):
286  Log.d(TAG, "traiterTrame : NEXT");
287  estAuSuivant = true;
288  break;
289  }
290  }
static final String TAG
Tag pour Log.
Definition: Partie.java:30
boolean estAuSuivant
Booléen permettant de savoir si il faut passer au joueur suivant.
Definition: Partie.java:54
boolean impactEstRecu
Booléen pour savoir quand on reçoit une trame impact.
Definition: Partie.java:50
int impact[]
Les impacts.
Definition: Partie.java:49
void envoyerAquittement()
Envoyer Aquittement à la cible.
Definition: Partie.java:224

Documentation des données membres

◆ ENVOYER_AQUITTEMENT

final int com.lasalle84.mobile_darts.Partie.ENVOYER_AQUITTEMENT = 7
static

◆ estAuSuivant

boolean com.lasalle84.mobile_darts.Partie.estAuSuivant = false
private

Booléen permettant de savoir si il faut passer au joueur suivant.

Définition à la ligne 54 du fichier Partie.java.

◆ estDoubleImpact

boolean com.lasalle84.mobile_darts.Partie.estDoubleImpact = false
private

Booléen pour savoir si le dernier impact est du type double.

Définition à la ligne 53 du fichier Partie.java.

Référencé par com.lasalle84.mobile_darts.Partie.demarrerPartie().

◆ estFini

boolean com.lasalle84.mobile_darts.Partie.estFini = false
private

Booléen pour savoir si la partie est finie.

Définition à la ligne 51 du fichier Partie.java.

◆ GAGNANT

final int com.lasalle84.mobile_darts.Partie.GAGNANT = 6
static

◆ handlerUI

Handler com.lasalle84.mobile_darts.Partie.handlerUI = null
private

Handler pour gérer l'interface.

Définition à la ligne 52 du fichier Partie.java.

Référencé par com.lasalle84.mobile_darts.Partie.Partie().

◆ IMPACT

final int com.lasalle84.mobile_darts.Partie.IMPACT = 5
static

◆ impact

int com.lasalle84.mobile_darts.Partie.impact[]
private

Les impacts.

Définition à la ligne 49 du fichier Partie.java.

◆ impactEstRecu

boolean com.lasalle84.mobile_darts.Partie.impactEstRecu
private

Booléen pour savoir quand on reçoit une trame impact.

Définition à la ligne 50 du fichier Partie.java.

◆ JOUEUR_SUIVANT

final int com.lasalle84.mobile_darts.Partie.JOUEUR_SUIVANT = 3
static

◆ lesJoueurs

ArrayList<Joueur> com.lasalle84.mobile_darts.Partie.lesJoueurs
private

Les objets Joueur stockeés dans un conteneur (Queue)

Définition à la ligne 48 du fichier Partie.java.

Référencé par com.lasalle84.mobile_darts.Partie.Partie().

◆ NB_FLECHETTE

final int com.lasalle84.mobile_darts.Partie.NB_FLECHETTE = 3
static

Nombre de flechettes par volee.

Définition à la ligne 31 du fichier Partie.java.

Référencé par com.lasalle84.mobile_darts.Partie.demarrerPartie().

◆ nbJoueurs

int com.lasalle84.mobile_darts.Partie.nbJoueurs
private

Nombre de joueurs.

Attributs

Définition à la ligne 45 du fichier Partie.java.

◆ nbManche

int com.lasalle84.mobile_darts.Partie.nbManche
private

Nombre de manches.

Définition à la ligne 46 du fichier Partie.java.

◆ SET_SCORE

final int com.lasalle84.mobile_darts.Partie.SET_SCORE = 4
static

◆ TAG

final String com.lasalle84.mobile_darts.Partie.TAG = "_Partie_"
staticprivate

Tag pour Log.

  • Constantes

Définition à la ligne 30 du fichier Partie.java.

◆ typeJeu

TypeJeu com.lasalle84.mobile_darts.Partie.typeJeu
private

Mode de jeu.

Définition à la ligne 47 du fichier Partie.java.

Référencé par com.lasalle84.mobile_darts.Partie.getTypeJeu(), et com.lasalle84.mobile_darts.Partie.Partie().


La documentation de cette classe a été générée à partir du fichier suivant :