diff --git a/BibliothequeClasses/Jeton.cs b/BibliothequeClasses/Jeton.cs
index 7286dfb..ecf62c0 100644
--- a/BibliothequeClasses/Jeton.cs
+++ b/BibliothequeClasses/Jeton.cs
@@ -1,14 +1,24 @@
-namespace BibliothequeClasses
+using System;
+
+namespace BibliothequeClasses
{
///
- /// Class Jeton qui nous permet de recuperer la couleur du jeton et de pouvoir la changer
+ /// Représente un jeton de jeu qui permet de récupérer et de modifier sa couleur.
///
public abstract class Jeton
{
- protected Jeton(Couleur couleur)
+ ///
+ /// Initialise une nouvelle instance de la classe Jeton avec la couleur spécifiée.
+ ///
+ /// La couleur du jeton.
+ protected Jeton(Couleur couleur)
{
this.Couleur = couleur;
}
+
+ ///
+ /// Obtient la couleur du jeton.
+ ///
public Couleur Couleur
{
get;
diff --git a/BibliothequeClasses/JetonIndicateur.cs b/BibliothequeClasses/JetonIndicateur.cs
index ac264d1..62866ef 100644
--- a/BibliothequeClasses/JetonIndicateur.cs
+++ b/BibliothequeClasses/JetonIndicateur.cs
@@ -7,20 +7,23 @@ using System.Threading.Tasks;
namespace BibliothequeClasses
{
///
- /// Class fille de la class Jeton
- /// Class JetonIndicateur qui créé un jeton du joueur avec une des couleurs de l'enum couleur
+ /// Représente un jeton indicateur, une classe dérivée de la classe Jeton.
///
public class JetonIndicateur : Jeton
{
- public JetonIndicateur(Couleur couleur)
- :base(couleur)
+ ///
+ /// Initialise une nouvelle instance de la classe JetonIndicateur avec la couleur spécifiée.
+ ///
+ /// La couleur du jeton.
+ /// Levée si la couleur spécifiée n'est pas Noir ou Blanc.
+ public JetonIndicateur(Couleur couleur)
+ : base(couleur)
{
- if(couleur < Couleur.Noir)
+ if (couleur < Couleur.Noir)
{
- throw new ArgumentException("La couleur doit etre Noir ou Blanche");
+ throw new ArgumentException("La couleur doit être Noir ou Blanc");
}
-
-
}
}
}
+
diff --git a/BibliothequeClasses/JetonJoueur.cs b/BibliothequeClasses/JetonJoueur.cs
index 37d617d..487e6a7 100644
--- a/BibliothequeClasses/JetonJoueur.cs
+++ b/BibliothequeClasses/JetonJoueur.cs
@@ -7,15 +7,19 @@ using System.Threading.Tasks;
namespace BibliothequeClasses
{
///
- /// Class fille de la class Jeton
- /// Class JetonJoueur qui créé un jeton du joueur avec une des couleurs de l'enum couleur
+ /// Représente un jeton joueur, une classe dérivée de la classe Jeton.
///
public class JetonJoueur : Jeton
{
- public JetonJoueur(Couleur couleur)
- :base(couleur)
+ ///
+ /// Initialise une nouvelle instance de la classe JetonJoueur avec la couleur spécifiée.
+ ///
+ /// La couleur du jeton.
+ public JetonJoueur(Couleur couleur)
+ : base(couleur)
{
-
+
}
}
}
+
diff --git a/BibliothequeClasses/Joueur.cs b/BibliothequeClasses/Joueur.cs
new file mode 100644
index 0000000..e72b92e
--- /dev/null
+++ b/BibliothequeClasses/Joueur.cs
@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System;
+
+namespace BibliothequeClasses
+{
+ ///
+ /// Représente un joueur dans une partie.
+ ///
+ public class Joueur
+ {
+ private Plateau plateau;
+ private bool gagne;
+
+ ///
+ /// Initialise une nouvelle instance de la classe avec le nom spécifié.
+ ///
+ /// Le nom du joueur.
+ public Joueur(string nom)
+ {
+ this.Nom = nom;
+ this.plateau = new Plateau();
+ }
+
+ ///
+ /// Obtient ou définit le nom du joueur.
+ ///
+ public string Nom
+ {
+ get;
+ set;
+ }
+
+ ///
+ /// Joue une combinaison pour ce joueur sur le plateau.
+ ///
+ /// La combinaison à jouer.
+ public void JouerCombinaison(CombinaisonJoueur combinaisonJoueur)
+ {
+ gagne = plateau.AjouterCombinaison(combinaisonJoueur);
+ }
+
+ ///
+ /// Détermine si le joueur a gagné la partie.
+ ///
+ /// True si le joueur a gagné, sinon False.
+ public bool AGagne()
+ {
+ return gagne;
+ }
+ }
+}
diff --git a/BibliothequeClasses/Partie.cs b/BibliothequeClasses/Partie.cs
new file mode 100644
index 0000000..457ac37
--- /dev/null
+++ b/BibliothequeClasses/Partie.cs
@@ -0,0 +1,78 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BibliothequeClasses
+{
+ ///
+ /// Représente une partie du jeu.
+ ///
+ public class Partie
+ {
+ private int tour;
+ private Joueur joueur1;
+ private Joueur joueur2;
+ private Joueur joueurCourant;
+
+ ///
+ /// Initialise une nouvelle instance de la classe Partie avec les noms des joueurs.
+ ///
+ /// Le nom du premier joueur.
+ /// Le nom du deuxième joueur.
+ public Partie(string nomJoueur1, string nomJoueur2)
+ {
+ this.tour = 1;
+ this.joueur1 = new Joueur(nomJoueur1);
+ this.joueur2 = new Joueur(nomJoueur2);
+ this.joueurCourant = this.joueur1;
+ }
+
+ ///
+ /// Récupère le joueur qui joue actuellement.
+ ///
+ /// Le joueur actuel.
+ public Joueur GetJoueur()
+ {
+ return this.joueurCourant;
+ }
+
+ ///
+ /// Passe la main au prochain joueur.
+ ///
+ public void PasserlaMain()
+ {
+ if (this.joueurCourant == this.joueur1)
+ {
+ this.joueurCourant = this.joueur2;
+ }
+ else
+ {
+ this.joueurCourant = this.joueur1;
+ }
+ tour++;
+ }
+
+ ///
+ /// Détermine si la partie est terminée.
+ ///
+ /// True si la partie est terminée, sinon False.
+ public bool EstTerminer()
+ {
+ const int nbMaxTour = 24;
+ if (joueurCourant.AGagne())
+ {
+ return true;
+ }
+
+ if (tour == nbMaxTour)
+ {
+ return true;
+ }
+
+ return false;
+ }
+ }
+}
+
diff --git a/BibliothequeClasses/Plateau.cs b/BibliothequeClasses/Plateau.cs
index 6acadcc..4b81db9 100644
--- a/BibliothequeClasses/Plateau.cs
+++ b/BibliothequeClasses/Plateau.cs
@@ -3,14 +3,12 @@ using System.ComponentModel.DataAnnotations;
using System.Reflection;
using System.Collections.Generic;
-
-
namespace BibliothequeClasses
{
///
- /// Class plateau qui initialise deux tableaux à 12.
- /// Il a deux methodes une pour ajouter une combinaison dans le tableaux et une autres pour verifier si le tableau est plein.
+ /// Représente le plateau de jeu qui initialise deux tableaux de taille 12.
+ /// Il possède deux méthodes : une pour ajouter une combinaison dans le tableau et une autre pour vérifier si le tableau est plein.
///
public class Plateau
{
@@ -19,23 +17,32 @@ namespace BibliothequeClasses
private CombinaisonJoueur[] lesCombinaisonsJoueur = new CombinaisonJoueur[tailleMax];
private Combinaison[] lesCombinaisonsIndicateur = new CombinaisonIndicateur[tailleMax];
private int index = 0;
+
+ ///
+ /// Ajoute une combinaison de joueur au plateau.
+ ///
+ /// La combinaison du joueur à ajouter.
+ /// True si la combinaison correspond à la combinaison secrète, sinon False.
public bool AjouterCombinaison(CombinaisonJoueur combinaisonJoueur)
{
- if (estComplet() == false)
+ if (EstComplet())
{
- lesCombinaisonsJoueur[index] = combinaisonJoueur;
- index++;
- return true;
- }
- else
- {
- throw new Exception("Le plateau est plein, impossible d'ajouter une combinaison supplémentaire.");
+ throw new Exception("Le plateau est plein, impossible d'ajouter une combinaison supplémentaire.");
}
+
+ lesCombinaisonsJoueur[index] = combinaisonJoueur;
+ index++;
+ return combinaisonSecrete.EstEgal(combinaisonJoueur);
}
- public bool estComplet()
+ ///
+ /// Vérifie si le plateau est complet.
+ ///
+ /// True si le plateau est plein, sinon False.
+ public bool EstComplet()
{
return index >= tailleMax;
}
}
}
+
diff --git a/BibliothequeClasses/abc.cs b/BibliothequeClasses/abc.cs
new file mode 100644
index 0000000..f494391
--- /dev/null
+++ b/BibliothequeClasses/abc.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BibliothequeClasses
+{
+ public abstract class Combinaison;
+ public class CombinaisonSecrete : Combinaison
+ {
+ public bool EstEgal(CombinaisonJoueur combinaisonJoueur)
+ {
+ return true;
+ }
+ };
+ public class CombinaisonJoueur : Combinaison;
+ public class CombinaisonIndicateur : Combinaison;
+
+}
diff --git a/BibliothequeClasses/couleurs.cs b/BibliothequeClasses/couleurs.cs
index b95144e..0dd735a 100644
--- a/BibliothequeClasses/couleurs.cs
+++ b/BibliothequeClasses/couleurs.cs
@@ -1,15 +1,17 @@
-namespace BibliothequeClasses
-{
- ///
- /// Enumeration des 6 couleurs que peuvent prendre les jetons
- ///
- public enum Couleur
- {
- Rouge,
- Bleu,
- Vert,
- Jaune,
- Noir = 100,
- Blanc,
- }
-}
\ No newline at end of file
+using System;
+
+namespace BibliothequeClasses
+{
+ ///
+ /// Énumération représentant les 6 couleurs que peuvent prendre les jetons.
+ ///
+ public enum Couleur
+ {
+ Rouge,
+ Bleu,
+ Vert,
+ Jaune,
+ Noir = 100,
+ Blanc,
+ }
+}