Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсовая docx100 / Kursovaya_PZ_2012.docx
Скачиваний:
49
Добавлен:
07.08.2013
Размер:
788.97 Кб
Скачать

2 Метод решения задачи

Для решения поставленной задачи программного средства необходимо осуществить алгоритм искусственного интеллекта, который будет выполнять задачу второго игрока .

Для этого необходимо разбить исходный код на несколько частей. А так же разработать стратегию игры искусственного интеллекта. Задача заключается в разработке алгоритма, по которому компьютер сможет играть в "Морской бой" с максимальным качеством и при этом не подглядывая расположение флота игрока. Дополнительное и очевидное условие: при каждой новой игре вне зависимости от размещения сил противника компьютер должен играть по-разному, т.е. его ходы должны быть не предсказуемы. Если реализовать поиск цели компьютером в виде отдельной процедуры, то надо как-то научить его запоминать исходы прошлых выстрелов, чтобы адекватно произвести следующий. Из этого факта вытекает, что самое простое и рациональное решение данной проблемы можно оформить в виде конечного автомата, наиболее точно описывающего последовательность действий. Можно выделить три состояния:

1. прострел игрового поля по случайным координатам до попадания по кораблю, после чего переход во второе состояние;

2. обстрел вокруг подбитой ячейки поля для определения направления корабля (вертикальное или горизонтальное), после очередного попадания - переход в третье состояние;

3. расстрел корабля в полученном направлении до полного его уничтожения, после чего переход в первое состояние.

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

При реализации программного средства необходимо произвести анализ и сравнение методов шифрования и проверки подлинности пользователей по разным категориям.

Для корректной работы пользователя с программным средством необходимо разработать интуитивно понятный интерфейс, осуществить проверку данных, вводимых пользователем при работе с программным средством.

Для эффективной работы с программным средством необходимо предусмотреть систему меню, панель инструментов, систему «Справка».

3 Укрупненная структура разработанной программы и описание

назначения ее компонент

Разработанное программное средство включает два.

Unit 1 является главным модулем. Он объединяет все модули и представляет собой разработку внешней структуры программного средства, то есть её интерфейс – форма seabattle, а также определяет ход выполнения функций других модулей, в зависимости от выбранных пользователем действий.

В данном модуле осуществлен алгоритм отвечающий за искусственный интеллект , реализована система «Справка» и осуществлен доступ к описанию реализованных алгоритмов.

Так Unit1 содержит реализацию алгоритма ходов компьютера. Данный модуль содержит следующие процедуры и функции:

  • procedure IntitMass – данная процедура позволяет создать два массива для реализации полей для морского боя;

  • function check1 – данная функция реализует алгоритм стрельбы компьютера по случайным координатам;

  • function check2 – данная функция обеспечивает обстрел вокруг подбитой ячейки поля для определения направления корабля (вертикальное или горизонтальное);

  • function check3 – реализует расстрел корабля в полученном направлении до полного его уничтожения, после чего переход в первое состояние;

  • function Kri – осуществляет простановку координат после уничтожения корабля противника;

  • function TfmBattle – осуществляет прорисовку поля для сражения компьютера с игроком.

  • procedure FindDead – данная процедура осуществляет отображение уничтоженных корабле противника ;

  • function Lost – эта функция осуществляет использование другой стратегии искусственного интелекта ;

  • procedure Enab - данная процедура инициализирует переменные и обнуляет поля игры;

  • function Froeer – осуществляет простановку координат после уничтожения корабля противника;

  • function Fire1 – данная функция реализует алгоритм стрельбы компьютера по случайным координатам;;

  • function Kri – осуществляет простановку координат после уничтожения корабля противника.

Unit2 содержит реализацию системы шифрования Цезаря с ключевым словом. Данный модуль содержит следующие процедуры и функции:

  • function Name – осуществляет алгоритм ввода имени или ник-нейма пользователя ;

  • function Bot – осуществляет выбор стратегии используемые компьютером.

Соседние файлы в папке курсовая docx100