.NET 4.x Рисование по координатам - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! есть двумерный массив, заполненный значениями от 1 до 3 random. и два одномерных массива, хранящие координаты.
        public void skelet()
        {
            //Массивы координат х и у
            Random Rnd = new Random();
            int mx = 10;
            int my = 10;
            int i,j;
            int[] x = new int[mx];
            for (i = 0; i < mx; i++)
            {
                x[i] = 10 * i;
            }
            int[] y = new int[my];
            for (j = 0; j < my; j++)
            {
                y[j] = 10 * j;
            }
            //Двумерный массив
            int[,] set = new int[mx, my];
            for (i = 0; i < mx; i++)
            {
                for (j = 0; j < my; j++)
                {
 
                    set[i, j] = Rnd.Next(1,4);
                }
            }
        }
        private void onPaint(object sender, PaintEventArgs e) // событие
        {
            Graphics g = e.Graphics; 
            DrawKub(g, x0, y0); 
        }
        int x0 = 100;
        int y0 = 200;
        void DrawKub(Graphics g, int x0, int y0)
        {
            Pen p1 = new Pen(Color.Blue, 1);
            Pen p2 = new Pen(Color.Red, 3); 
            g.DrawLine(p1, x0 - 50, y0, x0, y0-50);
            g.DrawLine(p1, x0 - 50, y0 - 50, x0, y0);
            g.DrawRectangle(p1, x0-50, y0-50, 50, 50);
        }
значения двумерного массива будут цветом квадрата( с этим разберусь позже). собственно вопрос: как вместо
        int x0 = 100;
        int y0 = 200;
писать x[i] и y[j] и связать с set[i,j]?

Решение задачи: «.NET 4.x Рисование по координатам»

textual
Листинг программы
            int k;
            Console.ReadKey();
            for (k = 0; k < my - 1; k++)
            {
                for (i = 1; i < mx; i++)
                {
                    for (j = 0; j < my; j++)
                    {
                        if (set[i, j] == 0)
                        {
                            set[i, j] = set[i - 1, j];
                            set[i - 1, j] = 0;
                        }
                    }
                }
            }
 
            //Убираются по горизонтали
            for (i = 0; i < mx; i++)
            {
                for (j = 0; j < my - 2; j++)
                {
                    if ((set[i, j] != 0) && (set[i, j + 1] != 0) && (set[i, j + 2] != 0))
                    {
                        if ((set[i, j] == set[i, j + 1]) && (set[i, j] == set[i, j + 2]))
                        {
                            set[i, j] = 0;
                            set[i, j + 1] = 0;
                            set[i, j + 2] = 0;
                        }
                    }
                }
            }
 
            //Убираются по вертикали
            for (i = 0; i < mx - 2; i++)
            {
                for (j = 0; j < my; j++)
                {
                    if ((set[i, j] != 0) && (set[i + 1, j] != 0) && (set[i + 2, j] != 0))
                    {
                        if ((set[i, j] == set[i + 1, j]) && (set[i, j] == set[i + 2, j]))
                        {
                            set[i, j] = 0;
                            set[i + 1, j] = 0;
                            set[i + 2, j] = 0;
                        }
                    }
                }
                // Убирается вся строка (как в тетрисе)
                for (i = 0; i < mx; i++)
                {
                    for (j = 0; j < my; j++)
                    {
                        if ((set[i, 0] != 0) && (set[i, 2] != 0) && (set[i, 1] != 0) && (set[i, 2] != 0) && (set[i, 3] != 0) && (set[i, 4] != 0) && (set[i, 5] != 0) && (set[i, 6] != 0) && (set[i, 7] != 0) && (set[i, 8] != 0) && (set[i, 9] != 0))
                        {
                            set[i, 0] = 0;
                            set[i, 1] = 0;
                            set[i, 2] = 0;
                            set[i, 3] = 0;
                            set[i, 4] = 0;
                            set[i, 5] = 0;
                            set[i, 6] = 0;
                            set[i, 7] = 0;
                            set[i, 8] = 0;
                            set[i, 9] = 0;
 
                        }
                    }
                }
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.556 из 5
Похожие ответы