static void Championnat(bool j1aletrait, int N, Joueur[] tabJoueurs)
        {
            int[] winCount = new int[N];
            for (int i = 0; i < N; i++)
            {
                winCount[i] = 0;
            }

            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    if (i == j)
                    {
                        winCount[i] = 0;
                    }
                    else
                    {
                        PositionP4 position = new PositionP4(j1aletrait);
                        Partie     partie   = new Partie(tabJoueurs[i], tabJoueurs[j], position);
                        //partie.NouveauMatch(position);
                        partie.Commencer();
                        if (partie.r.ToString() == "j0gagne")
                        {
                            winCount[i] += 2;
                        }
                        else if (partie.r.ToString() == "partieNulle")
                        {
                            winCount[i] += 1;
                        }
                        else
                        {
                            winCount[i] += 0;
                        }
                    }
                }
            }
            int a = 0;

            foreach (int x in winCount)
            {
                Console.WriteLine("paramètre a = {0}, nb victoires = {1}", a++, x);
            }
        }
        static void LancerPartie(Joueur j1, Joueur j0, Position p, int N)
        {
            int    reJ0   = 0;
            int    reJ1   = 0;
            Partie partie = new Partie(j1, j0, p);

            for (int i = 0; i < N; i++)
            {
                partie.NouveauMatch(p);
                partie.Commencer();
                if (partie.r.ToString() == "j0gagne")
                {
                    reJ0 += 1;
                }
                if (partie.r.ToString() == "j1gagne")
                {
                    reJ1 += 1;
                }
            }
            Console.WriteLine("score JMCTS = " + reJ0 + ", score JMCTS.p = " + reJ1);
        }
        static void Main()
        {
            Console.WriteLine("Entrer le numéro de votre choix : \n ");
            Console.WriteLine("1_ JoueurHumain vs JMCTS ALLUMETTES");
            Console.WriteLine("2_ JMCTS vs JMCTS ALLUMETTES");
            Console.WriteLine("3_ JoueurHumain vs JMCTS P4");
            Console.WriteLine("4_ JMCTS vs JMCTS P4");
            Console.WriteLine("5_ (Q7) a Empirique JMCTS (on trouve X)");
            Console.WriteLine("6_ (Q8) JMCTS vs JMCTSp");
            Console.WriteLine("7_ (Q9) a Empirique JMCTSp (on trouve X)");
            Console.WriteLine("8_ (Q10 & 11) ");

            int saisie = Int32.Parse(Console.ReadLine());

            switch (saisie)
            {
            case 1:
                Console.WriteLine("1_ JoueurHumain vs JMCTS ALLUMETTES \n");
                JoueurHumainA j0 = new JoueurHumainA();
                JMCTS         j1 = new JMCTS(20, 30, 10);
                Console.WriteLine("Veuillez saisir le nombre total d'allumettes pour commencer le jeu");
                int       N         = int.Parse(Console.ReadLine());
                PositionA positionA = new PositionA(true, N);
                Partie    partieA   = new Partie(j1, j0, positionA);
                partieA.Commencer();
                break;

            case 2:
                Console.WriteLine("2_ JMCTS vs JMCTS ALLUMETTES \n");
                JMCTS j2 = new JMCTS(20, 30, 10);
                JMCTS j3 = new JMCTS(10, 10, 10);
                Console.WriteLine("Veuillez saisir le nombre total d'allumettes pour commencer le jeu");
                int       N2         = int.Parse(Console.ReadLine());
                PositionA positionA2 = new PositionA(true, N2);
                Partie    partieA2   = new Partie(j3, j2, positionA2);
                partieA2.Commencer();
                break;

            case 3:
                Console.WriteLine("3_ JoueurHumain vs JMCTS P4 \n");
                JoueurHumainPuissance j4 = new JoueurHumainPuissance();
                JMCTS      j5            = new JMCTS(10, 10, 100);
                PositionP4 positionP4    = new PositionP4(false);
                Partie     partieP4      = new Partie(j5, j4, positionP4);
                partieP4.Commencer();
                break;

            case 4:
                Console.WriteLine("4_ JMCTS vs JMCTS P4 \n");
                JMCTS      j6          = new JMCTS(10, 10, 100);
                JMCTS      j7          = new JMCTS(10, 10, 100);
                PositionP4 positionP42 = new PositionP4(false);
                Partie     partieP42   = new Partie(j7, j6, positionP42);
                partieP42.Commencer();
                break;

            case 5:
                Console.WriteLine("5_ (Q7) a Empirique JMCTS (on trouve 10) \n");
                JMCTS[] tabJMCTS = new JMCTS[100];
                for (int i = 0; i < 100; i++)
                {
                    tabJMCTS[i] = new JMCTS(i, i, 100);
                }
                Championnat(true, 100, tabJMCTS);
                break;

            case 6:
                Console.WriteLine("6_ (Q8) JMCTS vs JMCTSp, on joue 20 parties\n");
                JMCTS      jJMCTS      = new JMCTS(10, 10, 100);
                JMCTSp     jJMCTSp     = new JMCTSp(10, 10, 100, 4);
                PositionP4 positionP43 = new PositionP4(true);
                LancerPartie(jJMCTSp, jJMCTS, positionP43, 20);
                break;

            case 7:
                Console.WriteLine("7_ (Q9) a Empirique JMCTSp (on trouve 14) \n");
                JMCTSp[] tabJMCTSp = new JMCTSp[100];
                for (int i = 0; i < 100; i++)
                {
                    tabJMCTSp[i] = new JMCTSp(i, i, 100, 4);
                }
                Championnat(true, 100, tabJMCTSp);
                break;

            case 8:
            //

            default:
                Console.WriteLine("test");
                break;
            }
        }