С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Ramonon
0 / 0 / 0
Регистрация: 08.10.2016
Сообщений: 36
1

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

23.10.2016, 14:13. Просмотров 236. Ответов 4
Метки нет (Все метки)

Дан код (нашел на просторах интернета),

нужно переделать его так, что бы он работал при помощи подпрограммы (метода)

кто может, помогите:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
    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();
            }
сам код расставляет корабли.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2016, 14:13
Ответы с готовыми решениями:

Переделать программу, использующую метод Гаусса в метод Барейса
Всем ДВС! подскажите пожалуйста, как переделать эту программу использующую...

Переделать метод из консольного в Form
Используя либу MonoTorrent хочу сделать простенький клиент. Консольный вариант...

Переделать метод левых прямоугольников, на правых
Есть метод левых прямоугольников, как его переделать на правых? public...

Код из C++ в C# переделать
Если сможете помогите)) #include &lt;iostream&gt; using namespace std; int...

Переделать код с C++ на C#
//двойной квадрат #include &lt;algorithm&gt; #include &lt;iostream&gt; #include...

4
mishau
128 / 126 / 105
Регистрация: 17.03.2009
Сообщений: 359
23.10.2016, 14:29 2
Я бы такой код переписал. Ну если вам очень нужен такой код, с goto, то в вашей VS выделите мышью все тело Main от { до }, не включая. И затем правой кнопкой мыши нажмите и выберете из меню Refactoring -> Extract Method, далее введите имя новому методу. Всё.
0
Ramonon
0 / 0 / 0
Регистрация: 08.10.2016
Сообщений: 36
23.10.2016, 14:33  [ТС] 3
Я не очень понял, что надо выделить??
0
mishau
128 / 126 / 105
Регистрация: 17.03.2009
Сообщений: 359
23.10.2016, 15:29 4
вот это:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
                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();
1
Ramonon
0 / 0 / 0
Регистрация: 08.10.2016
Сообщений: 36
23.10.2016, 15:41  [ТС] 5
Спасибо, даже не знал что так можно.
0
23.10.2016, 15:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2016, 15:41

Переделать код в C#
Измените пожалуйста код Delphi 7, чтоб работал так же на C#. var Form11:...

Переделать программу из консоли на форму и по возможности добавить метод
Есть готовая программа решения матричных игр методом Брауна-Робинсона, нужно...

Переделать метод в цикл - удаление строк, содержащих цифру 9
Подскажите, пожалуйста, как метод переделать в цикл. По условию, чтобы убрались...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru