using BowlingLib.Model; using BowlingMaping; using Business; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BowlingApp { /// /// This class is used to create a match /// public static class Match { #region Méthodes /// /// Match en Equipe /// /// public static void JeuxEnEquipe(Saissiseur saissiseur) { 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); } 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 manager = new Manager(new EquipeDbDataManager(), new PartieDbDataManager(), new JoueurDbDataManager()); manager.AddJoueur(joueur); Lancer(partie, saissiseur); manager.AddPartie(partie); } } } /// /// Match en Individuel /// /// public static void JeuIndividuel(Saissiseur saissiseur) { Afficheur.InviteNrb("Joueur"); int nbrj = saissiseur.CollecteNbr(); List joueurs = new List(); for (int j = 0; j < nbrj; j++) { Afficheur.InviteNom($"Joueur {j + 1}"); string nomJoueur = saissiseur.CollecteNom(); Joueur joueur = new Joueur(nomJoueur); joueurs.Add(joueur); } for (int i = 0; i < joueurs.Count; i++) { Joueur joueur = joueurs[i]; Partie partie = new Partie(joueur); Manager manager = new Manager(new EquipeDbDataManager(), new PartieDbDataManager(), new JoueurDbDataManager()); manager.AddJoueur(joueur); joueurs.ForEach(item => manager.AddJoueur(item)); Lancer(partie, saissiseur); manager.AddPartie(partie); } } /// /// Match en Solo /// /// 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()); manager.AddJoueur(joueur); Lancer(partie, saissiseur); manager.AddPartie(partie); } /// /// Faire des lancers /// /// /// private static void Lancer(Partie partie,Saissiseur saissiseur) { for (int i = 0; i < 10; i++) { Afficheur.AfficheNumFrame(i + 1); Frame frame = new Frame(i + 1); Afficheur.InviteQuilleTombe(1); frame.Lancer1 = new Lancer(saissiseur.CollectQuilleTomber()); Afficheur.InviteQuilleTombe(2); frame.Lancer2 = new Lancer(saissiseur.CollectQuilleTomber()); partie.AddFrame(frame); } } #endregion } }