You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastermind/CoreLibrary/Plateau.cs

44 lines
1.6 KiB

namespace CoreLibrary
{
/// <summary>
/// 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.
/// </summary>
public class Plateau
{
private static readonly int tailleMax = 12;
private CombinaisonSecrete combinaisonSecrete = new CombinaisonSecrete();
private CombinaisonJoueur[] lesCombinaisonsJoueur = new CombinaisonJoueur[tailleMax];
private Combinaison[] lesCombinaisonsIndicateur = new CombinaisonIndicateur[tailleMax];
private int index = 0;
/// <summary>
/// Ajoute une combinaison de joueur au plateau.
/// </summary>
/// <param name="combinaisonJoueur">La combinaison du joueur à ajouter.</param>
/// <returns>True si la combinaison correspond à la combinaison secrète, sinon False.</returns>
public bool AjouterCombinaison(CombinaisonJoueur combinaisonJoueur)
{
if (EstComplet())
{
throw new Exception("Le plateau est plein, impossible d'ajouter une combinaison supplémentaire.");
}
lesCombinaisonsJoueur[index] = combinaisonJoueur;
index++;
return combinaisonSecrete.EstEgal(combinaisonJoueur);
}
/// <summary>
/// Vérifie si le plateau est complet.
/// </summary>
/// <returns>True si le plateau est plein, sinon False.</returns>
public bool EstComplet()
{
return index >= tailleMax;
}
}
}