コード例 #1
0
ファイル: MatchService.cs プロジェクト: NacimaBs/POO
 /// <summary>
 /// Met à jour les resultats du matche
 /// </summary>
 public static void DeclarerMatch(ClubModel club, MatchModel m, bool resultat)
 {
     m.ClubEstVainqueur = resultat;
     m.EstAJouer        = false;
     if (m is MatchDoubleModel)
     {
         MatchDoubleModel matchdouble  = m as MatchDoubleModel;
         CompetiteurModel competiteur1 = matchdouble.ListejoueurDuClub[0];
         CompetiteurModel competiteur2 = matchdouble.ListejoueurDuClub[1];
         competiteur1.MatchesJoue.Add(matchdouble);
         competiteur2.MatchesJoue.Add(matchdouble);
         MiseAJourStatJoueur(club, competiteur1, matchdouble);
         MiseAJourStatJoueur(club, competiteur2, matchdouble);
     }
     else
     {
         MatchSimpleModel matchSimple = m as MatchSimpleModel;
         CompetiteurModel competiteur = matchSimple.JoueurDuClub;
         competiteur.MatchesJoue.Add(matchSimple);
         MiseAJourStatJoueur(club, competiteur, matchSimple);
     }
 }
コード例 #2
0
ファイル: CompetitionService.cs プロジェクト: NacimaBs/POO
        /// <summary>
        /// Determine les matches à jouer pour une competition en remplissant la liste des matches de la competition
        /// </summary>
        public static BindingList <MatchModel> InitialisationMatch(CompetitionModel c)
        {
            Random random = new Random();
            int    j      = random.Next(0, c.NombreDeJoueurParEquipe);
            int    NombreDeMatchDouble; // Le nombre de match double qui serront potentiellement joué
            BindingList <MatchModel> MatchAJouer         = new BindingList <MatchModel> {
            };
            List <CompetiteurModel> JoueurDejaPlacerClub = new List <CompetiteurModel> {
            };                                                                  // Liste contenant les joueurs qui sont deja placé sur un match de la competition

            if (c.NombreDeJoueurParEquipe > c.EquipeDuClub.ListeDeJoueur.Count) // Si l'équipe n'a pas assez de joueur
            {
                return(MatchAJouer);
            }
            if (c.EstDouble) // Si la competition est double
            {
                NombreDeMatchDouble = (c.NombreDeJoueurParEquipe / 2);


                for (int i = 0; i < NombreDeMatchDouble; i++)                       // On créer les matches doubles à jouer
                {
                    CompetiteurModel joueurClub = SelectioneJoueur(c.EquipeDuClub); // On selectionne deux joueurs de l'equipe du Club au hasard

                    CompetiteurModel joueurClub2 = SelectioneJoueur(c.EquipeDuClub);


                    while (JoueurDejaPlacerClub.Contains(joueurClub2)) // On regarde si ils sont déja placé sur un match
                    {
                        joueurClub2 = SelectioneJoueur(c.EquipeDuClub);
                    }
                    JoueurDejaPlacerClub.Add(joueurClub2);
                    while (JoueurDejaPlacerClub.Contains(joueurClub))
                    {
                        joueurClub = SelectioneJoueur(c.EquipeDuClub);
                    }
                    JoueurDejaPlacerClub.Add(joueurClub); // On les considere comme déja sur un match

                    MatchDoubleModel md = new MatchDoubleModel(c.EquipeDuClub, c.EquipeAdverse, joueurClub, joueurClub2);
                    MatchAJouer.Add(md);
                }
                CompetiteurModel joueur = SelectioneJoueur(c.EquipeDuClub);
                while (JoueurDejaPlacerClub.Contains(joueur)) // On place le joueur restant sur le match simple
                {
                    joueur = SelectioneJoueur(c.EquipeDuClub);
                }
                MatchSimpleModel matchSimple = new MatchSimpleModel(c.EquipeDuClub, c.EquipeAdverse, joueur);
                MatchAJouer.Add(matchSimple);
            }
            else
            {
                for (int i = 0; i < c.NombreDeJoueurParEquipe; i++) // On creer les Matches Simple sur le meme principe que pour les matches doubles
                {
                    CompetiteurModel joueur = SelectioneJoueur(c.EquipeDuClub);
                    while (JoueurDejaPlacerClub.Contains(joueur))
                    {
                        joueur = SelectioneJoueur(c.EquipeDuClub);
                    }
                    JoueurDejaPlacerClub.Add(joueur);
                    MatchSimpleModel matchSimple = new MatchSimpleModel(c.EquipeDuClub, c.EquipeAdverse, joueur);
                    MatchAJouer.Add(matchSimple);
                }
            }
            return(MatchAJouer);
        }