.NET 4.x Рисование по координатам - C#
Формулировка задачи:
Доброго времени суток!
есть двумерный массив, заполненный значениями от 1 до 3 random. и два одномерных массива, хранящие координаты.
значения двумерного массива будут цветом квадрата( с этим разберусь позже).
собственно вопрос: как вместо писать x[i] и y[j] и связать с set[i,j]?
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;
Решение задачи: «.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; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д