예제 #1
0
        } // Cette méthode contient toutes les étapes nécéssaires à la résolution d'une grille de Sudoku par la méthode de Programmation orientée objet à partie d'une grille rentrée en dur.

        static void SudokuNaïfPOOFichier()
        {
            Console.ForegroundColor = ConsoleColor.Black;
            Console.BackgroundColor = ConsoleColor.White;
            Sudoku Grille = new Sudoku("Sudoku.csv");

            Console.WriteLine("Voici la grille de départ : \n");
            Grille.ToSTring();
            Console.ForegroundColor = ConsoleColor.Black;
            Grille.Difficulte();
            Console.WriteLine("Appuyez sur une touche pour résoudre ce Sudoku !");
            Console.ReadKey();
            Sudoku Test   = new Sudoku("Sudoku.csv");
            int    valeur = Test.CompteurResolution();

            if (valeur > 10000) // Chiffre impossible d'étapes, la grille est bloquée et ne peut pas être résolue.
            {
                Console.WriteLine("Vous êtes en présence d'un cas très rare, la grille est trop compliquée pour le programme POO, essayez-la donc avec le Backtracking !");
            }
            else
            {
                Grille.Resolution(); // La méthode résolution de la classe sudoku va résoudre la grille.
                Console.ForegroundColor = ConsoleColor.Black;
                Console.WriteLine("Voici la solution : \n\n");
                Console.WriteLine("Le nombre d'étapes nécéssaires à la résolution est de " + valeur + "\n\n.");
                Console.WriteLine("Bravo, vous êtes très rapide ! \n\n");
                Grille.EcritureFichier("Solution.csv"); // Le programme écrit la solution de la grille dans le fichier 'Solution.csv' du répertoire Sudoku\bin\Debug du projet.
                Console.WriteLine("La solution à été écrite dans le ficher SolutionSudoku.csv situé dans le même répertoire que le fichier 'Sudoku.csv'.\n");
                Console.WriteLine("Merci d'avoir utilisé le résolveur de Sudoku ! \n\n");
                Console.WriteLine("D'ailleurs, voulez-vous recommencer ? \n");
            }
        } // Cette méthode contient toutes les étapes nécéssaires à la résolution d'une grille de Sudoku par la méthode de Programmation orientée objet à partir d'une grille d'un fichier.