From 438f36364203e49c22df733414e0989eb9a19d8b Mon Sep 17 00:00:00 2001 From: "pauline.prady" Date: Fri, 3 May 2024 17:08:14 +0200 Subject: [PATCH 1/3] Mise en place des exception pour Plateau et ReglesClassiques --- Sources/CoreLibrary/Plateau.cs | 20 ++++++++++++++----- .../PlateauCodeIncompletException.cs | 8 ++++++++ .../CoreLibrary/PlateauTailleCodeException.cs | 7 +++++++ .../PlateauTailleGrilleException.cs | 8 ++++++++ Sources/CoreLibrary/ReglesClassiques.cs | 6 ++++-- .../ReglesClassiquesJoueurCourantNull.cs | 8 ++++++++ 6 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 Sources/CoreLibrary/PlateauCodeIncompletException.cs create mode 100644 Sources/CoreLibrary/PlateauTailleCodeException.cs create mode 100644 Sources/CoreLibrary/PlateauTailleGrilleException.cs create mode 100644 Sources/CoreLibrary/ReglesClassiquesJoueurCourantNull.cs diff --git a/Sources/CoreLibrary/Plateau.cs b/Sources/CoreLibrary/Plateau.cs index 52d806f..3a78e43 100644 --- a/Sources/CoreLibrary/Plateau.cs +++ b/Sources/CoreLibrary/Plateau.cs @@ -15,6 +15,16 @@ public Plateau(int tailleCode, int tailleGrille) { + if(tailleCode <= 0) + { + throw new PlateauTailleCodeException(); + } + + if (tailleGrille != tailleCode) + { + throw new PlateauTailleCodeException(); + } + codeSecret = new Code(tailleCode); grille = new Code?[tailleGrille]; indicateurs = new IEnumerable[tailleGrille]; @@ -22,11 +32,6 @@ this.tailleCode = tailleCode; GenererCodeAleatoire(); - - foreach (Jeton? jeton in codeSecret.Jetons()) - { - Console.WriteLine(jeton.Value.Couleur); - } } private void GenererCodeAleatoire() @@ -46,6 +51,11 @@ public void AjouterCode(Code code) { + if (code.NbJetons < tailleCode || !code.EstComplet()) + { + throw new PlateauCodeIncompletException(); + } + indicateurs[Tour - 1] = codeSecret.Comparer(code); grille[Tour - 1] = code; ++Tour; diff --git a/Sources/CoreLibrary/PlateauCodeIncompletException.cs b/Sources/CoreLibrary/PlateauCodeIncompletException.cs new file mode 100644 index 0000000..d522cb4 --- /dev/null +++ b/Sources/CoreLibrary/PlateauCodeIncompletException.cs @@ -0,0 +1,8 @@ +namespace CoreLibrary +{ + public class PlateauCodeIncompletException : Exception + { + public PlateauCodeIncompletException() : base("Le code est incomplet") + { } + } +} diff --git a/Sources/CoreLibrary/PlateauTailleCodeException.cs b/Sources/CoreLibrary/PlateauTailleCodeException.cs new file mode 100644 index 0000000..45d3253 --- /dev/null +++ b/Sources/CoreLibrary/PlateauTailleCodeException.cs @@ -0,0 +1,7 @@ +namespace CoreLibrary +{ + public class PlateauTailleCodeException : Exception + { + public PlateauTailleCodeException() : base("La taille du code doit être positif") { } + } +} diff --git a/Sources/CoreLibrary/PlateauTailleGrilleException.cs b/Sources/CoreLibrary/PlateauTailleGrilleException.cs new file mode 100644 index 0000000..5d0bbfe --- /dev/null +++ b/Sources/CoreLibrary/PlateauTailleGrilleException.cs @@ -0,0 +1,8 @@ +namespace CoreLibrary +{ + public class PlateauTailleGrilleException : Exception + { + public PlateauTailleGrilleException() : base("La taille de la grille doit être égale à la taille du code") + { } + } +} diff --git a/Sources/CoreLibrary/ReglesClassiques.cs b/Sources/CoreLibrary/ReglesClassiques.cs index 632c259..fb1b839 100644 --- a/Sources/CoreLibrary/ReglesClassiques.cs +++ b/Sources/CoreLibrary/ReglesClassiques.cs @@ -29,7 +29,7 @@ public Joueur JoueurCourant() { if (!joueurCourant.HasValue) - throw new Exception(); + throw new ReglesClassiquesJoueurCourantNull(); return joueurs[joueurCourant.Value]; } @@ -37,7 +37,9 @@ public void PasserLaMain() { if (!joueurCourant.HasValue) - throw new Exception(); + { + throw new ReglesClassiquesJoueurCourantNull(); + } joueurCourant++; if (joueurCourant >= joueurs.Length) diff --git a/Sources/CoreLibrary/ReglesClassiquesJoueurCourantNull.cs b/Sources/CoreLibrary/ReglesClassiquesJoueurCourantNull.cs new file mode 100644 index 0000000..89e6df5 --- /dev/null +++ b/Sources/CoreLibrary/ReglesClassiquesJoueurCourantNull.cs @@ -0,0 +1,8 @@ +namespace CoreLibrary +{ + public class ReglesClassiquesJoueurCourantNull : Exception + { + public ReglesClassiquesJoueurCourantNull() : base("Le joueur courant est null") + { } + } +} From f6e5af324b3ea46482c38ffe502f23832a822625 Mon Sep 17 00:00:00 2001 From: "pauline.prady" Date: Fri, 3 May 2024 17:19:23 +0200 Subject: [PATCH 2/3] Correction exception Plateau --- Sources/CoreLibrary/Plateau.cs | 7 ++++++- .../CoreLibrary/PlateauTailleCodeIncompleteException.cs | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 Sources/CoreLibrary/PlateauTailleCodeIncompleteException.cs diff --git a/Sources/CoreLibrary/Plateau.cs b/Sources/CoreLibrary/Plateau.cs index 3a78e43..b1c885f 100644 --- a/Sources/CoreLibrary/Plateau.cs +++ b/Sources/CoreLibrary/Plateau.cs @@ -51,7 +51,12 @@ public void AjouterCode(Code code) { - if (code.NbJetons < tailleCode || !code.EstComplet()) + if (code.NbJetons < tailleCode) + { + throw new PlateauTailleCodeIncompleteException(); + } + + if (!code.EstComplet()) { throw new PlateauCodeIncompletException(); } diff --git a/Sources/CoreLibrary/PlateauTailleCodeIncompleteException.cs b/Sources/CoreLibrary/PlateauTailleCodeIncompleteException.cs new file mode 100644 index 0000000..38133c7 --- /dev/null +++ b/Sources/CoreLibrary/PlateauTailleCodeIncompleteException.cs @@ -0,0 +1,7 @@ +namespace CoreLibrary +{ + public class PlateauTailleCodeIncompleteException : Exception + { + public PlateauTailleCodeIncompleteException() : base("Le code n'est pas remplit au maximum") { } + } +} From 4d41996e8a5b4bee9e38d1a61ef535da1051d6bf Mon Sep 17 00:00:00 2001 From: "pauline.prady" Date: Fri, 3 May 2024 17:29:37 +0200 Subject: [PATCH 3/3] =?UTF-8?q?Modificaion=20incompl=C3=A8te?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/CoreLibrary/Plateau.cs | 10 +++++----- Sources/CoreLibrary/PlateauTailleCodeException.cs | 2 +- Sources/CoreLibrary/PlateauTailleGrilleException.cs | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Sources/CoreLibrary/Plateau.cs b/Sources/CoreLibrary/Plateau.cs index b1c885f..900718e 100644 --- a/Sources/CoreLibrary/Plateau.cs +++ b/Sources/CoreLibrary/Plateau.cs @@ -20,9 +20,9 @@ throw new PlateauTailleCodeException(); } - if (tailleGrille != tailleCode) + if (tailleGrille <= 0) { - throw new PlateauTailleCodeException(); + throw new PlateauTailleGrilleException(); } codeSecret = new Code(tailleCode); @@ -51,14 +51,14 @@ public void AjouterCode(Code code) { - if (code.NbJetons < tailleCode) + if (code.TailleMaximale() != tailleCode) { - throw new PlateauTailleCodeIncompleteException(); + throw new CodeTailleMaximaleException(); } if (!code.EstComplet()) { - throw new PlateauCodeIncompletException(); + throw new CodeIncompletException(); } indicateurs[Tour - 1] = codeSecret.Comparer(code); diff --git a/Sources/CoreLibrary/PlateauTailleCodeException.cs b/Sources/CoreLibrary/PlateauTailleCodeException.cs index 45d3253..a73ed73 100644 --- a/Sources/CoreLibrary/PlateauTailleCodeException.cs +++ b/Sources/CoreLibrary/PlateauTailleCodeException.cs @@ -2,6 +2,6 @@ { public class PlateauTailleCodeException : Exception { - public PlateauTailleCodeException() : base("La taille du code doit être positif") { } + public PlateauTailleCodeException() : base("La taille du code doit être positive non nulle.") { } } } diff --git a/Sources/CoreLibrary/PlateauTailleGrilleException.cs b/Sources/CoreLibrary/PlateauTailleGrilleException.cs index 5d0bbfe..1305e65 100644 --- a/Sources/CoreLibrary/PlateauTailleGrilleException.cs +++ b/Sources/CoreLibrary/PlateauTailleGrilleException.cs @@ -2,7 +2,7 @@ { public class PlateauTailleGrilleException : Exception { - public PlateauTailleGrilleException() : base("La taille de la grille doit être égale à la taille du code") + public PlateauTailleGrilleException() : base("La taille de la grille doit être égale positive non nulle.") { } } }