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)
{
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);
}
}
}
///
/// Match en Individuel
///
///
public static void JeuIndividuel(Saissiseur saissiseur)
{
// Création des parties pour chaque joueur
Manager manager = new Manager(new EquipeDbDataManager(), new PartieDbDataManager(), new JoueurDbDataManager());
Afficheur.InviteNrb("Joueur");
int nbrj = saissiseur.CollecteNbr();
List joueurs = new List();
// Création des joueurs
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++)
{
Partie partie = new Partie(joueurs[i]);
manager.AddJoueur(joueurs[i]);
LancerBoulle(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());
LancerBoulle(partie, saissiseur);
joueur.AddPartie(partie);
manager.AddJoueur(joueur);
}
///
/// Faire des lancers
///
///
///