From 23f83806f370f1372592e13f1569e5db5539f563 Mon Sep 17 00:00:00 2001 From: "nicolas.barbosa" Date: Mon, 13 May 2024 19:31:07 +0200 Subject: [PATCH] =?UTF-8?q?mise=20=C3=A0=20jour=20de=20la=20documentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/ConsoleApp/Evenements.cs | 320 +++++++++--------- Sources/ConsoleApp/Program.cs | 5 + Sources/ConsoleApp/Utils.cs | 9 +- Sources/CoreLibrary/Code.cs | 2 +- .../Events/AjouterCodeEventArgs.cs | 9 +- .../Events/AjouterJetonEventArgs.cs | 10 +- .../Events/AjouterJoueursEventArgs.cs | 6 +- .../Events/DebutPartieEventArgs.cs | 4 +- .../Events/DemanderJetonEventArgs.cs | 14 +- .../Events/DemanderJoueurEventArgs.cs | 6 +- .../Events/NouveauTourEventArgs.cs | 14 +- .../Events/PartieTermineeEventArgs.cs | 18 +- .../CoreLibrary/Events/PasserMainEventArgs.cs | 2 +- .../Events/SupprimerDernierJetonEventArgs.cs | 2 +- .../Exceptions/CodeCompletException.cs | 13 +- .../Exceptions/CodeIncompletException.cs | 13 +- .../Exceptions/CodeInvalideException.cs | 20 +- .../Exceptions/CodeVideException.cs | 13 +- .../Exceptions/GrilleCompleteException.cs | 13 +- .../Exceptions/IndiceCodeException.cs | 20 +- .../Exceptions/PartieNonCommenceeException.cs | 13 +- .../Exceptions/TailleCodeException.cs | 17 +- .../Exceptions/TailleGrilleException.cs | 18 +- 23 files changed, 328 insertions(+), 233 deletions(-) diff --git a/Sources/ConsoleApp/Evenements.cs b/Sources/ConsoleApp/Evenements.cs index 94dbbce..10b325f 100644 --- a/Sources/ConsoleApp/Evenements.cs +++ b/Sources/ConsoleApp/Evenements.cs @@ -1,154 +1,172 @@ -using CoreLibrary.Events; -using CoreLibrary; - -namespace ConsoleApp -{ - /// - /// Fournit des gestionnaires d'événements pour les événements liés au déroulement de la partie. - /// - public static class Evenements - { - /// - /// Gestionnaire d'événement pour l'ajout d'un joueur. - /// - public static string? DemanderJoueur(Object? sender, DemanderJoueurEventArgs e) - { - Console.WriteLine($"Joueur {e.Numero}"); - Console.Write(">>> "); - - string? nom = Console.ReadLine(); - - Console.WriteLine(); - - return nom; - } - - - /// - /// Gestionnaire d'événement pour le début de la partie. - /// - public static void CommencerLaPartie(Object? sender, DebutPartieEventArgs e) - { - Utils.DessinerSeparateur(); - - Console.WriteLine("La partie commence, bonne chance à tous !\n"); - } - - /// - /// Gestionnaire d'événement pour le début d'un nouveau tour. - /// - public static void NouveauTour(Object? sender, NouveauTourEventArgs e) - { - Utils.DessinerSeparateur(); - - Console.WriteLine($"Tour {e.Tour} - {e.Joueur.Nom}\n"); - - Utils.DessinerPlateau(e.Grille, e.Indicateurs); - - Console.WriteLine(); - - } - - /// - /// Gestionnaire d'événement pour la demande d'ajout d'un jeton. - /// - public static Jeton? DemanderJeton(Object? sender, DemanderJetonEventArgs e) - { - Console.TreatControlCAsInput = true; - Console.CursorVisible = false; - - bool aChoisi = false; - int indice = 0; - Couleur[] couleurs = (Couleur[])Enum.GetValues(typeof(Couleur)); - - while (!aChoisi) - { - Utils.DessinerPion(couleurs[indice]); - Console.Write("\b\b\b"); - - switch (Console.ReadKey(true).Key) - { - case ConsoleKey.Enter: - aChoisi = true; - break; - - case ConsoleKey.LeftArrow: - --indice; - break; - - case ConsoleKey.RightArrow: - ++indice; - break; - - case ConsoleKey.Escape: +using CoreLibrary.Events; +using CoreLibrary; + +namespace ConsoleApp +{ + /// + /// Fournit un ensemble de méthodes écoutant les événements liés au déroulement de la partie. + /// + public static class Evenements + { + /// + /// Ecoute l'événement en rapport avec la demande du nom d'un joueur. + /// La classe qui appelle l'événement; ici Partie. + /// L'instance de l'événement DemanderJoueurEventArgs créée par Partie. + /// Le nom du joueur. + /// + public static string? DemanderJoueur(Object? sender, DemanderJoueurEventArgs e) + { + Console.WriteLine($"Joueur {e.Numero}"); + Console.Write(">>> "); + + string? nom = Console.ReadLine(); + + Console.WriteLine(); + + return nom; + } + + + /// + /// Ecoute l'événement en rapport avec le début de la partie. + /// La classe qui appelle l'événement; ici Partie. + /// L'instance de l'événement DebutPartieEventArgs créée par Partie. + /// + public static void CommencerLaPartie(Object? sender, DebutPartieEventArgs e) + { + Utils.DessinerSeparateur(); + + Console.WriteLine("La partie commence, bonne chance à tous !\n"); + } + + /// + /// Ecoute l'événement en rapport avec un nouveau tour. + /// La classe qui appelle l'événement; ici Partie. + /// L'instance de l'événement NouveauTourEventArgs créée par Partie. + /// + public static void NouveauTour(Object? sender, NouveauTourEventArgs e) + { + Utils.DessinerSeparateur(); + + Console.WriteLine($"Tour {e.Tour} - {e.Joueur.Nom}\n"); + + Utils.DessinerPlateau(e.Grille, e.Indicateurs); + + Console.WriteLine(); + + } + + /// + /// Ecoute l'événement en rapport avec la demande d'un jeton. + /// La classe qui appelle l'événement; ici Partie. + /// L'instance de l'événement DemanderJetonEventArgs créée par Partie. + /// Le jeton choisi par le joueur. + /// + public static Jeton? DemanderJeton(Object? sender, DemanderJetonEventArgs e) + { + Console.TreatControlCAsInput = true; + Console.CursorVisible = false; + + bool aChoisi = false; + int indice = 0; + Couleur[] couleurs = (Couleur[])Enum.GetValues(typeof(Couleur)); + + while (!aChoisi) + { + Utils.DessinerPion(couleurs[indice]); + Console.Write("\b\b\b"); + + switch (Console.ReadKey(true).Key) + { + case ConsoleKey.Enter: + aChoisi = true; + break; + + case ConsoleKey.LeftArrow: + --indice; + break; + + case ConsoleKey.RightArrow: + ++indice; + break; + + case ConsoleKey.Escape: if (e.Indice != 0) - { + { aChoisi = true; indice = -2; - } - break; - - default: - break; - } - - if (indice == -1) - indice = couleurs.Length - 1; - else if (indice == couleurs.Length) - indice = 0; - } - - Console.TreatControlCAsInput = false; - Console.CursorVisible = true; - - return indice != -2 ? new Jeton(couleurs[indice]) : null; - } - - /// - /// Gestionnaire d'événement pour l'ajout d'un jeton. - /// - public static void AjouterJeton(Object? sender, AjouterJetonEventArgs e) - { - Utils.DessinerPion(e.Jeton.Couleur); - } - - /// - /// Gestionnaire d'événement pour la suppression du dernier jeton ajouté. - /// - public static void SupprimerDernierJeton(Object? sender, SupprimerDernierJetonEventArgs e) - { - Console.Write("\b\b\b \b\b\b\b\b\b"); - } - - /// - /// Gestionnaire d'événement pour l'ajout d'un code. - /// - public static void AjouterCode(Object? sender, AjouterCodeEventArgs e) - { - Console.WriteLine(); - - Utils.DessinerSeparateur(); - } - - /// - /// Gestionnaire d'événement pour la fin de la partie. - /// - public static void PartieTerminee(Object? sender, PartieTermineeEventArgs e) - { - Joueur[] gagnants = e.Gagnants.ToArray(); - - if (gagnants.Length > 1) - { - Console.WriteLine("C'est une égalité !"); - } - else if (gagnants.Length == 1) - { - Console.WriteLine($"C'est une victoire de {gagnants[0].Nom}."); - } - else - { - Console.WriteLine("C'est une défaite des deux joueurs..."); - } - } - } -} + } + break; + + default: + break; + } + + if (indice == -1) + indice = couleurs.Length - 1; + else if (indice == couleurs.Length) + indice = 0; + } + + Console.TreatControlCAsInput = false; + Console.CursorVisible = true; + + return indice != -2 ? new Jeton(couleurs[indice]) : null; + } + + /// + /// Ecoute l'événement en rapport avec l'ajout d'un jeton dans le code. + /// La classe qui appelle l'événement; ici Partie. + /// L'instance de l'événement AjouterJetonEventArgs créée par Partie. + /// + public static void AjouterJeton(Object? sender, AjouterJetonEventArgs e) + { + Utils.DessinerPion(e.Jeton.Couleur); + } + + /// + /// Ecoute l'événement en rapport avec la suppression du dernier jeton ajouté dans le code. + /// La classe qui appelle l'événement; ici Partie. + /// L'instance de l'événement SupprimerDernierJetonEventArgs créée par Partie. + /// + public static void SupprimerDernierJeton(Object? sender, SupprimerDernierJetonEventArgs e) + { + Console.Write("\b\b\b \b\b\b\b\b\b"); + } + + /// + /// Ecoute l'événement en rapport avec l'ajout d'un code dans le plateau. + /// La classe qui appelle l'événement; ici Partie. + /// L'instance de l'événement AjouterCodeEventArgs créée par Partie. + /// + public static void AjouterCode(Object? sender, AjouterCodeEventArgs e) + { + Console.WriteLine(); + + Utils.DessinerSeparateur(); + } + + /// + /// Ecoute l'événement en rapport avec la fin de la partie. + /// La classe qui appelle l'événement; ici Partie. + /// L'instance de l'événement PartieTermineeEventArgs créée par Partie. + /// + public static void PartieTerminee(Object? sender, PartieTermineeEventArgs e) + { + Joueur[] gagnants = e.Gagnants.ToArray(); + + if (gagnants.Length > 1) + { + Console.WriteLine("C'est une égalité !"); + } + else if (gagnants.Length == 1) + { + Console.WriteLine($"C'est une victoire de {gagnants[0].Nom}."); + } + else + { + Console.WriteLine("C'est une défaite des deux joueurs..."); + } + } + } +} diff --git a/Sources/ConsoleApp/Program.cs b/Sources/ConsoleApp/Program.cs index f4e6548..2853414 100644 --- a/Sources/ConsoleApp/Program.cs +++ b/Sources/ConsoleApp/Program.cs @@ -1,3 +1,8 @@ +/// +/// Permet de jouer une partie de mastermind, avec les règles classiques +/// (2 joueurs, 12 tours, un code à 4 couleurs parmi 6) +/// + using ConsoleApp; using CoreLibrary; diff --git a/Sources/ConsoleApp/Utils.cs b/Sources/ConsoleApp/Utils.cs index 7d14475..5cab61b 100644 --- a/Sources/ConsoleApp/Utils.cs +++ b/Sources/ConsoleApp/Utils.cs @@ -60,15 +60,17 @@ namespace ConsoleApp Console.Write(" "); // Sélectionne la couleur appropriée en fonction du type de pion (une couleur ou un indicateur) + // Si Couleur.ROUGE alors le fond sera ConsoleColor.Red + // Si Indicateur.BONNEPLACE alors le fond sera ConsoleColor.Black Console.ForegroundColor = pion.GetType().Equals(typeof(Couleur)) ? couleursTerminal.GetValueOrDefault((Couleur)pion) : indicateursTerminal.GetValueOrDefault((Indicateur)pion); - // Définit la couleur de fond en fonction de la couleur de premier plan + // Si la couleur du pion est noir, alors le fond devient blanc, sinon il reste noir Console.BackgroundColor = Console.ForegroundColor.Equals(ConsoleColor.Black) ? ConsoleColor.White : ConsoleColor.Black; Console.OutputEncoding = System.Text.Encoding.UTF8; - Console.Write("⬤"); + Console.Write("O"); Console.ResetColor(); @@ -84,11 +86,12 @@ namespace ConsoleApp foreach(Enum pion in ligne) DessinerPion(pion); + // Ajoute des espaces s'il y a moins de 4 pions à dessiner Console.Write("".PadLeft((4 - ligne.Length) * 3)); } /// - /// Dessine un plateau de jeu dans la console, affichant les jetons et les indicateurs. + /// Dessine un plateau de jeu dans la console, affichant les codes et leurs indicateurs. /// /// La grille de jeu. /// Les indicateurs associés à chaque ligne. diff --git a/Sources/CoreLibrary/Code.cs b/Sources/CoreLibrary/Code.cs index 137fd3f..a37ff96 100644 --- a/Sources/CoreLibrary/Code.cs +++ b/Sources/CoreLibrary/Code.cs @@ -30,7 +30,7 @@ namespace CoreLibrary } /// - /// Initialise une nouvelle instance de la class avec les jetons spécifiés. + /// Initialise une nouvelle instance de la classe avec les jetons spécifiés. /// /// Les jetons pour initaliser le code. /// Levée lorsque la collection de jetons spécifiée est vide. diff --git a/Sources/CoreLibrary/Events/AjouterCodeEventArgs.cs b/Sources/CoreLibrary/Events/AjouterCodeEventArgs.cs index 489fded..e9aeb4e 100644 --- a/Sources/CoreLibrary/Events/AjouterCodeEventArgs.cs +++ b/Sources/CoreLibrary/Events/AjouterCodeEventArgs.cs @@ -1,20 +1,19 @@ - -namespace CoreLibrary.Events +namespace CoreLibrary.Events { /// - /// Représente les arguments d'événement pour l'événement de l'ajout d'un code. + /// Classe contenant les arguments passées en paramètre lors de l'événement AjouterCode. /// public class AjouterCodeEventArgs : EventArgs { /// - /// Obtient le code ajouté. + /// Le code ajouté. /// public Code Code { get; private set; } /// /// Initialise une nouvelle instance de la classe avec le code spécifié. /// - /// Le code à ajouter. + /// Le code qui a été ajouté. public AjouterCodeEventArgs(Code code) { Code = code; diff --git a/Sources/CoreLibrary/Events/AjouterJetonEventArgs.cs b/Sources/CoreLibrary/Events/AjouterJetonEventArgs.cs index a19fcbf..5ca06db 100644 --- a/Sources/CoreLibrary/Events/AjouterJetonEventArgs.cs +++ b/Sources/CoreLibrary/Events/AjouterJetonEventArgs.cs @@ -1,21 +1,19 @@ - - -namespace CoreLibrary.Events +namespace CoreLibrary.Events { /// - /// Représente les arguments d'événement pour l'événement d'ajout d'un jeton. + /// Classe contenant les arguments passées en paramètre lors de l'événement AjouterJeton. /// public class AjouterJetonEventArgs : EventArgs { /// - /// Obtient le jeton ajouté. + /// Le jeton ajouté. /// public Jeton Jeton { get; private set; } /// /// Initialise une nouvelle instance de la classe avec le jeton spécifié. /// - /// Le jeton à ajouter. + /// Le jeton qui a été ajouté. public AjouterJetonEventArgs(Jeton jeton) { Jeton = jeton; diff --git a/Sources/CoreLibrary/Events/AjouterJoueursEventArgs.cs b/Sources/CoreLibrary/Events/AjouterJoueursEventArgs.cs index 0e04345..59e56a0 100644 --- a/Sources/CoreLibrary/Events/AjouterJoueursEventArgs.cs +++ b/Sources/CoreLibrary/Events/AjouterJoueursEventArgs.cs @@ -1,19 +1,19 @@ namespace CoreLibrary.Events { /// - /// Représente les arguments d'événement pour l'événement d'ajout d'un joueur. + /// Classe contenant les arguments passées en paramètre lors de l'événement AjouterJoueur. /// public class AjouterJoueursEventArgs : EventArgs { /// - /// Obtient le joueur ajouté. + /// Le joueur ajouté. /// public Joueur Joueur { get; private set; } /// /// Initialise une nouvelle instance de la classe avec le joueur spécifié. /// - /// Le joueur à ajouter. + /// Le joueur qui a été ajouté. public AjouterJoueursEventArgs(Joueur joueur) { Joueur = joueur; diff --git a/Sources/CoreLibrary/Events/DebutPartieEventArgs.cs b/Sources/CoreLibrary/Events/DebutPartieEventArgs.cs index 631c7ca..26cf6e0 100644 --- a/Sources/CoreLibrary/Events/DebutPartieEventArgs.cs +++ b/Sources/CoreLibrary/Events/DebutPartieEventArgs.cs @@ -1,7 +1,7 @@ namespace CoreLibrary.Events { - /// - /// Représente les arguments d'événement pour le début d'une partie. + // + /// Classe contenant les arguments passées en paramètre lors de l'événement DebutPartie /// public class DebutPartieEventArgs : EventArgs { diff --git a/Sources/CoreLibrary/Events/DemanderJetonEventArgs.cs b/Sources/CoreLibrary/Events/DemanderJetonEventArgs.cs index 30426e5..78dacc1 100644 --- a/Sources/CoreLibrary/Events/DemanderJetonEventArgs.cs +++ b/Sources/CoreLibrary/Events/DemanderJetonEventArgs.cs @@ -1,13 +1,19 @@ - -namespace CoreLibrary.Events +namespace CoreLibrary.Events { - /// - /// Représente les arguments d'événement pour la demande d'ajout d'un jeton. + /// + /// Classe contenant les arguments passées en paramètre lors de l'événement DemanderJeton. /// public class DemanderJetonEventArgs : EventArgs { + /// + /// L'indice du code où le jeton va être ajouté. + /// public int Indice { get; private set; } + /// + /// Initialise une nouvelle instance de la classe avec l'indice spécifié. + /// + /// L'indice du jeton qui va été ajouté. public DemanderJetonEventArgs(int indice) { Indice = indice; diff --git a/Sources/CoreLibrary/Events/DemanderJoueurEventArgs.cs b/Sources/CoreLibrary/Events/DemanderJoueurEventArgs.cs index 42ed8c2..f297f25 100644 --- a/Sources/CoreLibrary/Events/DemanderJoueurEventArgs.cs +++ b/Sources/CoreLibrary/Events/DemanderJoueurEventArgs.cs @@ -1,12 +1,12 @@ namespace CoreLibrary.Events { /// - /// Représente les arguments d'événement pour la demande d'ajout d'un joueur. + /// Classe contenant les arguments passées en paramètre lors de l'événement DemanderJoueur. /// public class DemanderJoueurEventArgs : EventArgs { /// - /// Obtient le numéro du joueur à ajouter. + /// Le numéro du joueur (Joueur 1 ou 2, 3..). /// public int Numero { get; private set; } @@ -14,7 +14,7 @@ /// /// Initialise une nouvelle instance de la classe avec le numéro du joueur spécifié. /// - /// Le numéro du joueur à ajouter. + /// Le numéro du joueur qui va être ajouté. public DemanderJoueurEventArgs(int numero) { Numero = numero; diff --git a/Sources/CoreLibrary/Events/NouveauTourEventArgs.cs b/Sources/CoreLibrary/Events/NouveauTourEventArgs.cs index cc577b1..6b55caf 100644 --- a/Sources/CoreLibrary/Events/NouveauTourEventArgs.cs +++ b/Sources/CoreLibrary/Events/NouveauTourEventArgs.cs @@ -1,29 +1,27 @@ -using CoreLibrary.Exceptions; - -namespace CoreLibrary.Events +namespace CoreLibrary.Events { /// - /// Représente les arguments d'événement pour le début d'un nouveau tour. + /// Classe contenant les arguments passées en paramètre lors de l'événement NouveauTour. /// public class NouveauTourEventArgs : EventArgs { /// - /// Obtient le joueur dont c'est le tour. + /// Le joueur dont c'est le tour. /// public Joueur Joueur { get; private set; } /// - /// Obtient le numéro du tour. + /// Le numéro du tour. /// public int Tour { get; private set; } /// - /// Obtient la grille du joueur actuelle. + /// La grille du joueur actuelle. /// public IEnumerable> Grille { get; private set; } /// - /// Obtient les indicateurs de la grille de jeu. + /// Les indicateurs de la grille de jeu. /// public IEnumerable> Indicateurs { get; private set; } diff --git a/Sources/CoreLibrary/Events/PartieTermineeEventArgs.cs b/Sources/CoreLibrary/Events/PartieTermineeEventArgs.cs index 955fc4e..052bdb6 100644 --- a/Sources/CoreLibrary/Events/PartieTermineeEventArgs.cs +++ b/Sources/CoreLibrary/Events/PartieTermineeEventArgs.cs @@ -1,31 +1,25 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace CoreLibrary.Events +namespace CoreLibrary.Events { /// - /// Représente les arguments d'événement pour la fin d'une partie. + /// Classe contenant les arguments passées en paramètre lors de l'événement PartieTerminee. /// public class PartieTermineeEventArgs : EventArgs { /// - /// Obtient les joueurs gagnants de la partie. + /// Les joueurs gagnants de la partie. /// public IEnumerable Gagnants { get; private set; } /// - /// Obtient les joueurs perdants de la partie. + /// Les joueurs perdants de la partie. /// public IEnumerable Perdants { get; private set; } /// /// Initialise une nouvelle instance de la classe avec les gagnants et les perdants spécifiés. /// - /// Les joueurs gagnants de la partie. - /// Les joueurs perdants de la partie. + /// Les gagnants. + /// Les perdants. public PartieTermineeEventArgs(IEnumerable gagnants, IEnumerable perdants) { Gagnants = gagnants; diff --git a/Sources/CoreLibrary/Events/PasserMainEventArgs.cs b/Sources/CoreLibrary/Events/PasserMainEventArgs.cs index 91df021..9e6fb3e 100644 --- a/Sources/CoreLibrary/Events/PasserMainEventArgs.cs +++ b/Sources/CoreLibrary/Events/PasserMainEventArgs.cs @@ -1,7 +1,7 @@ namespace CoreLibrary.Events { /// - /// Représente les arguments d'événement pour le passage de la main au joueur suivant. + /// Classe contenant les arguments passées en paramètre lors de l'événement PasserMain. /// public class PasserMainEventArgs : EventArgs { diff --git a/Sources/CoreLibrary/Events/SupprimerDernierJetonEventArgs.cs b/Sources/CoreLibrary/Events/SupprimerDernierJetonEventArgs.cs index 8ba6ae9..ddf9cc4 100644 --- a/Sources/CoreLibrary/Events/SupprimerDernierJetonEventArgs.cs +++ b/Sources/CoreLibrary/Events/SupprimerDernierJetonEventArgs.cs @@ -1,7 +1,7 @@ namespace CoreLibrary.Events { /// - /// Représente les arguments d'événement pour la suppression du dernier jeton ajouté. + /// Classe contenant les arguments passées en paramètre lors de l'événement SupprimerDernierJeton. /// public class SupprimerDernierJetonEventArgs : EventArgs { diff --git a/Sources/CoreLibrary/Exceptions/CodeCompletException.cs b/Sources/CoreLibrary/Exceptions/CodeCompletException.cs index dc4dc7f..a7a8064 100644 --- a/Sources/CoreLibrary/Exceptions/CodeCompletException.cs +++ b/Sources/CoreLibrary/Exceptions/CodeCompletException.cs @@ -8,17 +8,24 @@ namespace CoreLibrary.Exceptions [Serializable] public class CodeCompletException : Exception { - /// - /// Initialise une nouvelle instance de la classe . - /// + // Message par défaut private const string messageDefaut = "Le code dans lequel vous essayez d'ajouter un jeton est déjà complet."; + /// + /// Initialise une nouvelle instance de la classe avec le message par défaut. + /// public CodeCompletException() : base(messageDefaut) {} + /// + /// Initialise une nouvelle instance de la classe avec le message spécifié. + /// public CodeCompletException(string message) : base(message) {} + /// + /// Initialise une nouvelle instance de la classe avec le message et l'exception parent spécifiés. + /// public CodeCompletException(string message, Exception exception) : base(message, exception) {} diff --git a/Sources/CoreLibrary/Exceptions/CodeIncompletException.cs b/Sources/CoreLibrary/Exceptions/CodeIncompletException.cs index b437029..5e096a5 100644 --- a/Sources/CoreLibrary/Exceptions/CodeIncompletException.cs +++ b/Sources/CoreLibrary/Exceptions/CodeIncompletException.cs @@ -8,17 +8,24 @@ namespace CoreLibrary.Exceptions [Serializable] public class CodeIncompletException : Exception { - /// - /// Initialise une nouvelle instance de la classe . - /// + // Message par défaut private const string messageDefaut = "Le code que vous essayez d'ajouter dans la grille n'est pas complet."; + /// + /// Initialise une nouvelle instance de la classe avec le message par défaut. + /// public CodeIncompletException() : base(messageDefaut) { } + /// + /// Initialise une nouvelle instance de la classe avec le message spécifié. + /// public CodeIncompletException(string message) : base(message) { } + /// + /// Initialise une nouvelle instance de la classe avec le message et l'exception parent spécifié. + /// public CodeIncompletException(string message, Exception exception) : base(message, exception) { } diff --git a/Sources/CoreLibrary/Exceptions/CodeInvalideException.cs b/Sources/CoreLibrary/Exceptions/CodeInvalideException.cs index a786e04..c0468d4 100644 --- a/Sources/CoreLibrary/Exceptions/CodeInvalideException.cs +++ b/Sources/CoreLibrary/Exceptions/CodeInvalideException.cs @@ -8,23 +8,33 @@ namespace CoreLibrary.Exceptions [Serializable] public class CodeInvalideException : Exception { - /// - /// Initialise une nouvelle instance de la classe . - /// - /// La taille du code que vous essayez d'ajouter. - /// La taille du code que le plateau attend. + // Message par défaut private const string messageDefaut = "Le code que vous essayez d'ajouter est invalide."; + /// + /// Initialise une nouvelle instance de la classe avec le message par défaut. + /// public CodeInvalideException() : base(messageDefaut) { } + /// + /// Initialise une nouvelle instance de la classe avec des attributs spécifiés. + /// + /// La taille du code que vous essayez d'ajouter. + /// La taille du code que le plateau attend. public CodeInvalideException(int tailleCodeAjoute, int tailleCodePlateau) : base($"Le code que vous essayez d'ajouter est un code de taille {tailleCodeAjoute}, or le plateau attend un code de {tailleCodePlateau}.") { } + /// + /// Initialise une nouvelle instance de la classe avec le message spécifié. + /// public CodeInvalideException(string message) : base(message) { } + /// + /// Initialise une nouvelle instance de la classe avec le message et l'exception parent spécifiés. + /// public CodeInvalideException(string message, Exception exception) : base(message, exception) { } diff --git a/Sources/CoreLibrary/Exceptions/CodeVideException.cs b/Sources/CoreLibrary/Exceptions/CodeVideException.cs index f9fc813..4d1f987 100644 --- a/Sources/CoreLibrary/Exceptions/CodeVideException.cs +++ b/Sources/CoreLibrary/Exceptions/CodeVideException.cs @@ -8,17 +8,24 @@ namespace CoreLibrary.Exceptions [Serializable] public class CodeVideException : Exception { - /// - /// Initialise une nouvelle instance de la classe . - /// + // Message par défaut private const string messageDefaut = "Le code dans lequel vous essayez de supprimer un jeton est déjà vide."; + /// + /// Initialise une nouvelle instance de la classe avec le message par défaut. + /// public CodeVideException() : base(messageDefaut) { } + /// + /// Initialise une nouvelle instance de la classe avec le message spécifié. + /// public CodeVideException(string message) : base(message) { } + /// + /// Initialise une nouvelle instance de la classe avec le message et l'exception parent spécifiés. + /// public CodeVideException(string message, Exception exception) : base(message, exception) { } diff --git a/Sources/CoreLibrary/Exceptions/GrilleCompleteException.cs b/Sources/CoreLibrary/Exceptions/GrilleCompleteException.cs index b2d9ce0..da5e6d3 100644 --- a/Sources/CoreLibrary/Exceptions/GrilleCompleteException.cs +++ b/Sources/CoreLibrary/Exceptions/GrilleCompleteException.cs @@ -8,17 +8,24 @@ namespace CoreLibrary.Exceptions [Serializable] public class GrilleCompleteException : Exception { - /// - /// Initialise une nouvelle instance de la classe . - /// + // Message par défaut private const string messageDefaut = "La grille dans laquelle vous essayez d'ajouter un code est déjà complète."; + /// + /// Initialise une nouvelle instance de la classe avec le message par défaut. + /// public GrilleCompleteException() : base(messageDefaut) { } + /// + /// Initialise une nouvelle instance de la classe avec le message spécifié. + /// public GrilleCompleteException(string message) : base(message) { } + /// + /// Initialise une nouvelle instance de la classe avec le message et l'exception parent spécifiés. + /// public GrilleCompleteException(string message, Exception exception) : base(message, exception) { } diff --git a/Sources/CoreLibrary/Exceptions/IndiceCodeException.cs b/Sources/CoreLibrary/Exceptions/IndiceCodeException.cs index 1366665..2c40b3c 100644 --- a/Sources/CoreLibrary/Exceptions/IndiceCodeException.cs +++ b/Sources/CoreLibrary/Exceptions/IndiceCodeException.cs @@ -8,23 +8,33 @@ namespace CoreLibrary.Exceptions [Serializable] public class IndiceCodeException : Exception { - /// - /// Initialise une nouvelle instance de la classe . - /// - /// L'indice incorrect qui a été spécifié. - /// L'indice maximum permis. + // Message par défaut private const string messageDefaut = "L'indice du jeton que vous essayez de récupérer est hors de la plage valide."; + /// + /// Initialise une nouvelle instance de la classe avec le message par défaut. + /// public IndiceCodeException() : base(messageDefaut) { } + /// + /// Initialise une nouvelle instance de la classe avec les attributs spécifiés. + /// + /// L'indice incorrect qui a été spécifié. + /// L'indice maximum permis. public IndiceCodeException(int indice, int indiceMax) : base($"Vous avez essayé de récupérer le jeton à la place {indice}, mais son indice doit être compris entre 0 et {indiceMax}.") { } + /// + /// Initialise une nouvelle instance de la classe avec le message spécifié. + /// public IndiceCodeException(string message) : base(message) { } + /// + /// Initialise une nouvelle instance de la classe avec le message et l'exception parent spécifiés. + /// public IndiceCodeException(string message, Exception exception) : base(message, exception) { } diff --git a/Sources/CoreLibrary/Exceptions/PartieNonCommenceeException.cs b/Sources/CoreLibrary/Exceptions/PartieNonCommenceeException.cs index 3c0f8c7..23fb29b 100644 --- a/Sources/CoreLibrary/Exceptions/PartieNonCommenceeException.cs +++ b/Sources/CoreLibrary/Exceptions/PartieNonCommenceeException.cs @@ -8,17 +8,24 @@ namespace CoreLibrary.Exceptions [Serializable] public class PartieNonCommenceeException : Exception { - /// - /// Initialise une nouvelle instance de la classe . - /// + // Message par défaut private const string messageDefaut = "La partie n'a pas encore commencée."; + /// + /// Initialise une nouvelle instance de la classe avec le message par défaut. + /// public PartieNonCommenceeException() : base(messageDefaut) { } + /// + /// Initialise une nouvelle instance de la classe avec le message spécifié. + /// public PartieNonCommenceeException(string message) : base(message) { } + /// + /// Initialise une nouvelle instance de la classe avec le message et l'exception parent spécifiés. + /// public PartieNonCommenceeException(string message, Exception exception) : base(message, exception) { } diff --git a/Sources/CoreLibrary/Exceptions/TailleCodeException.cs b/Sources/CoreLibrary/Exceptions/TailleCodeException.cs index bf3fae9..ecec3e3 100644 --- a/Sources/CoreLibrary/Exceptions/TailleCodeException.cs +++ b/Sources/CoreLibrary/Exceptions/TailleCodeException.cs @@ -8,22 +8,31 @@ namespace CoreLibrary.Exceptions [Serializable] public class TailleCodeException : Exception { - /// - /// Initialise une nouvelle instance de la classe . - /// - /// La taille du code spécifiée. + // Message par défaut private const string messageDefaut = "Un code doit avoir une taille positive non nulle."; + /// + /// Initialise une nouvelle instance de la classe avec le message par défaut. + /// public TailleCodeException() : base(messageDefaut) { } + /// + /// Initialise une nouvelle instance de la classe avec l'attribut spécifié. + /// public TailleCodeException(int taille) : base($"Un code doit avoir une taille positive non nulle, or il a reçu {taille}.") { } + /// + /// Initialise une nouvelle instance de la classe avec le message spécifié. + /// public TailleCodeException(string message) : base(message) { } + /// + /// Initialise une nouvelle instance de la classe avec le message et l'exception parent spécifiés. + /// public TailleCodeException(string message, Exception exception) : base(message, exception) { } diff --git a/Sources/CoreLibrary/Exceptions/TailleGrilleException.cs b/Sources/CoreLibrary/Exceptions/TailleGrilleException.cs index e7f06ef..e257c41 100644 --- a/Sources/CoreLibrary/Exceptions/TailleGrilleException.cs +++ b/Sources/CoreLibrary/Exceptions/TailleGrilleException.cs @@ -8,22 +8,32 @@ namespace CoreLibrary.Exceptions [Serializable] public class TailleGrilleException : Exception { - /// - /// Initialise une nouvelle instance de la classe . - /// - /// La taille de grille spécifiée. + // Message par défaut private const string messageDefaut = "Une grille doit avoir une taille positive non nulle."; + /// + /// Initialise une nouvelle instance de la classe avec le message par défaut. + /// public TailleGrilleException() : base(messageDefaut) { } + /// + /// Initialise une nouvelle instance de la classe avec l'attribut spécifié. + /// La taille de la grille. + /// public TailleGrilleException(int taille) : base($"Une grille doit avoir une taille positive non nulle, or elle a reçu {taille}.") { } + /// + /// Initialise une nouvelle instance de la classe avec le message spécifié. + /// public TailleGrilleException(string message) : base(message) { } + /// + /// Initialise une nouvelle instance de la classe avec le message et l'exception parent spécifiés. + /// public TailleGrilleException(string message, Exception exception) : base(message, exception) { }