private static void AutoSolve(Puzzle puzzle) { Console.Clear(); PrintTemplates.Logo2(); Console.WriteLine("\n Searching for the shortest answer, Please wait.. !\n"); PuzzleSolver solver = new PuzzleSolver(puzzle); PuzzleAnswer answer = solver.SolveAsync().Result; if (answer != null) { foreach (var item in answer.Path) { Console.WriteLine(item); } Console.WriteLine("\tTested States Count: " + answer.TestedStatesCount); Console.WriteLine("\tShortest Answer Steps Count: " + answer.StepsCount); } else { Console.WriteLine("\tSorry, we couldn't find any answer!"); } Console.WriteLine("\n\tPress any key to exit.."); Console.ReadKey(); }
private static void PrintPuzzle(Puzzle puzzle) { Console.Clear(); PrintTemplates.Logo2(); Console.WriteLine("\n" + puzzle.CurrentState); StateDetails details = new StateDetails(puzzle); Console.Write(" F = " + details.F); Console.Write("\tG = " + details.G); Console.Write("\tH = " + details.H + "\n"); PrintTemplates.HowToPlay(); }