diff --git a/Sources/BowlingApp/Afficheur.cs b/Sources/BowlingApp/Afficheur.cs index 22976be..e4578ce 100644 --- a/Sources/BowlingApp/Afficheur.cs +++ b/Sources/BowlingApp/Afficheur.cs @@ -58,9 +58,9 @@ namespace BowlingApp Console.WriteLine($"Entrez le nombre de quilles tombés du lancer {i}"); } - public static void InviteNomJoueur(string pseudo) + public static void InviteNomJoueur(string pseudoJoueur,string speudoEquipe="") { - Console.WriteLine($"Tour {pseudo}"); + Console.WriteLine((string.IsNullOrEmpty(speudoEquipe)) ? $"c'est le tour du joueur {pseudoJoueur}" : $"c'est le tour du joueur {pseudoJoueur} de l'équipe {speudoEquipe}"); } #endregion } diff --git a/Sources/BowlingApp/Match.cs b/Sources/BowlingApp/Match.cs index 1f21f8f..b9bf952 100644 --- a/Sources/BowlingApp/Match.cs +++ b/Sources/BowlingApp/Match.cs @@ -15,49 +15,24 @@ namespace BowlingApp public static class Match { #region Méthodes - + /// - /// Match en Equipe + /// Match en Solo /// /// - public static void JeuxEnEquipe(Saissiseur saissiseur) + public static void JeuSolo(Saissiseur saissiseur) { + Afficheur.InviteNom("Joueur"); + string Nom = saissiseur.CollecteNom(); + Joueur joueur = new Joueur(Nom); + Partie partie = new Partie(joueur); Manager manager = new Manager(new EquipeDbDataManager(), new PartieDbDataManager(), new JoueurDbDataManager()); - Afficheur.InviteNrb("Equipe"); - int nbrE = saissiseur.CollecteNbr(); - Afficheur.InviteNrb("Joueur par Equipe"); - int nbrJ = saissiseur.CollecteNbr(); - List equipes = new List(); - for (int i = 0; i < nbrE; i++) - { - Afficheur.InviteNom($"Equipe {i + 1}");//Recuperer le nom de l'equipe - string Nom = saissiseur.CollecteNom(); - Equipe equipe = new Equipe(Nom); - for (int j = 0; j < nbrJ; j++) - { - Console.WriteLine($"Equipe {i + 1}"); - Afficheur.InviteNom($"Joueur {j + 1}"); //Recuperer le nom des joueur de chaque Equipe - string nomJoueur = saissiseur.CollecteNom(); - Joueur joueur = new Joueur(nomJoueur); - equipe.AjouterJoueur(joueur); - } - equipes.Add(equipe); - manager.AddEquipe(equipe); - } - - for (int i = 0; i < equipes.Count; i++) - { - for (int j = 0; j < equipes[i].Joueurs.Count; j++) - { - Joueur joueur = equipes[i].Joueurs[j]; - Partie partie = new Partie(joueur); - manager.AddJoueur(joueur); - LancerBoulle(partie, saissiseur); - manager.AddPartie(partie); - } - } + LancerBoulle(partie, saissiseur); + joueur.AddPartie(partie); + manager.AddJoueur(joueur); } + /// /// Match en Individuel /// @@ -73,7 +48,6 @@ namespace BowlingApp int nbrj = saissiseur.CollecteNbr(); List joueurs = new List(); List partiees = new List(); - int nbPartie = 1; // Nombre de partie pour chaque joueur // Création des joueurs et leur partie for (int j = 0; j < nbrj; j++) @@ -106,23 +80,57 @@ namespace BowlingApp } } - /// - /// Match en Solo + /// Match en Equipe /// /// - public static void JeuSolo(Saissiseur saissiseur) + public static void JeuxEnEquipe(Saissiseur saissiseur) { - Afficheur.InviteNom("Joueur"); - string Nom = saissiseur.CollecteNom(); - Joueur joueur = new Joueur(Nom); - Partie partie = new Partie(joueur); Manager manager = new Manager(new EquipeDbDataManager(), new PartieDbDataManager(), new JoueurDbDataManager()); - LancerBoulle(partie, saissiseur); - joueur.AddPartie(partie); - manager.AddJoueur(joueur); + Afficheur.InviteNrb("Equipe"); + int nbrE = saissiseur.CollecteNbr(); + Afficheur.InviteNrb("Joueur par Equipe"); + int nbrJ = saissiseur.CollecteNbr(); + List equipes = new List(); + for (int i = 0; i < nbrE; i++) + { + Afficheur.InviteNom($"Equipe {i + 1}");//Recuperer le nom de l'equipe + string Nom = saissiseur.CollecteNom(); + Equipe equipe = new Equipe(Nom); + for (int j = 0; j < nbrJ; j++) + { + Console.WriteLine($"Equipe {i + 1}"); + Afficheur.InviteNom($"Joueur {j + 1}"); //Recuperer le nom des joueur de chaque Equipe + string nomJoueur = saissiseur.CollecteNom(); + Joueur joueur = new Joueur(nomJoueur); + equipe.AjouterJoueur(joueur); + } + equipes.Add(equipe); + } + // Lancement pour chaque partie avce 10 frames + for (int j = 0; j < 10; j++) // + { + for (int i = 0; i /// Faire des lancers /// @@ -184,10 +192,28 @@ namespace BowlingApp } partie.AddFrame(frame); Console.WriteLine(partie.GetScore());//affichage du score à la fin de chaque frame - - - } #endregion + + /// + /// Match en Equipe + /// + /// + //public static void JeuxEnEquipe(Saissiseur saissiseur) + //{ + + + // for (int i = 0; i < equipes.Count; i++) + // { + // for (int j = 0; j < equipes[i].Joueurs.Count; j++) + // { + // Joueur joueur = equipes[i].Joueurs[j]; + // Partie partie = new Partie(joueur); + // manager.AddJoueur(joueur); + // LancerBoulle(partie, saissiseur); + // manager.AddPartie(partie); + // } + // } + //} } } \ No newline at end of file diff --git a/Sources/BowlingLib/Model/Equipe.cs b/Sources/BowlingLib/Model/Equipe.cs index 86098f0..4f3b636 100644 --- a/Sources/BowlingLib/Model/Equipe.cs +++ b/Sources/BowlingLib/Model/Equipe.cs @@ -27,6 +27,7 @@ namespace BowlingLib.Model public Equipe(string nom) { Nom = nom; + Joueurs = new ReadOnlyCollection(this.joueurs); } public Equipe(long id, string nom, params Joueur[] joueurs)