Exemple #1
0
 private static PuzzleStateTarget ReadJson(string read)
 {
     try
     {
         PuzzleStateTarget state = JsonConvert.DeserializeObject <PuzzleStateTarget>(read);
         return(state);
     }
     catch
     {
         return(new PuzzleStateTarget());
     }
 }
Exemple #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("N Puzzle Solver Program");
            Console.WriteLine("By: Taylor May");
            while (true)
            {//input loop to get start information
                Console.WriteLine("Please enter the initial state json file name:");
                string filename;
                filename = Console.ReadLine();
                try
                {
                    target = ReadJson(System.IO.File.ReadAllText(filename));
                }
                catch { }
                Console.WriteLine("Reading File...");
                if (target.start != null)
                {
                    break;
                }
                else
                {
                    Console.WriteLine("Invalid File Provided try again!");
                }
            }
            //now we solve
            Console.WriteLine("Starting Board:");
            DrawBoard(target.start);
            Console.WriteLine("");
            Console.WriteLine("Goal Board:");
            DrawBoard(target.goal);
            Console.WriteLine("");

            BackTracking1();

            Console.WriteLine("Backtracking: Depth First");
            Console.WriteLine("Puzzle Answer found after " + repetitions + " state checks.");
            Console.WriteLine("Number of moves to solve puzzle: " + stateDatabase.Count);
            Console.WriteLine("");
            Console.WriteLine("Instructions to solve:");
            DrawInstructions();
            Console.WriteLine("");
            Console.WriteLine("");

            GraphSearch();
            Console.ReadKey();
        }