private void Solve_btn(object sender, RoutedEventArgs e) { int[,] matrix = WriteReadFile.ReadMatrix(); Puzzle15State state = new Puzzle15State(matrix); BestFirstSolver solver = new BestFirstSolver(); moves = solver.Solve(state); WriteReadFile.WriteMovesToFile(moves); Replay.IsEnabled = true; }
static void Main(string[] args) { var farmerWolfGoatState = new FarmerWolfGoatState( null, FarmerWolfGoatState.FarmerWolfGoatSide.East, FarmerWolfGoatState.FarmerWolfGoatSide.East, FarmerWolfGoatState.FarmerWolfGoatSide.East, FarmerWolfGoatState.FarmerWolfGoatSide.East ); ISolver[] solvers = { new BestFirstSolver(), new BreadthFirstSolver(), new DepthFirstSolver() }; foreach (var solver in solvers) { Console.WriteLine("Solver: {0}\n", solver.GetType().Name); foreach (var step in solver.Solve(farmerWolfGoatState)) { Console.WriteLine(step); } Console.WriteLine("****** END ******\n\n"); } Console.WriteLine("Get all solve with BestFirstSolver:\n"); var bestFirstSolver = new BestFirstSolver(); var allSolve = bestFirstSolver.SolveAllMove(farmerWolfGoatState); foreach (var solves in allSolve) { foreach (var solve in solves) { Console.WriteLine(solve); } Console.WriteLine("\n**********************************\n"); } Console.WriteLine("****** END ******\n\n"); Console.ReadKey(); }