Переделать код расстановки кораблей в метод - C#

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

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

Дан код (нашел на просторах интернета), нужно переделать его так, что бы он работал при помощи подпрограммы (метода) кто может, помогите:
Листинг программы
  1. static void Main(string[]args)
  2. {
  3. string[,] A = new string[25, 25];
  4. int x, y, xt, yt, xd, yd, xd1, yd1;
  5. Console.WriteLine("Введите кол-во палуб");
  6. int k = Convert.ToInt32(Console.ReadLine());
  7. Console.WriteLine("Введите кол-во кораблей");
  8. int z = Convert.ToInt32(Console.ReadLine());
  9. bool clear = true;
  10. Random rand = new Random();
  11. for (int i = 0; i <= 11; i++)
  12. {
  13. for (int n = 0; n <= 11; n++)
  14. {
  15. A[i, n] = "0";
  16. }
  17. }
  18.  
  19. while (k >= 1)
  20. {
  21.  
  22. for (int u = 1; u <= z; u++)
  23. {
  24. Start:
  25. clear = true;
  26. x = rand.Next(2, 9);
  27. y = rand.Next(2, 9);
  28. xt = x;
  29. yt = y;
  30.  
  31. for (int i = 1; i < k; i++)
  32. {
  33. if (A[yt, xt] == "0")
  34. {
  35. yt++;
  36. clear = clear && true;
  37. }
  38. else
  39. {
  40. yt++;
  41. clear = clear && false;
  42. }
  43. }
  44.  
  45. if (clear == false)
  46. {
  47. clear = true;
  48. yt = y;
  49. for (int i = 1; i <= k; i++)
  50. {
  51. if (A[yt, xt] == "0")
  52. {
  53. xt++;
  54. clear = clear && true;
  55. }
  56. else
  57. {
  58. xt++;
  59. clear = clear && false;
  60. }
  61. }
  62. }
  63. if (clear == true)
  64. {
  65. xd = x - 1;
  66. yd = y - 1;
  67. xd1 = xt + 1;
  68. yd1 = yt + 1;
  69. for (int i = yd; i <= yd1; i++)
  70. {
  71. for (int n = xd; n <= xd1; n++)
  72. {
  73. if (A[i, n] == "0")
  74. {
  75. clear = clear && true;
  76. }
  77. else
  78. {
  79. clear = clear && false;
  80. }
  81. }
  82. }
  83. if (clear == true)
  84. {
  85. for (int i = y; i <= yt; i++)
  86. {
  87. for (int n = x; n <= xt; n++)
  88. {
  89. A[i, n] = "1";
  90. }
  91. }
  92. }
  93. else
  94. {
  95. goto Start;
  96. }
  97. }
  98. }
  99. k--;
  100. }
  101.  
  102. for (int i = 1; i <= 10; i++)
  103. {
  104. Console.WriteLine(A[i, 1] + " " + A[i, 2] + " " + A[i, 3] + " " + A[i, 4] + " " + A[i, 5] + " " + A[i, 6] + " " + A[i, 7] + " " + A[i, 8] + " " + A[i, 9] + " " + A[i, 10]);
  105. }
  106. Console.ReadLine();
  107. }
сам код расставляет корабли.

Решение задачи: «Переделать код расстановки кораблей в метод»

textual
Листинг программы
  1.                 string[,] A = new string[25, 25];
  2.                 int x,  y,  xt,  yt,  xd,  yd,  xd1,  yd1;
  3.  
  4.                 Console.WriteLine("Введите кол-во палуб");
  5.                 int k = Convert.ToInt32(Console.ReadLine());
  6.                 Console.WriteLine("Введите кол-во кораблей");
  7.                 int z = Convert.ToInt32(Console.ReadLine());
  8.                 bool clear = true;
  9.                 Random rand = new Random();
  10.  
  11.                 for (int i = 0; i <= 11; i++)
  12.                 {
  13.                     for (int n = 0; n <= 11; n++)
  14.                     {
  15.                         A[i, n] = "0";
  16.  
  17.                     }
  18.                 }
  19.  
  20.  
  21.                 while (k >= 1)
  22.                 {
  23.  
  24.  
  25.                     for (int u = 1; u <= z; u++)
  26.                     {
  27.                     Start:
  28.                         clear = true;
  29.                         x = rand.Next(2, 9);  
  30.                         y = rand.Next(2, 9);
  31.                         xt = x;
  32.                         yt = y;
  33.  
  34.  
  35.  
  36.                         for (int i = 1; i < k; i++)
  37.                         {
  38.                             if (A[yt, xt] == "0")
  39.                             {
  40.                                 yt++;
  41.                                 clear = clear && true;
  42.                             }
  43.                             else
  44.                             {
  45.                                 yt++;
  46.                                 clear = clear && false;
  47.                             }
  48.                         }
  49.  
  50.  
  51.                         if (clear == false)
  52.                         {
  53.                             clear = true;
  54.                             yt = y;
  55.                             for (int i = 1; i <= k; i++)
  56.                             {
  57.                                 if (A[yt, xt] == "0")
  58.                                 {
  59.                                     xt++;
  60.                                     clear = clear && true;
  61.                                 }
  62.                                 else
  63.                                 {
  64.                                     xt++;
  65.                                     clear = clear && false;
  66.                                 }
  67.                             }
  68.                         }
  69.  
  70.                         if (clear == true)
  71.                         {
  72.                             xd = x - 1;
  73.                             yd = y - 1;
  74.                             xd1 = xt + 1;
  75.                             yd1 = yt + 1;
  76.                             for (int i = yd; i <= yd1; i++)
  77.                             {
  78.                                 for (int n = xd; n <= xd1; n++)
  79.                                 {
  80.                                     if (A[i, n] == "0")
  81.                                     {
  82.                                         clear = clear && true;
  83.                                     }
  84.                                     else
  85.                                     {
  86.                                         clear = clear && false;
  87.                                     }
  88.                                 }
  89.                             }
  90.                             if (clear == true)
  91.                             {
  92.                                 for (int i = y; i <= yt; i++)
  93.                                 {
  94.                                     for (int n = x; n <= xt; n++)
  95.                                     {
  96.                                         A[i, n] = "1";
  97.                                     }
  98.                                 }
  99.  
  100.                             }
  101.                             else
  102.                             {
  103.                                 goto Start;
  104.                             }
  105.  
  106.                         }
  107.                     }
  108.                     k--;
  109.                 }
  110.              
  111.            
  112.             for (int i = 1; i <= 10; i++)
  113.                 {
  114.                     Console.WriteLine(A[i, 1] + " " + A[i, 2] + " " + A[i, 3] + " " + A[i, 4] + " " + A[i, 5] + " " + A[i, 6] + " " + A[i, 7] + " " + A[i, 8] + " " + A[i, 9] + " " + A[i, 10]);
  115.                 }
  116.                 Console.ReadLine();

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


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

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

15   голосов , оценка 4.133 из 5

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

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

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