Форум программистов, компьютерный форум CyberForum.ru

Объяснение программы - C++

Восстановить пароль Регистрация
 
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 45
24.04.2016, 17:48     Объяснение программы #1
Доброго дня!
Нашёл вот такую игру с демонстрацией ИИ. Морской бой с интерфейсом на C++.

Всё работает, но я не могу понять почти половину написанного. Возможно у кого-то есть пару лишних минут просмотреть код и добавить комментарии, чтобы я понял суть программы и как она вообще работает. Желательно немного по-точнее.

Заранее огромное спасибо!

Вот код:
cut

Если кому-то удобнее отправить мне ответ на e-mail,то вот:
{deleted}
 Комментарий модератора 
П.4.13.Правил
Не стоит просить или предлагать выслать ответ в icq, e-mail и другие средства общения. Эта просьба все равно не будет выполнена, а сообщение будет отредактировано модератором.

Не вместился сюда, поэтому залил на пастбин и rghost, кому как удобнее.
 Комментарий модератора 

Нарушение правил форума п. 5.19 Запрещено создавать темы в виде ссылок на задания или коды программ, расположенные на других сайтах.

Добавлено через 18 часов 9 минут
up.
Вложения
Тип файла: rar seabat.rar (6.0 Кб, 1 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2016, 17:48     Объяснение программы
Посмотрите здесь:

объяснение C++
написать объяснение C++
Объяснение кода с++! C++
C++ Объяснение программы
C++ Объяснение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 45
26.04.2016, 09:40  [ТС]     Объяснение программы #2
up2.
Никто не может хоть в кратце объяснить как она работает? Прошу вас
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 45
27.04.2016, 10:15  [ТС]     Объяснение программы #3
up3
Storm Screamer
 Аватар для Storm Screamer
87 / 87 / 11
Регистрация: 21.04.2013
Сообщений: 945
27.04.2016, 11:20     Объяснение программы #4
Цитата Сообщение от bobtb Посмотреть сообщение
Всё работает, но я не могу понять почти половину написанного.
Потому что это пример так называемого "говнокода". Этот код написан так, что его лучше не выкладывать.

1. Код не самозадокументирован.
2. При наличии 1-го, нет не единого комментария.
3. Ужасное именование переменных и функций. Чего стоит одно
C++
1
rand_chislo
. Английское слово и русское слово на транслите объединили - надо же так додуматься. А функция
C++
1
int ras(int pole[10][10])
, что она делает? Что за убогое название?

Можете не "апать", этот чудокод никто читать не будет.
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 45
27.04.2016, 11:31  [ТС]     Объяснение программы #5
Storm Screamer, поэтому сам и не могу разобраться, думал кто-то сможет понять..
Stitch Igorek
 Аватар для Stitch Igorek
44 / 44 / 17
Регистрация: 02.04.2016
Сообщений: 300
Завершенные тесты: 1
27.04.2016, 11:33     Объяснение программы #6
Цитата Сообщение от Storm Screamer Посмотреть сообщение
Можете не "апать", этот чудокод никто читать не будет.
Ну почему же, я пытаюсь прочитать, только код реально "чудный" - написан на чистом Си, и чтобы переделать на плюсы надо голову изогнуть. В общем интуитивно понятно стало, что там 3 функции по 1 строчке для работы с "графикой", одна не сильно большая для расстановки кораблей, и около 800 строк функция самой игры(могли бы и разбить на маленькие, но...)
Storm Screamer
 Аватар для Storm Screamer
87 / 87 / 11
Регистрация: 21.04.2013
Сообщений: 945
27.04.2016, 12:24     Объяснение программы #7
Не вижу смысла копаться в этом коде, если только копание и есть поставленная задача.

Цитата Сообщение от bobtb Посмотреть сообщение
поэтому сам и не могу разобраться, думал кто-то сможет понять..
Цель какая? Научится делать ИИ в морском бое? В любом случае предоставленный пример ужасен. Лучше переписать с нуля самому с пониманием.
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 45
27.04.2016, 12:32  [ТС]     Объяснение программы #8
Storm Screamer, нужно проект сдать по ИИ, программа в нашем универе на столько убогая,что даётся по пол года на язык программирования, знания соответствующие. Молдова одним словом...
Stitch Igorek
 Аватар для Stitch Igorek
44 / 44 / 17
Регистрация: 02.04.2016
Сообщений: 300
Завершенные тесты: 1
27.04.2016, 12:32     Объяснение программы #9
Цитата Сообщение от bobtb Посмотреть сообщение
Нашёл вот такую игру с демонстрацией ИИ.
блин я только сейчас понял что этот код для демонстрации ИИ только нужен, так тут все просто: комп рандомно выбирает клетки в поле среди тех, по которым еще не стрелял, и бьет по ним, а если попал по твоему кораблю, то так же рандомно бьет по соседним.
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 45
27.04.2016, 12:37  [ТС]     Объяснение программы #10
Stitch Igorek, почему рандомно? я проверял программу,если попадает,то пытается рядом стрелять потом,пока не потопит корабль
Stitch Igorek
 Аватар для Stitch Igorek
44 / 44 / 17
Регистрация: 02.04.2016
Сообщений: 300
Завершенные тесты: 1
27.04.2016, 12:38     Объяснение программы #11
Вот довольно интересная статейка про ИИ - я ее посмотрел мельком - думаю стоит почитать.

Добавлено через 40 секунд
Так я так и написал
Цитата Сообщение от Stitch Igorek Посмотреть сообщение
а если попал по твоему кораблю, то так же рандомно бьет по соседним.
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 45
27.04.2016, 12:41  [ТС]     Объяснение программы #12
Stitch Igorek, просто мне нужно знать принцип,точнее,так сказать. какая функция отвечает за ИИ и как работает
Stitch Igorek
 Аватар для Stitch Igorek
44 / 44 / 17
Регистрация: 02.04.2016
Сообщений: 300
Завершенные тесты: 1
27.04.2016, 12:57     Объяснение программы #13
Цитата Сообщение от bobtb Посмотреть сообщение
какая функция отвечает за ИИ и как работает
прошелся на дебаге по коду - получается за "ИИ" и за ход в целом отвечает int comp(int mypole[10][10], int udar, int ud[2], int hod[1])
хочешь узнать алгоритм - поставь точку останова и следи за переменными
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2016, 15:57     Объяснение программы
Еще ссылки по теме:

Объяснение задачи на шаблоны C++
Строка. Объяснение C++
C++ Объяснение указателя

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

Или воспользуйтесь поиском по форуму:
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 45
27.04.2016, 15:57  [ТС]     Объяснение программы #14
Stitch Igorek, спасибо,постараюсь разобраться
Yandex
Объявления
27.04.2016, 15:57     Объяснение программы
Ответ Создать тему
Опции темы

Текущее время: 05:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru