Exemple #1
0
        public void ParfaiteContreEvoluee()
        {
            Morpion morpion = new Morpion();

            morpion.Initialisation("IA_Evoluee", "Joueur");
            Position pos;

            IA_Parfaite  perf = new IA_Parfaite(morpion.PlateauRestreint);
            IA_Aleatoire alea = new IA_Aleatoire(morpion.PlateauRestreint);
            IA_Evoluee   evol = new IA_Evoluee(morpion.PlateauRestreint);

            for (int i = 0; i < 9; i++)
            {
                if (i % 2 == 0)
                {
                    pos = perf.Jouer();
                }
                else
                {
                    pos = evol.Jouer();
                }
                morpion.Tour(pos.X, pos.Y);
                morpion.PlateauJeu.Afficher();
            }
        }
        public void TestIA()
        {
            Morpion morpion = new Morpion();

            morpion.Initialisation("IA_Evoluee", "Joueur");
            Position pos;

            IA_Evoluee ia = new IA_Evoluee(morpion.PlateauRestreint);

            // Tour 1 -- test règle 1; on vérifie si l'IA joue au centre.
            pos = ia.Jouer();
            morpion.Tour(pos.X, pos.Y);
            morpion.PlateauJeu.Afficher();
            Assert.AreEqual(morpion.Joueur1, morpion.PlateauJeu.GetCase(1, 1).Joueur);

            Console.Write("===========\n\n");

            // On recommence une partie. Tour 2 -- test règle 2; on vérifie si l'IA joue dans une diagonale si le premier joueur joue au centre.
            morpion.Initialisation("Joueur", "IA_Evoluee");
            morpion.Tour(1, 1);

            pos = ia.Jouer();
            morpion.Tour(pos.X, pos.Y);
            morpion.PlateauJeu.Afficher();
            Assert.AreEqual(morpion.Joueur2, morpion.PlateauJeu.GetCase(0, 0).Joueur);

            // Tour 3 -- test règle 3: si l'IA détecte une case pouvant faire gagner l'adversaire, elle joue dans cette case.
            morpion.Tour(1, 0);

            pos = ia.Jouer();
            morpion.Tour(pos.X, pos.Y);
            morpion.PlateauJeu.Afficher();
            Assert.AreEqual(morpion.Joueur2, morpion.PlateauJeu.GetCase(1, 2).Joueur);
        }
Exemple #3
0
        public void ParfaiteContreParfaite()
        {
            Morpion morpion = new Morpion();

            morpion.Initialisation("IA_Evoluee", "Joueur");
            Position pos;

            IA_Parfaite  perf = new IA_Parfaite(morpion.PlateauRestreint);
            IA_Aleatoire alea = new IA_Aleatoire(morpion.PlateauRestreint);
            IA_Evoluee   evol = new IA_Evoluee(morpion.PlateauRestreint);

            for (int i = 0; i < 9; i++)
            {
                if (i % 2 == 0)
                {
                    pos = perf.Jouer();
                }
                else
                {
                    pos = perf.Jouer();
                }
                morpion.Tour(pos.X, pos.Y);
                morpion.PlateauJeu.Afficher();
            }

            // Entre deux IA parfaites, il doit toujours y avoir match nul.
            Assert.AreEqual(morpion.Vainqueur, null);
        }