Переделать код расстановки кораблей в метод - C#
Формулировка задачи:
Дан код (нашел на просторах интернета),
нужно переделать его так, что бы он работал при помощи подпрограммы (метода)
кто может, помогите:
сам код расставляет корабли.
static void Main(string[]args) { string[,] A = new string[25, 25]; int x, y, xt, yt, xd, yd, xd1, yd1; Console.WriteLine("Введите кол-во палуб"); int k = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введите кол-во кораблей"); int z = Convert.ToInt32(Console.ReadLine()); bool clear = true; Random rand = new Random(); for (int i = 0; i <= 11; i++) { for (int n = 0; n <= 11; n++) { A[i, n] = "0"; } } while (k >= 1) { for (int u = 1; u <= z; u++) { Start: clear = true; x = rand.Next(2, 9); y = rand.Next(2, 9); xt = x; yt = y; for (int i = 1; i < k; i++) { if (A[yt, xt] == "0") { yt++; clear = clear && true; } else { yt++; clear = clear && false; } } if (clear == false) { clear = true; yt = y; for (int i = 1; i <= k; i++) { if (A[yt, xt] == "0") { xt++; clear = clear && true; } else { xt++; clear = clear && false; } } } if (clear == true) { xd = x - 1; yd = y - 1; xd1 = xt + 1; yd1 = yt + 1; for (int i = yd; i <= yd1; i++) { for (int n = xd; n <= xd1; n++) { if (A[i, n] == "0") { clear = clear && true; } else { clear = clear && false; } } } if (clear == true) { for (int i = y; i <= yt; i++) { for (int n = x; n <= xt; n++) { A[i, n] = "1"; } } } else { goto Start; } } } k--; } for (int i = 1; i <= 10; i++) { 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]); } Console.ReadLine(); }
Решение задачи: «Переделать код расстановки кораблей в метод»
textual
Листинг программы
string[,] A = new string[25, 25]; int x, y, xt, yt, xd, yd, xd1, yd1; Console.WriteLine("Введите кол-во палуб"); int k = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введите кол-во кораблей"); int z = Convert.ToInt32(Console.ReadLine()); bool clear = true; Random rand = new Random(); for (int i = 0; i <= 11; i++) { for (int n = 0; n <= 11; n++) { A[i, n] = "0"; } } while (k >= 1) { for (int u = 1; u <= z; u++) { Start: clear = true; x = rand.Next(2, 9); y = rand.Next(2, 9); xt = x; yt = y; for (int i = 1; i < k; i++) { if (A[yt, xt] == "0") { yt++; clear = clear && true; } else { yt++; clear = clear && false; } } if (clear == false) { clear = true; yt = y; for (int i = 1; i <= k; i++) { if (A[yt, xt] == "0") { xt++; clear = clear && true; } else { xt++; clear = clear && false; } } } if (clear == true) { xd = x - 1; yd = y - 1; xd1 = xt + 1; yd1 = yt + 1; for (int i = yd; i <= yd1; i++) { for (int n = xd; n <= xd1; n++) { if (A[i, n] == "0") { clear = clear && true; } else { clear = clear && false; } } } if (clear == true) { for (int i = y; i <= yt; i++) { for (int n = x; n <= xt; n++) { A[i, n] = "1"; } } } else { goto Start; } } } k--; } for (int i = 1; i <= 10; i++) { 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]); } Console.ReadLine();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д