Mise en place des exception pour Plateau et ReglesClassiques
continuous-integration/drone/push Build is passing Details

master
pauline.prady 12 months ago
parent 0eae7d04a0
commit 438f363642

@ -15,6 +15,16 @@
public Plateau(int tailleCode, int tailleGrille) public Plateau(int tailleCode, int tailleGrille)
{ {
if(tailleCode <= 0)
{
throw new PlateauTailleCodeException();
}
if (tailleGrille != tailleCode)
{
throw new PlateauTailleCodeException();
}
codeSecret = new Code(tailleCode); codeSecret = new Code(tailleCode);
grille = new Code?[tailleGrille]; grille = new Code?[tailleGrille];
indicateurs = new IEnumerable<Indicateur>[tailleGrille]; indicateurs = new IEnumerable<Indicateur>[tailleGrille];
@ -22,11 +32,6 @@
this.tailleCode = tailleCode; this.tailleCode = tailleCode;
GenererCodeAleatoire(); GenererCodeAleatoire();
foreach (Jeton? jeton in codeSecret.Jetons())
{
Console.WriteLine(jeton.Value.Couleur);
}
} }
private void GenererCodeAleatoire() private void GenererCodeAleatoire()
@ -46,6 +51,11 @@
public void AjouterCode(Code code) public void AjouterCode(Code code)
{ {
if (code.NbJetons < tailleCode || !code.EstComplet())
{
throw new PlateauCodeIncompletException();
}
indicateurs[Tour - 1] = codeSecret.Comparer(code); indicateurs[Tour - 1] = codeSecret.Comparer(code);
grille[Tour - 1] = code; grille[Tour - 1] = code;
++Tour; ++Tour;

@ -0,0 +1,8 @@
namespace CoreLibrary
{
public class PlateauCodeIncompletException : Exception
{
public PlateauCodeIncompletException() : base("Le code est incomplet")
{ }
}
}

@ -0,0 +1,7 @@
namespace CoreLibrary
{
public class PlateauTailleCodeException : Exception
{
public PlateauTailleCodeException() : base("La taille du code doit être positif") { }
}
}

@ -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")
{ }
}
}

@ -29,7 +29,7 @@
public Joueur JoueurCourant() public Joueur JoueurCourant()
{ {
if (!joueurCourant.HasValue) if (!joueurCourant.HasValue)
throw new Exception(); throw new ReglesClassiquesJoueurCourantNull();
return joueurs[joueurCourant.Value]; return joueurs[joueurCourant.Value];
} }
@ -37,7 +37,9 @@
public void PasserLaMain() public void PasserLaMain()
{ {
if (!joueurCourant.HasValue) if (!joueurCourant.HasValue)
throw new Exception(); {
throw new ReglesClassiquesJoueurCourantNull();
}
joueurCourant++; joueurCourant++;
if (joueurCourant >= joueurs.Length) if (joueurCourant >= joueurs.Length)

@ -0,0 +1,8 @@
namespace CoreLibrary
{
public class ReglesClassiquesJoueurCourantNull : Exception
{
public ReglesClassiquesJoueurCourantNull() : base("Le joueur courant est null")
{ }
}
}
Loading…
Cancel
Save