Merge branch 'Exception' of https://codefirst.iut.uca.fr/git/nicolas.barbosa/mastermind into Exception
continuous-integration/drone/push Build is passing Details

master
Camille TURPIN-ETIENNE 12 months ago
commit 9d5686ad97

@ -15,6 +15,16 @@
public Plateau(int tailleCode, int tailleGrille)
{
if(tailleCode <= 0)
{
throw new PlateauTailleCodeException();
}
if (tailleGrille <= 0)
{
throw new PlateauTailleGrilleException();
}
codeSecret = new Code(tailleCode);
grille = new Code?[tailleGrille];
indicateurs = new IEnumerable<Indicateur>[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,16 @@
public void AjouterCode(Code code)
{
if (code.TailleMaximale() != tailleCode)
{
throw new CodeTailleMaximaleException();
}
if (!code.EstComplet())
{
throw new CodeIncompletException();
}
indicateurs[Tour - 1] = codeSecret.Comparer(code);
grille[Tour - 1] = code;
++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 positive non nulle.") { }
}
}

@ -0,0 +1,7 @@
namespace CoreLibrary
{
public class PlateauTailleCodeIncompleteException : Exception
{
public PlateauTailleCodeIncompleteException() : base("Le code n'est pas remplit au maximum") { }
}
}

@ -0,0 +1,8 @@
namespace CoreLibrary
{
public class PlateauTailleGrilleException : Exception
{
public PlateauTailleGrilleException() : base("La taille de la grille doit être égale positive non nulle.")
{ }
}
}

@ -28,7 +28,7 @@
public Joueur JoueurCourant()
{
if (!joueurCourant.HasValue)
throw new Exception();
throw new ReglesClassiquesJoueurCourantNull();
return joueurs[joueurCourant.Value];
}
@ -36,7 +36,9 @@
public void PasserLaMain()
{
if (!joueurCourant.HasValue)
throw new Exception();
{
throw new ReglesClassiquesJoueurCourantNull();
}
joueurCourant++;
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