private void Solve()
		{
			var initialState = _puzzleState;
			var solver = new Solver(initialState);

            while (!solver.Done)
            {
                solver.Step();
                lock (_lockObject)
                {
                    _solverState = solver.CurrentState;
                }
            }


			lock (_lockObject)
			{
				_moves = solver.GetMoveSequence();

                Console.WriteLine("Moves: " + _moves.Length);
				_moveIndex = 0;

				_puzzleState = _moves[_moveIndex].PuzzleState;
				_solved = true;
			}
		}
Exemple #2
0
        static void Main(string[] args)
        {
            var solver = new Solver();

            solver.Solve();
        }