Example #1
0
        /// <summary>
        /// Метод для размещения первого ряда
        /// </summary>
        internal void PlaceFirstRow()
        {
            map.Print();
            PlaceNum(map.GetNum(1));
            PlaceNum(map.GetNum(2));
            PlaceNum(map.GetNum(3));
            var four = map.GetNum(4);

            if (four.CheckPlace())
            {
                return;
            }
            four.TargRow = 1;
            four.TargCol = 2;
            var zero = map.GetNum(0);

            if (zero.Row == 0 && zero.Col == 3 && zero.Down == four)
            {
                four.Actual = true;
                map.MoveDown(zero);
                four.Actual = false;
            }
            else if (!(four.Row == 0 && four.Col == 3))
            {
                PlaceNum(four);
                BlackMagic1(four);
            }
        }
        public static void MoveRight(this Cell[,] map, Cell replaced)
        {
            Field.counter++;
            Cell temp = replaced.Right;

            Field.movelist.Add(temp.Value);
            map[temp.Row, temp.Col]         = replaced;
            map[replaced.Row, replaced.Col] = temp;
            temp.Col         -= 1;
            replaced.Col     += 1;
            replaced.Previous = "right";
            temp.Previous     = "left";
            map.BindNeighbours();
            map.Print();
            Thread.Sleep(Field.delay);
        }