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

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

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

Доброго времени суток! есть двумерный массив, заполненный значениями от 1 до 3 random. и два одномерных массива, хранящие координаты.
Листинг программы
  1. public void skelet()
  2. {
  3. //Массивы координат х и у
  4. Random Rnd = new Random();
  5. int mx = 10;
  6. int my = 10;
  7. int i,j;
  8. int[] x = new int[mx];
  9. for (i = 0; i < mx; i++)
  10. {
  11. x[i] = 10 * i;
  12. }
  13. int[] y = new int[my];
  14. for (j = 0; j < my; j++)
  15. {
  16. y[j] = 10 * j;
  17. }
  18. //Двумерный массив
  19. int[,] set = new int[mx, my];
  20. for (i = 0; i < mx; i++)
  21. {
  22. for (j = 0; j < my; j++)
  23. {
  24. set[i, j] = Rnd.Next(1,4);
  25. }
  26. }
  27. }
  28. private void onPaint(object sender, PaintEventArgs e) // событие
  29. {
  30. Graphics g = e.Graphics;
  31. DrawKub(g, x0, y0);
  32. }
  33. int x0 = 100;
  34. int y0 = 200;
  35. void DrawKub(Graphics g, int x0, int y0)
  36. {
  37. Pen p1 = new Pen(Color.Blue, 1);
  38. Pen p2 = new Pen(Color.Red, 3);
  39. g.DrawLine(p1, x0 - 50, y0, x0, y0-50);
  40. g.DrawLine(p1, x0 - 50, y0 - 50, x0, y0);
  41. g.DrawRectangle(p1, x0-50, y0-50, 50, 50);
  42. }
значения двумерного массива будут цветом квадрата( с этим разберусь позже). собственно вопрос: как вместо
Листинг программы
  1. int x0 = 100;
  2. int y0 = 200;
писать x[i] и y[j] и связать с set[i,j]?

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

textual
Листинг программы
  1.             int k;
  2.             Console.ReadKey();
  3.             for (k = 0; k < my - 1; k++)
  4.             {
  5.                 for (i = 1; i < mx; i++)
  6.                 {
  7.                     for (j = 0; j < my; j++)
  8.                     {
  9.                         if (set[i, j] == 0)
  10.                         {
  11.                             set[i, j] = set[i - 1, j];
  12.                             set[i - 1, j] = 0;
  13.                         }
  14.                     }
  15.                 }
  16.             }
  17.  
  18.             //Убираются по горизонтали
  19.             for (i = 0; i < mx; i++)
  20.             {
  21.                 for (j = 0; j < my - 2; j++)
  22.                 {
  23.                     if ((set[i, j] != 0) && (set[i, j + 1] != 0) && (set[i, j + 2] != 0))
  24.                     {
  25.                         if ((set[i, j] == set[i, j + 1]) && (set[i, j] == set[i, j + 2]))
  26.                         {
  27.                             set[i, j] = 0;
  28.                             set[i, j + 1] = 0;
  29.                             set[i, j + 2] = 0;
  30.                         }
  31.                     }
  32.                 }
  33.             }
  34.  
  35.             //Убираются по вертикали
  36.             for (i = 0; i < mx - 2; i++)
  37.             {
  38.                 for (j = 0; j < my; j++)
  39.                 {
  40.                     if ((set[i, j] != 0) && (set[i + 1, j] != 0) && (set[i + 2, j] != 0))
  41.                     {
  42.                         if ((set[i, j] == set[i + 1, j]) && (set[i, j] == set[i + 2, j]))
  43.                         {
  44.                             set[i, j] = 0;
  45.                             set[i + 1, j] = 0;
  46.                             set[i + 2, j] = 0;
  47.                         }
  48.                     }
  49.                 }
  50.                 // Убирается вся строка (как в тетрисе)
  51.                 for (i = 0; i < mx; i++)
  52.                 {
  53.                     for (j = 0; j < my; j++)
  54.                     {
  55.                         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))
  56.                         {
  57.                             set[i, 0] = 0;
  58.                             set[i, 1] = 0;
  59.                             set[i, 2] = 0;
  60.                             set[i, 3] = 0;
  61.                             set[i, 4] = 0;
  62.                             set[i, 5] = 0;
  63.                             set[i, 6] = 0;
  64.                             set[i, 7] = 0;
  65.                             set[i, 8] = 0;
  66.                             set[i, 9] = 0;
  67.  
  68.                         }
  69.                     }
  70.                 }
  71.             }

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


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

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

9   голосов , оценка 3.556 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы