Ejemplo n.º 1
0
 public void SetUp()
 {
     _explorerService = new ExplorerService();
     _maze = new MazeStructure
     {
         Items = new List<MazeItem>
         {
             new MazeItem(1,1,"s"),
             new MazeItem(2,1," "),
             new MazeItem(3,1,"x")
         }
     };
      _explore = new MazeExplorer(_maze);
 }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            // Instantiate classes until we impliment some kind of DI.
            MazeService mazeService = new MazeService();
            MazeStructure maze = new MazeStructure
            {
                Items = mazeService.ReadMapFile("ExampleMaze.txt")
            };
            MazeExplorer explorer = new MazeExplorer(maze);

            ExplorerService explorerService = new ExplorerService();

            Console.WriteLine("Commands");
            Console.WriteLine("ViewMaze (vm)");
            Console.WriteLine("stat");
            Console.WriteLine("autocomplete (ac)");
            Console.WriteLine("turnleft (l)");
            Console.WriteLine("turnright (r)");
            Console.WriteLine("moveforward (mf)");
            Console.WriteLine("lookforward (lf)");
            Console.WriteLine("lookaround (la)");
            while (true)
            {
                string inputText = Console.ReadLine();
                string[] inputSplit = inputText.Split(' ');
                if (inputSplit.Length == 1)

                    switch (inputText.ToLower())
                    {
                        case "viewmaze":
                        case "vm":
                            mazeService.ViewMaze(maze);
                            break;
                        case "stats":
                            mazeService.Stats(maze);
                            break;
                        case "autocomplete":
                        case "ac":
                            explorerService.AutoComplete(explorer);
                            break;
                        case "turnleft":
                        case "l":
                            explorerService.DoAction(explorer, ExplorerAction.TurnLeft);
                            break;
                        case "turnright":
                        case "r":
                            explorerService.DoAction(explorer, ExplorerAction.TurnRight);
                            break;
                        case "moveforward":
                        case "f":
                            explorerService.DoAction(explorer, ExplorerAction.MoveForward);
                            break;
                        case "lookforward":
                        case "lf":
                            explorerService.DoAction(explorer, ExplorerAction.LookForward);
                            break;
                        case "lookaround":
                        case "la":
                            explorerService.DoAction(explorer, ExplorerAction.LookAround);
                            break;
                    }

                if (inputText.ToLower().StartsWith("viewitem"))
                {

                    if (inputSplit.Length != 3)
                    {
                        Console.WriteLine("Viewitem accepts 2 paramaters");
                    }
                    else
                    {
                        int xCord;
                        int yCord;
                        if (int.TryParse(inputSplit[1], out xCord) &&
                            int.TryParse(inputSplit[2], out yCord))
                        {
                            mazeService.ViewItem(maze, xCord, yCord);
                        }
                    }
                }
            }
        }