diff --git a/Sources/ConsoleApp/Program.cs b/Sources/ConsoleApp/Program.cs index fc9e32a..475a617 100644 --- a/Sources/ConsoleApp/Program.cs +++ b/Sources/ConsoleApp/Program.cs @@ -10,8 +10,36 @@ ReglesClassiques partie = new ReglesClassiques(); Utils.AfficherTitre(); Utils.AfficherTitre("Joueurs"); -string joueur1 = Utils.SaisirNom(); -string joueur2 = Utils.SaisirNom(); + +string joueur1; +string joueur2; + +while (true) +{ + try + { + joueur1 = Utils.SaisirNom(); + break; + } + catch(UtilsNomJoueurNullException) + { + Console.WriteLine("Nom invalide pour le joueur ! Ressaisir le nom"); + } +} + +while (true) +{ + try + { + joueur2 = Utils.SaisirNom(); + break; + } + catch (UtilsNomJoueurNullException) + { + Console.WriteLine("Nom invalide pour le joueur 2 ! Ressaisir le nom"); + } +} + Utils.AfficherSeparateur(); partie.AjouterJoueur(joueur1); diff --git a/Sources/ConsoleApp/Utils.cs b/Sources/ConsoleApp/Utils.cs index b19d651..76b1885 100644 --- a/Sources/ConsoleApp/Utils.cs +++ b/Sources/ConsoleApp/Utils.cs @@ -62,8 +62,13 @@ namespace ConsoleApp Console.WriteLine(nom); Console.Write(">>> "); nom = Console.ReadLine() ?? nom; + if (nom == "") + { + --nombreJoueurs; + throw new UtilsNomJoueurNullException(); + } Console.WriteLine(); - + return nom; } @@ -218,7 +223,15 @@ namespace ConsoleApp else { Console.Write("\b\b\b \b\b\b\b\b\b\b\b\b\b\b\b"); - code.SupprimerDernierJeton(); + try + { + code.SupprimerDernierJeton(); + } + catch(CodeTableauLesJetonsVideException) + { + Console.WriteLine("Il n'y a pas de jetons! Impossible de supprimer"); + } + } } } diff --git a/Sources/ConsoleApp/UtilsNomJoueurNullException.cs b/Sources/ConsoleApp/UtilsNomJoueurNullException.cs new file mode 100644 index 0000000..20187e7 --- /dev/null +++ b/Sources/ConsoleApp/UtilsNomJoueurNullException.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ConsoleApp +{ + public class UtilsNomJoueurNullException : Exception + { + public UtilsNomJoueurNullException() : base("Le nom du joueur est null") + { } + } +} diff --git a/Sources/CoreLibrary/Code.cs b/Sources/CoreLibrary/Code.cs index c8d3d7a..79e10b3 100644 --- a/Sources/CoreLibrary/Code.cs +++ b/Sources/CoreLibrary/Code.cs @@ -35,7 +35,7 @@ public Jeton RecupererJeton(int indice) { if(indice < 0 || indice > TailleMaximale()) - throw new CodeIndiceHorsDePortéeException(); + throw new CodeIndiceHorsDePorteeException(); Jeton? jeton = lesJetons[indice]; diff --git a/Sources/CoreLibrary/CodeIndiceHorsDePortéeException.cs b/Sources/CoreLibrary/CodeIndiceHorsDePorteeException.cs similarity index 51% rename from Sources/CoreLibrary/CodeIndiceHorsDePortéeException.cs rename to Sources/CoreLibrary/CodeIndiceHorsDePorteeException.cs index 1dd987e..36c0929 100644 --- a/Sources/CoreLibrary/CodeIndiceHorsDePortéeException.cs +++ b/Sources/CoreLibrary/CodeIndiceHorsDePorteeException.cs @@ -6,9 +6,9 @@ using System.Threading.Tasks; namespace CoreLibrary { - public class CodeIndiceHorsDePortéeException : Exception + public class CodeIndiceHorsDePorteeException : Exception { - public CodeIndiceHorsDePortéeException() : base("L'indice pointe en dehors du tableau") + public CodeIndiceHorsDePorteeException() : base("L'indice pointe en dehors du tableau") { } } }