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

master
Céleste BARBOSA 1 year ago
parent e7309f5339
commit 3dc8dada39

@ -2,8 +2,6 @@ using ConsoleApp;
using CoreLibrary; using CoreLibrary;
Console.OutputEncoding = System.Text.Encoding.UTF8;
Utils.DessinerTitre(); Utils.DessinerTitre();
Partie maPartie = new Partie(new ReglesClassiques()); 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 // 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.BackgroundColor = Console.ForegroundColor.Equals(ConsoleColor.Black) ? ConsoleColor.White : ConsoleColor.Black;
Console.OutputEncoding = System.Text.Encoding.UTF8;
Console.Write("⬤"); Console.Write("⬤");
Console.ResetColor(); Console.ResetColor();

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

Loading…
Cancel
Save