Beispiel #1
0
        /// <summary>
        /// Prints the solution.
        /// </summary>
        /// <param name="solution">The solution.</param>
        public static string PrintSolution(Solution <Position> solution)
        {
            System.Text.StringBuilder sb   = new System.Text.StringBuilder();
            List <State <Position> >  list = solution.GetSolution();
            List <int> list2 = new List <int>();

            foreach (State <Position> state in list)
            {
                if (state.Parent != null)
                {
                    if (state.GetPosition().Col < state.Parent.GetPosition().Col)
                    {
                        //sb.Append(MazeLib.Direction.Left);
                        list2.Add((int)MazeLib.Direction.Left);
                    }
                    if (state.GetPosition().Col > state.Parent.GetPosition().Col)
                    {
                        //  sb.Append(MazeLib.Direction.Right);
                        list2.Add((int)MazeLib.Direction.Right);
                    }
                    if (state.GetPosition().Row < state.Parent.GetPosition().Row)
                    {
                        //  sb.Append(MazeLib.Direction.Up);
                        list2.Add((int)MazeLib.Direction.Up);
                    }
                    if (state.GetPosition().Row > state.Parent.GetPosition().Row)
                    {
                        //  sb.Append(MazeLib.Direction.Down);
                        list2.Add((int)MazeLib.Direction.Down);
                    }
                }
            }

            foreach (int i in list2)
            {
                sb.Append(i.ToString());
                //Console.Write(i);
            }
            return(sb.ToString());
        }
Beispiel #2
0
 /// <summary>
 /// Equalses the specified solution.
 /// </summary>
 /// <param name="solution">The solution.</param>
 /// <returns></returns>
 public bool Equals(Solution <T> solution) // we overload Object's Equals method
 {
     return(solutionList.Equals(solution.GetSolution()));
 }