Пример #1
0
 public static Map Level1()
 {
     var map = new MapConstructor(20, 15);
     map=map
         .Descriptions("Ширина этой карты - {0} элементов, высота - {1}", null, map.Map.Width, map.Map.Height)
         .Frame();
     map.Map.Solution = wnd =>
         {
             for (int x = 0; x < 20 - 2 - 1; x++) wnd.Go(Directions.Right);
             for (int x = 0; x < 15 - 2 - 1; x++) wnd.Go(Directions.Down);
         };
     map.Map[18, 13] = new Door();
     return map.Map;
 }
Пример #2
0
        public static Map Level10()
        {
            var map = new MapConstructor(18, 13);
            map=map
                .Descriptions("И наконец, общий случай", "Size {0} {1}", map.Map.Width,map.Map.Height)
                .Fill<Brick>()
                ;
            for (int i = 0; i < 5; i++)
                map = map.Dig(Directions.Right, 3).Dig(Directions.Down, 2);

            map.Map.Solution = wnd =>
                {
                    for (int i = 0; i <5; i++)
                    {
                        for (int j = 0; j < 3; j++) wnd.Go(Directions.Right);
                        for (int j = 0; j < 2; j++) wnd.Go(Directions.Down);
                    }
                };
            map.DoorHere();
            return map.Map;
        }
Пример #3
0
        public static Map Level11()
        {
            var map = new MapConstructor(21,16);
            map = map
                .Descriptions("Найдите общее решение для произвольного лабиринта такой формы", "Size {0} {1}", map.Map.Width, map.Map.Height)
                .Fill<Brick>()
                .Dig(Directions.Right, 18)
                .Dig(Directions.Down, 13)
                .Dig(Directions.Left, 18)
                .Dig(Directions.Up, 11)
                .Dig(Directions.Right, 16)
                .Dig(Directions.Down, 9)
                .Dig(Directions.Left, 14)
                .Dig(Directions.Up, 7)
                .Dig(Directions.Right, 12)
                .Dig(Directions.Down, 5)
                .Dig(Directions.Left, 10)
                .Dig(Directions.Up, 3)
                .Dig(Directions.Right, 8)
                .Dig(Directions.Down, 1)
                .DoorHere();

            return map.Map;
        }
Пример #4
0
        public static Map Level9()
        {
            var map = new MapConstructor(6, 12);
            map = map
                 .Descriptions("А так?", "Size {0} {1}", map.Map.Width, map.Map.Height)
                 .Fill<Brick>()
                ;

            for (int i = 0; i < 3; i++)
                map = map.Dig(Directions.Right, 1).Dig(Directions.Down, 3);

            map.Map.Solution = wnd =>
            {
                for (int i = 0; i < 3; i++)
                {
                    for (int j = 0; j < 1; j++) wnd.Go(Directions.Right);
                    for (int j = 0; j < 3; j++) wnd.Go(Directions.Down);
                }
            };
            map.DoorHere();
            return map.Map;
        }
Пример #5
0
        public static Map Level7()
        {
            var map = new MapConstructor(15, 6);
            map = map
                 .Descriptions("Далее мы будем проходить лабиринты со ступеньками. Траектория всегда одинаковая: влево-вниз-влево-вниз", "Size {0} {1}", map.Map.Width, map.Map.Height)
                 .Fill<Brick>()
                ;

            for (int i = 0; i < 3; i++)
                map = map.Dig(Directions.Right, 4).Dig(Directions.Down, 1);

            map.Map.Solution = wnd =>
            {
                for (int i = 0; i < 3; i++)
                {
                    for (int j = 0; j < 4; j++) wnd.Go(Directions.Right);
                    for (int j = 0; j < 1; j++) wnd.Go(Directions.Down);
                }
            };
            map.DoorHere();
            return map.Map;
        }
Пример #6
0
 public static Map Level4()
 {
     var map = new MapConstructor(21, 11);
     map = map
          .Descriptions("Как пройти этот уровень с минимальными усилиями? Размер поля {0} на {1}", null, map.Map.Width, map.Map.Height)
          .Fill<Brick>()
          .Dig(Directions.Right, 1);
     for (int i = 0; i < 2; i++)
         map.Dig(Directions.Right, 17).Dig(Directions.Down, 2).Dig(Directions.Left, 17).Dig(Directions.Down, 2);
     map.DoorHere();
     return map.Map;
 }
Пример #7
0
 public static Map Level3()
 {
     var map = new MapConstructor(16, 15);
     map = map
          .Descriptions("Сделайте общий алгоритм для прохождения змейки. Размеры лабиринта возьмите из переменной MapInfo", "Size {0} {1}", map.Map.Width, map.Map.Height)
          .Fill<Brick>();
     for (int i = 0; i < 3; i++)
         map.Dig(Directions.Right, 13).Dig(Directions.Down, 2).Dig(Directions.Left, 13).Dig(Directions.Down, 2);
     map.DoorHere();
     return map.Map;
 }
Пример #8
0
 public static Map Level2()
 {
     var map = new MapConstructor(20, 11);
     map = map
          .Descriptions("Ширина - {0}, высота - {1}", "Size {0} {1}", map.Map.Width, map.Map.Height)
          .Fill<Brick>();
     for (int i = 0; i < 2; i++)
         map.Dig(Directions.Right, 17).Dig(Directions.Down, 2).Dig(Directions.Left, 17).Dig(Directions.Down, 2);
     map.DoorHere();
     return map.Map;
 }