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; } }