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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 46
#1

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

24.04.2016, 17:48. Просмотров 426. Ответов 13
Метки нет (Все метки)

Доброго дня!
Нашёл вот такую игру с демонстрацией ИИ. Морской бой с интерфейсом на 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++
Объясните что означает double* b: void function(int a,double* b) И: double* b= new double Я так понял указатель выделяет...

Объяснение кода - C++
завтра сдавать курсач. есть исходник, но проблема в том что я не понимаю код(пары часто прогуливал, простите). прошу, хоть кто-нибудь,...

Нужно объяснение - union - C++
Что обозначает така вот запись: unsigned a0 : 1; //каждый бит получает название unsigned a1 : 1; unsigned a2 : 1; ...

Объяснение задачи на шаблоны - C++
#include <iostream> using namespace std; template <typename A> class Real{ A a; public: Real (){a=0;} Real (A b){a=b;}...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 46
26.04.2016, 09:40  [ТС] #2
up2.
Никто не может хоть в кратце объяснить как она работает? Прошу вас
bobtb
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 46
27.04.2016, 10:15  [ТС] #3
up3
Storm Screamer
92 / 92 / 11
Регистрация: 21.04.2013
Сообщений: 1,066
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
Сообщений: 46
27.04.2016, 11:31  [ТС] #5
Storm Screamer, поэтому сам и не могу разобраться, думал кто-то сможет понять..
Stitch Igorek
45 / 45 / 18
Регистрация: 02.04.2016
Сообщений: 308
Завершенные тесты: 1
27.04.2016, 11:33 #6
Цитата Сообщение от Storm Screamer Посмотреть сообщение
Можете не "апать", этот чудокод никто читать не будет.
Ну почему же, я пытаюсь прочитать, только код реально "чудный" - написан на чистом Си, и чтобы переделать на плюсы надо голову изогнуть. В общем интуитивно понятно стало, что там 3 функции по 1 строчке для работы с "графикой", одна не сильно большая для расстановки кораблей, и около 800 строк функция самой игры(могли бы и разбить на маленькие, но...)
Storm Screamer
92 / 92 / 11
Регистрация: 21.04.2013
Сообщений: 1,066
27.04.2016, 12:24 #7
Не вижу смысла копаться в этом коде, если только копание и есть поставленная задача.

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

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

Очень нужно объяснение - C++
в универе дали вот такую функцию y=exp(-0.1*X)-{-}^2-cos(4*X)^4 надо написать код чтобы visual c++ могла подсчитать эту функцию ...

Классы с++ необходимо объяснение - C++
Помогите не знаю как сделать чтоб данные передавались в переменные не в классе, а из int main #include <iostream> #include <ctime> ...

Объяснение участка кода - C++
Здравствуйте.помогите пожалуйста.что означают эти строки? cin >> value; sum += value; count++;

Объяснение параметров strtok - C++
char s,st1,*p; int i,k,j=0; cout<<"введите строку:\n"; gets(s); strcat(s," "); strcpy(st1,s); for(i=0;(p=strtok(!i?st1:NULL,"...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.04.2016, 15:57
Ответ Создать тему
Опции темы

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