private static PuzzleStateTarget ReadJson(string read) { try { PuzzleStateTarget state = JsonConvert.DeserializeObject <PuzzleStateTarget>(read); return(state); } catch { return(new PuzzleStateTarget()); } }
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(); }