Exemplo n.º 1
0
        /*******************************************************************************************/

        /**
         * Methode qui permet de vérifier si une solution existe pour la taille demandée
         * @return boolean
         * */
        public bool EchequierEstResolvable()
        {
            Random rnd = new Random();

            //randomNumber = rnd.Next(0, mMatrice.ColSize);
            for (int i = 0; i < mMatrice.RowSize; i++)
            {
                if (ResolutionPartielle(i) == false)
                {
                    continue;
                }
                if (ResolutionPartielleDroite(0, i) == false)
                {
                    continue;
                }

                if (ResolutionPartielle(i) && ResolutionPartielleDroite(0, i))
                {
                    string solution = mMatrice.ToString() + "Le nombre de K-prometteur est : " + nombreK_prometteur + "\n\n" +
                                      mMatrice.Transposee.ToString() + "Le nombre de K-prometteur est : " + nombreK_prometteur + "\n\n";
                    listeSolutions.Add(solution);

                    mMatrice           = new Matrice(mMatrice.RowSize);
                    nbreQueensOnBoard  = 0;
                    nombreK_prometteur = 0;
                }
            }

            return(true);
        }
Exemplo n.º 2
0
        void Menus()
        {
            this.Hide();
            bool flag = true;
            int  menu;

            while (flag)
            {
                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                Console.WriteLine(
                    "\n\n\t\t\t■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■" +
                    "\n\t\t\t■ ■ ■ ■ ■ ■ ■ ■ ■ ■ MENU PRINCIPAL ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■" +
                    "\n\t\t\t■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■");
                Console.ResetColor();

                Console.WriteLine("\nVoici les Options disponibles :" +
                                  "\n\t1. Initilialiser l'Échiquier" +
                                  "\n\t2. Générer la liste des solutions pour les reines sur l'échiquier" +
                                  "\n\t3. Quitter\n");
                Console.Write("Selectionner l'Option : ");
                menu = Convert.ToInt32(Console.ReadLine());

                switch (menu)
                {
                case 1:
                    Console.WriteLine(" Entrer la taille de la Matrice");
                    tailleMatrice = Convert.ToInt32(Console.ReadLine());
                    matrice       = new Matrice(tailleMatrice);
                    jeu           = new JeuEchec(matrice);
                    break;

                case 2:
                    if (jeu.EchequierEstResolvable())
                    {
                        jeu.printSolution();
                    }
                    else
                    {
                        Console.WriteLine("Désolé, La Solution n'existe pas !");
                    }
                    break;

                case 3:
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.ForegroundColor = ConsoleColor.DarkGreen;
                    flag = false;
                    Console.WriteLine("\n\t\t\tCopyright 2021 - Toute Reproduction Interdite\n\t\t\t\t\t\tMerci !");
                    Console.ResetColor();
                    Thread.Sleep(2000);
                    Application.Exit();
                    break;

                default:
                    Console.WriteLine("Saisir quelque chose de correct please");
                    break;
                }
            }
        }
Exemplo n.º 3
0
 public JeuEchec(Matrice matrice)
 {
     this.mMatrice = matrice;
 }