Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2018, 22:06   #1
Kellerman18
Новичок
Джуниор
 
Регистрация: 14.10.2018
Сообщений: 6
По умолчанию Расшифровка кода

Кто может прокомментировать код? Кто сколько может, если можно каждую строчку.


Код:
 private void generate(Label [,] mas,bool visible) 
        {
            int position = 0;
            int[] count_ship = new int[] { 4, 3, 3, 2, 2, 2, 1, 1, 1, 1 };
            Random r = new Random();
            while (true)
            {
                int random; 
          loop: x0 = r.Next(0, 10);
                y0 = r.Next(0, 10);
                random = r.Next(0, 2);
                int k = 0; 
                if (random == 1)
                {
                    if (y0 + count_ship[position] <= 10 && (int)mas[x0, y0].Tag==0)
                    {
                        for (int j = y0; j < y0 + count_ship[position]; ++j)
                        {
                            if ((int)mas[x0, j].Tag == 0) k++;
                        }
                        if (k == count_ship[position])
                        { 
                            if(visible) 
                            download_image(mas, count_ship[position],true);
                            buffer_zone(mas, x0 - 1, x0 + 1, y0 - 1, y0 + count_ship[position], -1);
                            for (int j = y0; j < y0 + count_ship[position]; ++j)
                            {
                                if (visible)
                                {
                                    mas[x0, j].Tag = count_ship[position];
                                }
                                else
                                {
                                    if (position== 1)
                                        mas[x0, j].Tag = -3;
                                    else
                                        mas[x0, j].Tag = count_ship[position];
                                }
                    
                            }
                            position++;
                            if (position == 10) break;
                        }
                        else
                            goto loop;
                    }
                    else
                        goto loop;
                }

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 15.10.2018 в 11:00.
Kellerman18 вне форума Ответить с цитированием
Старый 15.10.2018, 01:30   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от Kellerman18 Посмотреть сообщение
goto loop;
Очень плохой код..

Да и остальное не лучше

Последний раз редактировалось Black Fregat; 15.10.2018 в 01:33.
Black Fregat вне форума Ответить с цитированием
Старый 15.10.2018, 10:07   #3
Kellerman18
Новичок
Джуниор
 
Регистрация: 14.10.2018
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Очень плохой код..

Да и остальное не лучше
Добрый человек, прокомментируй плохой код
Kellerman18 вне форума Ответить с цитированием
Старый 15.10.2018, 11:05   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Kellerman18 Посмотреть сообщение
прокомментируй плохой код
какой в этом смысл?

Вам это зачем? И какая КОНКРЕТНО строчка непонятна?
Если все строчки непонятны - так берите ЛЮБОЙ учебник для начинающих и изучайте основы языка.

Например,
Цитата:
Сообщение от Kellerman18 Посмотреть сообщение
Код:
int position = 0;
объявить переменную целого типа (int) с именем position и присвоить ей значение ноль (обнулить).

а вообще, похоже, что этот кривой код - это генерация случайной расстановки кораблей на поле в игре "Морской бой".
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.10.2018, 11:54   #5
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а вообще, похоже, что этот кривой код - это генерация случайной расстановки кораблей на поле в игре "Морской бой".
Ну это очевидно уже по строчке

Цитата:
Сообщение от Kellerman18 Посмотреть сообщение
Код:
int[] count_ship = new int[] { 4, 3, 3, 2, 2, 2, 1, 1, 1, 1 };
Но вот ковырять код можно только интуитивно - нет функций
Цитата:
Сообщение от Kellerman18 Посмотреть сообщение
Код:
download_image(mas, count_ship[position],true); 
buffer_zone(mas, x0 - 1, x0 + 1, y0 - 1, y0 + count_ship[position], -1);
И сам этот mas неизвестно какого типа. Рисунки?

Последний раз редактировалось Black Fregat; 15.10.2018 в 13:01.
Black Fregat вне форума Ответить с цитированием
Старый 15.10.2018, 12:05   #6
Kellerman18
Новичок
Джуниор
 
Регистрация: 14.10.2018
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
какой в этом смысл?

Вам это зачем? И какая КОНКРЕТНО строчка непонятна?
Если все строчки непонятны - так берите ЛЮБОЙ учебник для начинающих и изучайте основы языка.

Например,

объявить переменную целого типа (int) с именем position и присвоить ей значение ноль (обнулить).

а вообще, похоже, что этот кривой код - это генерация случайной расстановки кораблей на поле в игре "Морской бой".

Да, это фрагмент кода из игры "Морской бой" Ну как бы все строчки непонятны, изучать основы языка займет довольно много времени, поэтому я обратился сюда за помощью
Kellerman18 вне форума Ответить с цитированием
Старый 15.10.2018, 12:06   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вам не помогут комментарии без основ.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 15.10.2018, 12:06   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

И что вам даст непонятные фразы, типа "инициализация переменной"? Заучите и преподу как стишок будете рассказывать?
p51x на форуме Ответить с цитированием
Старый 15.10.2018, 12:22   #9
Kellerman18
Новичок
Джуниор
 
Регистрация: 14.10.2018
Сообщений: 6
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
И что вам даст непонятные фразы, типа "инициализация переменной"? Заучите и преподу как стишок будете рассказывать?
В данном случаи как стишок нужно рассказать, только поэтому я сюда обратился

Последний раз редактировалось Kellerman18; 15.10.2018 в 12:25.
Kellerman18 вне форума Ответить с цитированием
Старый 15.10.2018, 12:24   #10
Kellerman18
Новичок
Джуниор
 
Регистрация: 14.10.2018
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Вам не помогут комментарии без основ.
Изучение основ займет довольно много времени, поэтому я обратился сюда за помощью т.к ответить нужно в кратчайшее сроки, вот я и прошу кто знающий прокомментировать код хотя бы частично

Последний раз редактировалось Kellerman18; 15.10.2018 в 13:18.
Kellerman18 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация и расшифровка QR кода Noor Общие вопросы Delphi 6 22.07.2014 14:59
расшифровка кода 1с karol Фриланс 3 02.05.2011 15:40
Расшифровка кода drNabla Общие вопросы Delphi 1 28.11.2010 01:49
Расшифровка кода Rid Помощь студентам 14 19.10.2009 21:46
расшифровка кода IvanVsemogushii Фриланс 2 07.06.2009 11:48