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/Sources/CoreLibrary/Regles/IRegles.cs

84 lines
2.3 KiB

using CoreLibrary.Core;
using CoreLibrary.Joueurs;
namespace CoreLibrary.Regles
{
/// <summary>
/// Interface définissant les règles du jeu.
/// </summary>
public interface IRegles
{
/// <summary>
/// Le nom des règles du jeu.
/// </summary>
string Nom { get; }
/// <summary>
/// Le nombre de maximum de tours.
/// </summary>
int TourMaximum { get; }
/// <summary>
/// La taille maximal du code.
/// </summary>
int TailleCodeMaximum { get; }
/// <summary>
/// Le nombre de joueurs actuels.
/// </summary>
int NbJoueurs { get; }
/// <summary>
/// Le nombre maximum de joueurs.
/// </summary>
int NbJoueursMaximum { get; }
/// <summary>
/// Ajoute un joueur à partir de son nom.
/// </summary>
/// <param name="nom">Nom du joueur à ajouter.</param>
/// <returns>Le joueur ajouté.</returns>
Joueur AjouterJoueur(string nom);
/// <summary>
/// Récupère le joueur courant.
/// </summary>
/// <returns>Le joueur courant.</returns>
Joueur JoueurCourant();
/// <summary>
/// Passe la main au joueur suivant.
/// </summary>
void PasserLaMain();
/// <summary>
/// Génère un code selon les règles du jeu.
/// </summary>
/// <returns>Le code généré.</returns>
Code GenererCode();
/// <summary>
/// Démarre la partie.
/// </summary>
void CommencerLaPartie();
/// <summary>
/// Vérifie si la partie est terminée.
/// </summary>
/// <returns>True si la partie est terminée, sinon False.</returns>
bool EstTerminee();
/// <summary>
/// Récupère les joueurs gagnants.
/// </summary>
/// <returns>Les joueurs gagnants.</returns>
IEnumerable<Joueur> Gagnants();
/// <summary>
/// Récupère les joueurs perdants.
/// </summary>
/// <returns>Les joueurs perdants.</returns>
IEnumerable<Joueur> Perdants();
}
}