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; }
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; }
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; }
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; }
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; }
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; }
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; }
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; }