Пример #1
0
        private void btn_addition_joueur_Click(object sender, EventArgs e)
        {
            Participant = Tournoi.ChargerListe();

            Nom    = TXT_NAME.Text;
            Prenom = TXT_SURNAME.Text;
            Club   = TXT_CLUB.Text;
            Titre  = CBO_Titres.Text;
            // Vérifie que le champ ELO est bien un chiffre entier
            if (int.TryParse(TXT_ELO.Text, out ELO) == true)
            {
                // Pas plus que 3'000 (le champion du monde à 2884 actuellement ;))
                if (ELO > 3000)
                {
                    ELO = 3000;
                    MessageBox.Show("Valeur ELO fixée au seuil de 3'000 !", "Enregistrement des joueurs", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                // Minimum de 100 (un peu de respect quand même)
                if (ELO < 100)
                {
                    ELO = 100;
                    MessageBox.Show("Valeur ELO fixée au seuil de 100 !", "Enregistrement des joueurs", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                Participant.Add(new Joueur(Nom, Prenom, Club, ELO, Titre));
                string[] row = new string[] { (Nombre_de_Joueurs + 1).ToString(), Participant[Nombre_de_Joueurs].nom, Participant[Nombre_de_Joueurs].prenom, Participant[Nombre_de_Joueurs].club, Participant[Nombre_de_Joueurs].ELO.ToString(), Participant[Nombre_de_Joueurs].Titre };
                DGV_LDD.Rows.Add(row);
                // Clear les champs de texte
                TXT_NAME.Clear();
                TXT_SURNAME.Clear();
                TXT_CLUB.Clear();
                TXT_ELO.Clear();
                // Retour sur le premier champ du combobox
                this.CBO_Titres.SelectedIndex = 0;
                // Il faudra trier
                Tri_Fait = 0;
                // MAJ des joueurs de tournoi
                Nombre_de_Joueurs = Tournoi.Joueurs_Totaux();
                Nombre_de_Joueurs++;
                Tournoi.MAJ_Joueurs_Totaux(Nombre_de_Joueurs);
            }
            else
            {
                MessageBox.Show("Joueur non inscrit ! \r\nVeuillez entrer une valeur ELO valide !", "Enregistrement des joueurs", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Пример #2
0
        private void btn_csv1_Click(object sender, EventArgs e)
        {
            // Déclaration de variables locales pour prendre le nombre de participants à écrire dans le fichier csv
            int NbParticipants = Tournoi.Joueurs_Totaux();
            int i = 0;
            // Reprend la liste des joueurs
            List <Joueur> Participants;

            Participants = Tournoi.ChargerListe();
            // Cherche le chemin
            string path = @"H:\GENLOG\POBJ\Projet_Tournoi_Echec\Tournoi_Echec\Classement.csv";

            // Ecriture (avec l'encoding UTF8)
            File.WriteAllText(path, "Pos : ;N° ;Joueur : ;Club : ;ELO : ;Titre;V;N;P;Pts : ;Buchh : ;SoBerg :" + Environment.NewLine + Environment.NewLine, Encoding.UTF8);
            for (i = 0; i < NbParticipants; i++)
            {
                File.AppendAllText(path, (i + 1).ToString() + ';' + Participants[i].n_Depart_Du_JoueurLoad().ToString() + ';' + Participants[i].nom + ' ' + Participants[i].prenom + ';' + Participants[i].club + ';' + Participants[i].ELO.ToString() + ';' + Participants[i].Titre + ';' + Participants[i].VictoireJoueur().ToString() + ';' + Participants[i].NulJoueur().ToString() + ';' + Participants[i].DefaiteJoueur().ToString() + ';' + Participants[i].PointsJoueur().ToString() + ';' + Participants[i].BuchhJoueur().ToString() + ';' + Participants[i].SoBergJoueur().ToString() + Environment.NewLine, Encoding.UTF8);
            }
        }
Пример #3
0
        private void btn_csv2_Click(object sender, EventArgs e)
        {
            // Déclaration de variables locales pour prendre le nombre de participants à écrire dans le fichier csv
            int NbParticipants = Tournoi.Joueurs_Totaux();
            int i = 0;
            // Reprend la liste des joueurs
            List <Joueur> Participants;

            Participants = Tournoi.ChargerListe();
            // Faire disparaitre le bouton pour extraire sur csv
            //btn_csv2.Hide();
            // Cherche le chemin
            string path = @"H:\GENLOG\POBJ\Projet_Tournoi_Echec\Tournoi_Echec\Classement detaille.csv";

            // Ecriture (avec l'encoding UTF8)
            File.WriteAllText(path, "Pos : ;N° ;Joueur : ;Club : ;ELO : ;Titre ;R1 : ;R2 : ;R3 : ;R4 : ;R5 : ;R6 : ;R7 : ;R8 : ;R9 : ;R10 : ;R11 : ;Pts : ;Buchh : ;SoBerg :" + Environment.NewLine + Environment.NewLine, Encoding.UTF8);
            for (i = 0; i < NbParticipants; i++)
            {
                File.AppendAllText(path, (i + 1).ToString() + ';' + Participants[i].n_Depart_Du_JoueurLoad().ToString() + ';' + Participants[i].nom + ' ' + Participants[i].prenom + ';' + Participants[i].club + ';' + Participants[i].ELO.ToString() + ';' + Participants[i].Titre + ';' + Ronde_Texte[i, 0] + ';' + Ronde_Texte[i, 1] + ';' + Ronde_Texte[i, 2] + ';' + Ronde_Texte[i, 3] + ';' + Ronde_Texte[i, 4] + ';' + Ronde_Texte[i, 5] + ';' + Ronde_Texte[i, 6] + ';' + Ronde_Texte[i, 7] + ';' + Ronde_Texte[i, 8] + ';' + Ronde_Texte[i, 9] + ';' + Ronde_Texte[i, 10] + ';' + Participants[i].PointsJoueur().ToString() + ';' + Participants[i].BuchhJoueur().ToString() + ';' + Participants[i].SoBergJoueur().ToString() + Environment.NewLine, Encoding.UTF8);
            }
        }
Пример #4
0
        private void btn_random_Click(object sender, EventArgs e)
        {
            // Le but est de créer une liste de joueurs, afin d'éviter de perdre trop de temps à taper chaque joueur pour tester à chaque fois
            // sert pour les tests
            // Déclaration des variables locales
            int i = 1;
            int nb_joueur_random = 40;

            // Chargement de la liste
            Participant = Tournoi.ChargerListe();
            // Création de 40 joueurs, avec des clubs, ELO et valeur aléatoire
            for (i = 1; i <= nb_joueur_random; i++)
            {
                // Va rechercher et créer un des joueurs random
                switch (i)
                {
                case 1:
                    Participant.Add(new Joueur("Page", "Ismaël", "Avenches", 1671, " "));
                    break;

                case 2:
                    Participant.Add(new Joueur("Pasquier", "Arthur", "Estavanens", 1426, " "));
                    break;

                case 3:
                    Participant.Add(new Joueur("Henrio", "Alexandre", "Les Moulins", 1773, " "));
                    break;

                case 4:
                    Participant.Add(new Joueur("Habibi", "Ali", "Berne", 2229, "IM"));
                    break;

                case 5:
                    Participant.Add(new Joueur("Graf", "Antonin", "Ayent", 1590, " "));
                    break;

                case 6:
                    Participant.Add(new Joueur("Weibel", "Romain", "Bossonnens", 1786, " "));
                    break;

                case 7:
                    Participant.Add(new Joueur("Fürst", "Fabien", "Neuchatel", 1898, " "));
                    break;

                case 8:
                    Participant.Add(new Joueur("Ben Rehuma", "Malek", "Renens", 1643, " "));
                    break;

                case 9:
                    Participant.Add(new Joueur("Stoeri", "Simon", "Payerne", 2195, "FM"));
                    break;

                case 10:
                    Participant.Add(new Joueur("Chabloz", "Alexis", "Gérignoz", 1760, " "));
                    break;

                case 11:
                    Participant.Add(new Joueur("Resplendino", "Maxime", "Lausanne", 1549, " "));
                    break;

                case 12:
                    Participant.Add(new Joueur("Da Costa", "Yann", "Neuchatel", 1540, " "));
                    break;

                case 13:
                    Participant.Add(new Joueur("Chabloz", "Simon", "Gérignoz", 1641, " "));
                    break;

                case 14:
                    Participant.Add(new Joueur("Turrian", "Alexandre", "Château-d'Oex", 1600, " "));
                    break;

                case 15:
                    Participant.Add(new Joueur("Flückiger", "Harris", "Morges", 1645, " "));
                    break;

                case 16:
                    Participant.Add(new Joueur("Weibel", "Nicolas", "Bossonnens", 1770, " "));
                    break;

                case 17:
                    Participant.Add(new Joueur("Martins", "David", "Lausanne", 1515, " "));
                    break;

                case 18:
                    Participant.Add(new Joueur("Pin", "Gaël", "Neuchatel", 1701, " "));
                    break;

                case 19:
                    Participant.Add(new Joueur("Djoric", "Jordan", "Neuchatel", 1490, " "));
                    break;

                case 20:
                    Participant.Add(new Joueur("Raetsky", "Alexander", "Russie", 2374, "GM"));
                    break;

                case 21:
                    Participant.Add(new Joueur("Morard", "Cédric", "Nyon", 1850, " "));
                    break;

                case 22:
                    Participant.Add(new Joueur("Yersin", "Dominique", "Château-d'Oex", 1740, " "));
                    break;

                case 23:
                    Participant.Add(new Joueur("Garcia", "Oscar", "Neuchatel", 1470, " "));
                    break;

                case 24:
                    Participant.Add(new Joueur("Assadi", "Ghadir", "Yverdon", 1444, " "));
                    break;

                case 25:
                    Participant.Add(new Joueur("Volet", "Jérémy", "St-Martin", 1703, " "));
                    break;

                case 26:
                    Participant.Add(new Joueur("Sellem", "Johan", "Montbovon", 1609, " "));
                    break;

                case 27:
                    Participant.Add(new Joueur("Morier", "Olivier", "Château-d'Oex", 1596, " "));
                    break;

                case 28:
                    Participant.Add(new Joueur("Gautschi", "Simon", "Lausanne", 1666, " "));
                    break;

                case 29:
                    Participant.Add(new Joueur("Morier", "Matthis", "Château-d'Oex", 1543, " "));
                    break;

                case 30:
                    Participant.Add(new Joueur("Gomes", "João", "Echallens", 1663, " "));
                    break;

                case 31:
                    Participant.Add(new Joueur("Favre", "Patrick", "Lausanne", 1479, " "));
                    break;

                case 32:
                    Participant.Add(new Joueur("Combremont", "Didier", "L'Etivaz", 1842, " "));
                    break;

                case 33:
                    Participant.Add(new Joueur("Karnstadt", "Steve", "La Tine", 1690, " "));
                    break;

                case 34:
                    Participant.Add(new Joueur("Strambace", "Dario", "Lausanne", 1659, " "));
                    break;

                case 35:
                    Participant.Add(new Joueur("Pasquier", "Simon", "Estavanens", 1239, " "));
                    break;

                case 36:
                    Participant.Add(new Joueur("Karnstadt", "Kevin", "La Tine", 1774, " "));
                    break;

                case 37:
                    Participant.Add(new Joueur("Provenzano", "Yohann", "Villeneuve", 1588, " "));
                    break;

                case 38:
                    Participant.Add(new Joueur("Favre", "Arnaud", "Estavanens", 1637, " "));
                    break;

                case 39:
                    Participant.Add(new Joueur("Isoz", "Jean-Michel", "Château-d'Oex", 1415, " "));
                    break;

                case 40:
                    Participant.Add(new Joueur("Bovey", "Philippe", "Lausanne", 1699, " "));
                    break;

                //Sinon, pas de joueur à inscrire
                default:
                    break;
                }
                // Affiche sur le tableau
                string[] row = new string[] { (Nombre_de_Joueurs + 1).ToString(), Participant[Nombre_de_Joueurs].nom, Participant[Nombre_de_Joueurs].prenom, Participant[Nombre_de_Joueurs].club, Participant[Nombre_de_Joueurs].ELO.ToString(), Participant[Nombre_de_Joueurs].Titre };
                DGV_LDD.Rows.Add(row);
                Nombre_de_Joueurs++;
            }
            // Remettre à jour le nombre de joueur
            Tournoi.MAJ_Joueurs_Totaux(Nombre_de_Joueurs);
            // Il faudra trier
            Tri_Fait = 0;
            // A la fin, on fait disparaitre le bouton et les lables correspondants
            btn_random.Hide();
            lbl_rl1.Hide();
            lbl_rl2.Hide();
        }
Пример #5
0
        private void btn_ShowClassement_Click(object sender, EventArgs e)
        {
            // Liste des joueurs
            List <Joueur> Participants;
            List <Joueur> Classement;
            // Element pour l'affichage et les calculs
            int   Ronde, Adv;
            int   i, j, TeteDeSerie, V, N, D;
            float Pts = 0, Buchh = 0, SoBerg = 0;
            float Buchh_A_Ajouter = 0, SoBerg_A_Ajouter = 0;
            // Prend le nombre de joueur
            int NbParticipants;

            // Prise de la liste de depart
            Participants = Tournoi.ChargerListe();
            // Prise du nombre de joueur
            NbParticipants = Tournoi.Joueurs_Totaux();
            // Retrié par n° de départ du joueur, pour que le calcul s'effectue correctement
            TriParNdeDepart(Participants, NbParticipants);
            // Effacer toutes les cases du tableau (par précaution)
            dataGridView1.Rows.Clear();
            // Remise à 0 du buchholz et du SoBerg de tous les joueurs (si plusieurs appuis sur le bouton classement, il ne doit pas y avoir de changements)
            for (i = 0; i < (NbParticipants); i++)
            {
                // Effacer
                Participants[i].MAJ_Buchh(0);
                Participants[i].MAJ_SoBerg(0);
            }
            // Effectuer le calcul du Buchholtz et de la somme de Buchholtz de tous les joueurs dans la gestion du classement
            // parce que ceux-ci évolue selon le tournoi des joueurs adverses
            // Prend le nombre de rondes
            Ronde = Tournoi.Ronde_Jouee();
            for (j = 1; j <= Ronde; j++)
            {
                // D'abord mettre à jour tous les buchholtz avant les SoBerg
                for (i = 0; i < (NbParticipants); i++)
                {
                    // Va chercher l'adversaire du joueur (-1 car le joueur tête de série n°1 à l'indice 0)
                    Adv = (Participants[i].Adv_To_Return(j)) - 1;
                    // Mise à jour du buchholtz à ajouter
                    Buchh_A_Ajouter = Participants[Adv].PointsJoueur();
                    // Va chercher le buccholtz actuel du joueur
                    Buchh = Participants[i].BuchhJoueur();
                    // Remet à jour le buchholtz du joueur
                    Participants[i].MAJ_Buchh(Buchh_A_Ajouter + Buchh);
                }
            }
            for (j = 1; j <= Ronde; j++)
            {
                // Et on refait la même opération pour les SoBerg
                for (i = 0; i < (NbParticipants); i++)
                {
                    // Va chercher l'adversaire du joueur (-1 car le joueur tête de série n°1 à l'indice 0)
                    Adv = (Participants[i].Adv_To_Return(j)) - 1;
                    // Mise à jour du soberg à ajouter
                    SoBerg_A_Ajouter = Participants[Adv].BuchhJoueur();
                    // Va chercher le soberg actuel du joueur
                    SoBerg = Participants[i].SoBergJoueur();
                    // Remet à jour le soberg du joueur
                    Participants[i].MAJ_SoBerg(SoBerg_A_Ajouter + SoBerg);
                }
            }
            //  Copie de la liste des participants dans la zone prévue pour l'affichage du classement
            Classement = Participants;
            // Génération du classement et tri selon le nombre de points / Bucch / SoBerg et Victoire des joueurs
            TriClassement(Classement, NbParticipants);
            // Génération du tableau
            for (i = 0; i < (NbParticipants); i++)
            {
                // Elements à afficher
                TeteDeSerie = Classement[i].n_Depart_Du_JoueurLoad();
                V           = Classement[i].VictoireJoueur();
                N           = Classement[i].NulJoueur();
                D           = Classement[i].DefaiteJoueur();
                Pts         = Classement[i].PointsJoueur();
                Buchh       = Classement[i].BuchhJoueur();
                SoBerg      = Classement[i].SoBergJoueur();
                // Mise à jour du rang final du joueur
                Classement[i].MAJ_RangFinal(i + 1);
                // Création des lignes pour le classement
                string[] row = new string[] { (i + 1).ToString(), TeteDeSerie.ToString(), Classement[i].nom + " " + Classement[i].prenom, Classement[i].club, Classement[i].ELO.ToString(), Classement[i].Titre, V.ToString(), N.ToString(), D.ToString(), Pts.ToString(), Buchh.ToString(), SoBerg.ToString() };
                dataGridView1.Rows.Add(row);
            }
            // Enregistrer la liste
            Tournoi.SaveListe(Participants);
            // Faire apparaître le bouton pour un classement complet
            btn_ShowClassementDetaille.Show();
            // Faire apparaitre le bouton pour extraire sur csv
            btn_csv1.Show();
        }
Пример #6
0
        private void btn_ShowClassementDetaille2_Click(object sender, EventArgs e)
        {
            // Liste des joueurs
            List <Joueur> Participants;
            List <Joueur> Classement;
            // Element pour l'affichage et les calculs
            int   Ronde, Adv, Pos;
            int   i, j, TeteDeSerie;
            float Pts, Buchh, SoBerg;
            // Prend le nombre de joueur
            int NbParticipants;

            // Vider le tableau
            dataGridView1.Rows.Clear();
            // Prise de la liste de depart
            Participants = Tournoi.ChargerListe();
            // Prise du nombre de joueur
            NbParticipants = Tournoi.Joueurs_Totaux();
            // Effectuer le calcul du Buchholtz et de la somme de Buchholtz de tous les joueurs dans la gestion du classement
            // parce que ceux-ci évolue selon le tournoi des joueurs adverses
            // Prend le nombre de rondes
            Ronde = Tournoi.Ronde_Jouee();
            // On retrie par n° de départ pour prendre les positions finales de chaque joueur
            TriParNdeDepart(Participants, NbParticipants);
            // Prendre les adversaires selon leurs classements
            for (i = 0; i < (NbParticipants); i++)
            {
                // Prise de la valeur de chaque adversaire / chaque couleur et chaque resultat pour chaque ronde
                for (j = 1; j <= Ronde; j++)
                {
                    // Prise de l'adversaire (son n° indice)
                    Adv = (Participants[i].Adv_To_Return(j)) - 1;
                    // Remplacer la valeur de l'adversaire ==> l'indice devient son classement final
                    Pos = Participants[Adv].RangFinal();
                    Participants[i].MAJ_n_adversaire(Pos, j);
                }
            }
            // Copie de la liste des participants dans la zone prévue pour l'affichage du classement
            Classement = Participants;
            // On retrie selon la position
            TriParPosition(Classement, NbParticipants);
            // Génération du tableau
            for (i = 0; i < (NbParticipants); i++)
            {
                // Prise de la valeur de chaque adversaire / chaque couleur et chaque resultat pour chaque ronde
                for (j = 1; j <= Ronde; j++)
                {
                    // Prise de l'adversaire (son n° de classement FINAL)
                    Adv = (Participants[i].Adv_To_Return(j)) - 1;
                    nbAdversaire[j - 1] = Participants[Adv].RangFinal();
                    // Prise de la couleur
                    if ((Participants[i].Couleur_To_Return(j) == 0))
                    {
                        // 0 = noir ==> mise de S (Schwarz)
                        nbCouleur[j - 1] = 'S';
                    }
                    else
                    {
                        // 1 = blanc ==> mise de W (Weiss)
                        nbCouleur[j - 1] = 'W';
                    }
                    // Prise du résultat
                    nbResultat[j - 1] = Participants[i].Resultat_To_Return(j);
                    // Mettre tout ça dans un string
                    Ronde_Texte[i, j - 1] = nbAdversaire[j - 1].ToString() + nbCouleur[j - 1].ToString() + nbResultat[j - 1].ToString();
                }
                // Pour les rondes non jouées (pour y mettre des cases 'X' pour indiqué une ronde non jouée
                for (j = (Ronde + 1); j <= 11; j++)
                {
                    Ronde_Texte[i, j - 1] = "X";
                }
                // Elements à afficher
                TeteDeSerie = Classement[i].n_Depart_Du_JoueurLoad();
                Pts         = Classement[i].PointsJoueur();
                Buchh       = Classement[i].BuchhJoueur();
                SoBerg      = Classement[i].SoBergJoueur();
                // Création des lignes pour le classement
                string[] row = new string[] { (i + 1).ToString(), TeteDeSerie.ToString(), Classement[i].nom + " " + Classement[i].prenom, Classement[i].club, Classement[i].ELO.ToString(), Classement[i].Titre, Ronde_Texte[i, 0], Ronde_Texte[i, 1], Ronde_Texte[i, 2], Ronde_Texte[i, 3], Ronde_Texte[i, 4], Ronde_Texte[i, 5], Ronde_Texte[i, 6], Ronde_Texte[i, 7], Ronde_Texte[i, 8], Ronde_Texte[i, 9], Ronde_Texte[i, 10], Pts.ToString(), Buchh.ToString(), SoBerg.ToString() };
                dataGridView1.Rows.Add(row);
            }
            // Faire disparaitre le bouton pour afficher le classement détaillé (pour éviter un bug de remise de valeur incompréhensible)
            btn_ShowClassementDetaille2.Hide();
            // Faire apparaitre le bouton pour extraire sur csv
            btn_csv2.Show();
        }
Пример #7
0
        // Methode pour la gestion des rondes
        public void Genere_Ronde()
        {
            // Pirse du numero de tête de série du joueur
            int TeteDeSerie_Blanc, TeteDeSerie_Noir;
            // Prise du nombre de joueurs ayant le même nombre de points
            int Nb_Joueurs_Meme_Points = 0;
            // Pour détécter le nombre d'échiquier à initialisé (dans le cas où il y a plusieurs rondes)
            int Pointeur_Echiquier_Debut = 0;
            int Pointeur_Echiquier_Fin   = 0;
            int Echiquier = 0;
            // Pour la boucle for
            double i;
            int    j;

            // MAJ de la ronde jouee
            Tournoi.MAJ_Ronde_Jouee(Ronde);
            Ronde = Tournoi.Ronde_Jouee();
            // Prise de la liste de depart
            Participants = Tournoi.ChargerListe();
            // Prise du nombre de joueur
            Nombre_de_Joueurs = Tournoi.Joueurs_Totaux();

            // Si c'est la première ronde, il y a besoin de moins d'étapes (pas de couleurs, pas d'adversaires, 1ère ronde vérouillée)
            if (Ronde == 1)
            {
                // Etape 1 : séparer en deux la liste de départ
                Separation = Nombre_de_Joueurs / 2;
                // Etape 2 : gérer la ronde de départ
                for (Init_Echiquier = 0; Init_Echiquier < Separation; Init_Echiquier++)
                {
                    if (Couleur == 1)
                    {
                        // Chargement des têtes de séries
                        TeteDeSerie_Blanc = Participants[Init_Echiquier].n_Depart_Du_JoueurLoad();
                        TeteDeSerie_Noir  = Participants[Init_Echiquier + Separation].n_Depart_Du_JoueurLoad();
                        string[] row = new string[] { (Init_Echiquier + 1).ToString(), TeteDeSerie_Blanc.ToString(), Participants[Init_Echiquier].nom + " " + Participants[Init_Echiquier].prenom, Participants[Init_Echiquier].Titre, "(0)", "", "-", "", TeteDeSerie_Noir.ToString(), Participants[Separation + Init_Echiquier].nom + " " + Participants[Separation + Init_Echiquier].prenom, Participants[Separation + Init_Echiquier].Titre, "(0)" };
                        DGW_Ronde1.Rows.Add(row);
                        Couleur = 0;
                    }
                    else
                    {
                        // Chargement des têtes de séries
                        TeteDeSerie_Blanc = Participants[Init_Echiquier + Separation].n_Depart_Du_JoueurLoad();
                        TeteDeSerie_Noir  = Participants[Init_Echiquier].n_Depart_Du_JoueurLoad();
                        string[] row = new string[] { (Init_Echiquier + 1).ToString(), TeteDeSerie_Blanc.ToString(), Participants[Separation + Init_Echiquier].nom + " " + Participants[Separation + Init_Echiquier].prenom, Participants[Separation + Init_Echiquier].Titre, "(0)", "", "-", "", TeteDeSerie_Noir.ToString(), Participants[Init_Echiquier].nom + " " + Participants[Init_Echiquier].prenom, Participants[Init_Echiquier].Titre, "(0)" };
                        DGW_Ronde1.Rows.Add(row);
                        Couleur = 1;
                    }
                }
            }
            // Mais si il y a déjà eu une ronde jouée, il va falloir traité plus de choses
            else
            {
                // Etape 1 : Trier le nombre de joueurs selon leurs points
                TriGesRonde(Participants, Ronde, Nombre_de_Joueurs);
                // Etape 2 : Compter le nombre de joueurs ayant le même nombre de points en partant par le nombre de points maximum
                for (i = (Ronde - 1); i >= 0; i = i - 0.5)
                {
                    // Traitement n°1 : Les joueurs ayant le maximum de points
                    // ... dernier traitement : Les joueurs ayant le minimum de points
                    for (j = 0; j < Nombre_de_Joueurs; j++)
                    {
                        // Calcul du nombre de joueurs ayant le même nombre de points
                        if (Participants[j].PointsJoueur() == i)
                        {
                            Nb_Joueurs_Meme_Points++;
                        }
                    }
                    // Il y a traitement d'information que s'il y a au moins 1 joueur avec le nombre de poitns requis
                    if (Nb_Joueurs_Meme_Points > 0)
                    {
                        // Ensuite, pour la première gestion des rondes, on effectue la même chose que pour la première ronde
                        Separation = Nb_Joueurs_Meme_Points / 2;
                        // Dans le cas ou le nombre de joueurs est pair
                        if ((Nb_Joueurs_Meme_Points % 2) == 0)
                        {
                            // Chargement du nombre d'échiquier à initialiser
                            Pointeur_Echiquier_Fin = Pointeur_Echiquier_Fin + Separation;
                            // Gestion des rondes
                            for (Init_Echiquier = Pointeur_Echiquier_Debut; Init_Echiquier < Pointeur_Echiquier_Fin; Init_Echiquier++)
                            {
                                // Chargement des têtes de séries
                                TeteDeSerie_Blanc = Participants[Pointeur_Echiquier_Debut].n_Depart_Du_JoueurLoad();
                                TeteDeSerie_Noir  = Participants[Pointeur_Echiquier_Debut + 1].n_Depart_Du_JoueurLoad();
                                string[] row = new string[] { (Echiquier + 1).ToString(), TeteDeSerie_Blanc.ToString(), Participants[Pointeur_Echiquier_Debut].nom + " " + Participants[Pointeur_Echiquier_Debut].prenom, Participants[Pointeur_Echiquier_Debut].Titre, "(" + Participants[Pointeur_Echiquier_Debut].PointsJoueur() + ")", "", "-", "", TeteDeSerie_Noir.ToString(), Participants[Pointeur_Echiquier_Debut + 1].nom + " " + Participants[Pointeur_Echiquier_Debut + 1].prenom, Participants[Pointeur_Echiquier_Debut + 1].Titre, "(" + Participants[Pointeur_Echiquier_Debut + 1].PointsJoueur() + ")" };
                                DGW_Ronde1.Rows.Add(row);
                                // Incrémenataion du pointeur de l'échiquier DE DEUX (car un échiquier = deux joueurs)
                                Pointeur_Echiquier_Debut = Pointeur_Echiquier_Debut + 2;
                                // Incrémentation pour afficher le bon échiquier
                                Echiquier++;
                            }
                            // Reinitialise les pointeurs d'échiquiers
                            Pointeur_Echiquier_Fin = Pointeur_Echiquier_Debut;
                            // Remise à 0 des joueurs ayant le même nombre de points
                            Nb_Joueurs_Meme_Points = 0;
                        }
                        // Dans le cas ou le nombre de joueur est impair
                        else
                        {
                            // Chargement du nombre d'échiquier à initialiser + 1 avec un joueur ayant le nombre de points inférieur
                            Pointeur_Echiquier_Fin = Pointeur_Echiquier_Fin + Separation + 1;
                            // Gestion des rondes
                            for (Init_Echiquier = Pointeur_Echiquier_Debut; Init_Echiquier < Pointeur_Echiquier_Fin; Init_Echiquier++)
                            {
                                // Chargement des têtes de séries
                                TeteDeSerie_Blanc = Participants[Pointeur_Echiquier_Debut].n_Depart_Du_JoueurLoad();
                                TeteDeSerie_Noir  = Participants[Pointeur_Echiquier_Debut + 1].n_Depart_Du_JoueurLoad();
                                string[] row = new string[] { (Echiquier + 1).ToString(), TeteDeSerie_Blanc.ToString(), Participants[Pointeur_Echiquier_Debut].nom + " " + Participants[Pointeur_Echiquier_Debut].prenom, Participants[Pointeur_Echiquier_Debut].Titre, "(" + Participants[Pointeur_Echiquier_Debut].PointsJoueur() + ")", "", "-", "", TeteDeSerie_Noir.ToString(), Participants[Pointeur_Echiquier_Debut + 1].nom + " " + Participants[Pointeur_Echiquier_Debut + 1].prenom, Participants[Pointeur_Echiquier_Debut + 1].Titre, "(" + Participants[Pointeur_Echiquier_Debut + 1].PointsJoueur() + ")" };
                                DGW_Ronde1.Rows.Add(row);
                                // Incrémenataion du pointeur de l'échiquier DE DEUX (car un échiquier = deux joueurs)
                                Pointeur_Echiquier_Debut = Pointeur_Echiquier_Debut + 2;
                                // Incrémentation pour afficher le bon échiquier
                                Echiquier++;
                            }
                            // Reinitialise les pointeurs d'échiquiers
                            Pointeur_Echiquier_Fin = Pointeur_Echiquier_Debut;
                            // Remise à -1 des joueurs ayant le même nombre de points (pour retirer un joueur avec le nombre de points inférieur)
                            Nb_Joueurs_Meme_Points = -1;
                        }
                    }
                }
            }
            // Faire disparaitre le bouton "générer ronde" et afficher le bouton "ronde suivante"
            BTN_GenRondes.Hide();
            BTN_Ronde_suivante.Show();
            MAJ = 0;
        }