コード例 #1
0
        static void Main(string[] args)
        {
            TestData testData = TestData.TestMaze4();

            Object[,] mazeObjects = testData.MazeConstructionObjects;
            int numberOfRows      = (mazeObjects.GetLength(0) - 1) / 2;
            int numberOfColumn    = (mazeObjects.GetLength(1) - 1) / 2;
            int startingRow       = testData.StartingRow;
            int startingColumn    = testData.StartingColumn;
            int destinationRow    = testData.DestinationRow;
            int destinationColumn = testData.DestinationColumn;

            try
            {
                Maze maze = new Maze(numberOfRows, numberOfColumn, startingRow,
                                     startingColumn, destinationRow, destinationColumn, mazeObjects);
                Mouse mouse   = new Mouse(maze);
                var   printer = new MazePrinter(mouse, maze);
                mouse.SolveMaze();
                Console.WriteLine("You have succeeded!");
                printer.PrintDirectionsTakenByMouseToReachDestination();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine("You have failed!");
            }
        }
コード例 #2
0
        public void Test_PrintMaze()
        {
            var mazeFilePath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestMazes\small_maze.txt");
            var mazePuzzle   = new MazePuzzle(mazeFilePath);
            var escapeRoute  = MazeRunner.SolveMaze(mazePuzzle.Maze, mazePuzzle.StartPoint, mazePuzzle.EndPoint);
            var strMaze      = MazePrinter.PrintMaze(mazePuzzle.Maze, escapeRoute);

            Console.WriteLine(strMaze);
        }