Beispiel #1
0
        public void Play()
        {
            var mazeGenerator = new MazeGenerator();
            var maze          = mazeGenerator.GenerateSmart(20, 10);

            var draw = new Drawer();

            draw.DrawMaze(maze);

            var continuePlay = true;

            while (continuePlay)
            {
                var key = Console.ReadKey();

                switch (key.Key)
                {
                case ConsoleKey.LeftArrow:
                case ConsoleKey.A:
                    maze.TryToStep(Direction.Left);
                    break;

                case ConsoleKey.RightArrow:
                case ConsoleKey.D:
                    maze.TryToStep(Direction.Right);
                    break;

                case ConsoleKey.UpArrow:
                case ConsoleKey.W:
                    maze.TryToStep(Direction.Top);
                    break;

                case ConsoleKey.DownArrow:
                case ConsoleKey.S:
                    maze.TryToStep(Direction.Bottom);
                    break;

                case ConsoleKey.Escape:
                    continuePlay = false;
                    break;
                }

                draw.DrawMaze(maze);
            }

            Console.WriteLine("GoodBye");
        }
Beispiel #2
0
        public void Play()
        {
            var mazeGenerator = new MazeGenerator();

            this.Maze = mazeGenerator.GenerateSmartByAnton(31, 17);
            // Варинат Павла: var maze = mazeGenerator.GenerateSmart(15, 12);

            var draw = new Drawer();

            var continuePlay = true;

            while (continuePlay)
            {
                draw.DrawMaze(this.Maze);

                var key = Console.ReadKey();
                switch (key.Key)
                {
                case ConsoleKey.UpArrow:
                case ConsoleKey.W:
                    this.Maze.TryToStep(Direction.Up);
                    break;

                case ConsoleKey.DownArrow:
                case ConsoleKey.S:
                    this.Maze.TryToStep(Direction.Down);
                    break;

                case ConsoleKey.LeftArrow:
                case ConsoleKey.A:
                    this.Maze.TryToStep(Direction.Left);
                    break;

                case ConsoleKey.RightArrow:
                case ConsoleKey.D:
                    this.Maze.TryToStep(Direction.Right);
                    break;

                case ConsoleKey.Escape:
                    continuePlay = false;
                    break;
                }
            }

            Console.WriteLine("Goodbye!");
        }