Correction de code smells dans Jouer() partie.
continuous-integration/drone/push Build is passing Details

master
Céleste BARBOSA 12 months ago
parent e7309f5339
commit 3dc8dada39

@ -2,8 +2,6 @@ using ConsoleApp;
using CoreLibrary;
Console.OutputEncoding = System.Text.Encoding.UTF8;
Utils.DessinerTitre();
Partie maPartie = new Partie(new ReglesClassiques());

@ -67,6 +67,7 @@ namespace ConsoleApp
// Définit la couleur de fond en fonction de la couleur de premier plan
Console.BackgroundColor = Console.ForegroundColor.Equals(ConsoleColor.Black) ? ConsoleColor.White : ConsoleColor.Black;
Console.OutputEncoding = System.Text.Encoding.UTF8;
Console.Write("⬤");
Console.ResetColor();

@ -150,13 +150,7 @@ namespace CoreLibrary
public void Jouer()
{
/// Ajout des joueurs jusqu'à atteindre le nombre maximum de joueurs défini par les règles
while (regles.NbJoueurs != regles.NbJoueursMaximum)
while (regles.NbJoueurs != regles.NbJoueursMaximum)
{
string nom = QuandDemanderJoueur(regles.NbJoueurs + 1) ?? $"Joueur {regles.NbJoueurs+1}";
Joueur joueur = regles.AjouterJoueur(nom);
QuandAjouterJoueur(joueur);
}
AjouterJoueurs();
regles.CommencerLaPartie();
QuandDebutPartie();
@ -171,32 +165,10 @@ namespace CoreLibrary
Code code = regles.GenererCode();
CreerCode(code);
// Phase de saisie du code par le joueur jusqu'à que le code soit complet.
while (!code.EstComplet())
{
Jeton? jeton = QuandDemanderJeton();
if(jeton == null)
{
if(DemanderJeton != null)
{
// Si quelqu'un écoute l'événement mais ne renvoie rien, alors on supprime le dernier jeton
code.SupprimerDernierJeton();
QuandSupprimerDernierJeton();
}
else
{
// Si personne n'écoute l'évenment, on met un jeton aléatoire
jeton = new Jeton();
}
}
if(jeton != null)
{
code.AjouterJeton(jeton.Value);
QuandNouveauJeton(jeton.Value);
}
}
plateauCourant.AjouterCode(code);
QuandNouveauCode(code);
@ -210,5 +182,39 @@ namespace CoreLibrary
QuandPartieTerminee(regles.Gagnants(), regles.Perdants());
}
private void AjouterJoueurs()
{
while (regles.NbJoueurs != regles.NbJoueursMaximum)
{
string nom = QuandDemanderJoueur(regles.NbJoueurs + 1) ?? $"Joueur {regles.NbJoueurs + 1}";
Joueur joueur = regles.AjouterJoueur(nom);
QuandAjouterJoueur(joueur);
}
}
private void CreerCode(Code code)
{
while (!code.EstComplet())
{
Jeton? jeton = QuandDemanderJeton();
if (DemanderJeton == null)
{
jeton = new Jeton();
}
if(!jeton.HasValue)
{
code.SupprimerDernierJeton();
QuandSupprimerDernierJeton();
}
else
{
code.AjouterJeton(jeton.Value);
QuandNouveauJeton(jeton.Value);
}
}
}
}
}

Loading…
Cancel
Save