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

4 Схемы алгоритмов решения задачи и их описание

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

Ниже в виде схем Насси-Шнейдермана представлены алгоритмы основных функций, используемых в программе, а именно: Функция Draw (схема 1), Функция ShootPlayer (x, y, n) (схема 3), Функция Shoot (схема 5).

Так же основне алгоритмы представлены ниже в виде основних схем Дамке, а именно: Функция Draw (схема 2), Функция ShootPlayer (x, y, n) (схема 4), Функция Shoot (схема 5).

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

Затем происходит формирование заполнения поля компьютера.

Определить значение key, x, y

Key = промах

Да Нет

Нарисовать промах в ячейке х, у

Кеу = попадание

Да Нет

Нарисовать в ячейке х, у подбитую палубу

Кеу = нарисовать корабль

Да Нет

і от 1 до количество палуб

По вертикали

Да Нет

Рисовать палубу в ячейке х, у+і

Рисовать палубу в ячейке х+і, у

Схема 1 – Алгоритм функции Draw, отвечающей за рисование кораблей по методу Насси-Шнейдермана

Следующая диаграмма отображает алгоритм функции Draw, отвечающей за рисование кораблей с помощью диаграммы Дамке (схема 2).

Схема 2 – диаграмма Дамке для алгоритма функции Draw, отвечающей за рисование кораблей

Следующая диаграмма отображает алгоритм функции ShootPlayer, отвечающей за рисование кораблей с помощью диаграммы Насси-Шнейдермана (схема 3).

Проверить куда пришлось попадание

Мимо

Нет Да

Нарисовать след от выстрела

В цель

Да Нет

Запомнить, что туда уже стреляли

Нарисовать подбитую палубу

Сообщить о попадании в расстрелянную ранее ячейку

Запомнить, что туда уже стркляли

Схема 3 – диаграмма Насси-Шнейдермана для алгоритма функции ShootPlayer, отвечающей выстрелы игрока в корабли

Ниже в виде схем Дамке представлен алгоритм функции ShootPlayer для ведения огня игроком(схема 4).

Схема 4 - алгоритм функции ShootPlayer по методу Дамке

Следующая диаграмма отображает алгоритм функции Shoot, отвечающей за попадания в корабли компьютера с помощью диаграммы Насси-Шнейдермана (схема 5).

Запомнить результата выстрела в ShootPlayer

в ShootPlayer попадание

Да Нет

Флот CPU уничтожен

Да Нет

бесконечно

Генерация x, y, для CPU

Конец раунда

Выход

Запомнить результат выстрела компьютера в ShootCPU

Выход

в ShootCPU попадание

Да Нет

Флот игрока

уничтожен

Да Нет

Прервать цикл

Конец раунда

Выход

Выход

Схема 5 – диаграмма Насси-Шнейдермана для алгоритма функции Shoot

Ниже алгоритм функции Shoot, отвечающей за попадания в корабли компьютера по методу Дамке представлен на схеме 6.

Схема 6 - алгоритм функции Shoot, отвечающей за попадания в корабли компьютера по методу Дамке

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