Example #1
0
        /// <summary>
        ///     Convert array to object
        /// </summary>
        /// <param name="maze">maze array</param>
        /// <returns>object list</returns>
        public static List <ConsoleBlock> ConvertMazeArrayToObject(int[,] maze, ref ConsolePlayer player, ref ConsoleExitDoor exitDoor)
        {
            List <ConsoleBlock> units = new List <ConsoleBlock>();

            for (int i = 0; i < maze.GetLength(0); i++)
            {
                for (int j = 0; j < maze.GetLength(1); j++)
                {
                    Position position = new Position(i, j);
                    switch (maze[i, j])
                    {
                    case -1:
                        exitDoor = new ConsoleExitDoor(position);
                        break;

                    case 1:
                        units.Add(new ConsoleBlock(position));
                        break;

                    case 2:
                        player = new ConsolePlayer(position);
                        break;
                    }
                }
            }

            return(units);
        }
 //TODO: Remove duplicate code
 private void Drow(ConsoleExitDoor exitDoor)
 {
     Console.ForegroundColor = exitDoor.Color;
     Console.SetCursorPosition(exitDoor.Position.CoordinateX, exitDoor.Position.CoordinateY);
     Console.WriteLine("X");
     Console.ForegroundColor = defaultColor;
 }
Example #3
0
        public void CreateBoard()
        {
            var mazeArray = _mazeController.GenerateMazeArray();

            ConsolePlayer player       = new ConsolePlayer(new Position {
            });
            ConsoleExitDoor exitDoor   = new ConsoleExitDoor(new Position {
            });
            List <ConsoleBlock> blocks = Helper.ConvertMazeArrayToObject(mazeArray, ref player, ref exitDoor);

            //Insert blocks into board
            _consoleBoard.Insert(blocks);
            _consoleBoard.Insert(player);
            _consoleBoard.Insert(exitDoor);

            _consoleController.DrowBoard(_consoleBoard);

            var a = _computerController.PlayMazeLogic(_consoleBoard);
        }