Разработка игры «Морской бой»

 


 

Оглавление

 

 

 


 

ВВЕДЕНИЕ

 

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

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

Компьютерные игры – это модель игры, воссоздаваемой при помощи современных компьютерных средств.

Компьютерная игра (иногда используется неоднозначный термин видеоигра) компьютерная программа, служащая для организации игрового процесса (геймплея), связи с партнёрами по игре, или сама выступающая в качестве партнера.

Компьютерные игры часто создаются на основе фильмов и книг; есть и обратные случаи. С 2011 года компьютерные игры официально признаны в США отдельным видом искусства

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

Целью практики  является разработка компьютерной игры «Морской бой»

Данная программа  разработана в среде программирования Delphi 7.0

 


 

1.Постановка задачи

 1.1 Общая характеристика задачи

 

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

Смысл игры «Морской бой» следующий:

Создаётся два поля 10х10, на которых размещаются по 10 кораблей разного размера (один - размера четыре, два - размера три, три - размера два и четыре - размера один).

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

Два корабля не могут находиться в соседних полях.

Каждый игрок видит только свои корабли и обстрелянные поля противника. Стрелять разрешается только по тем полям, по которым еще не стреляли.

Если игрок ранил корабль, то поле закрашивается желтым цветом, если убил - то все поля вокруг корабля закрашиваются точками, а корабль становится красного цвета.

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

Как только кто-то из игроков убьёт все корабли противника, он выигрывает, игра окончена.

 

     

2.Проектирование программного  модуля

2.1 Сбор исходных материалов

 

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

Для реализации игры «Морсокй бой» использовались:

    1. ссылки :

http://articles.org.ru/cn/showdetail.php?cid=1853 позволяет узнать о новых алгоритмах

http://ru.wikipedia.org/wiki/%CC%EE%F0%F1%EA%EE%E9_%E1%EE%E9_(%E8%E3%F0%E0) позволила узнать об игре больше

http://aka-alex.narod.ru/seabattle.htm помогла реализовать данную программу.

    1. электронные книги
  • Delphi_7_na_primerakh
  • Ю. В. Ревич - Нестандартные приемы програмирования на Delphi
    1. Мною были рассмотрены и изучены аналоги программ, их достоинства и недостатки, определены требования.

 

  2.2 Проектирование информационной модели

 

Информационная модель - это модель данных, их структур и обработки. Другими словами, информационная модель – это схема, описывающая информацию об объекте и процедуры его исследования. Компьютерная информационная модель описывается совокупностью переменных, представленных абстрактными типами данных и сконструированных в соответствии с требованиями некоторой компьютерной среды, обусловленными ее средствами обработки информационной модели.


 Виды информационной модели:

Натуральные модели — это реальные исследуемые системы (макеты, опытные образцы). Имеют полную адекватность (соответствия) с системой оригиналом, но дороги. 

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

Математическая модель - описание математическими формулами соотношений между количественными характеристиками объекта моделирования. Примеры математических моделей: модель прямолинейного перемещения тела математическая модель периода колебаний пружинного маятника. 

Табличная информационная модель – это модель, в которой объекты или их свойства представлены в виде списка, а их значения размещаются в ячейках прямоугольной таблицы. Типы табличных моделей: таблицы типа «объект-свойство» таблицы типа «объект-объект» двоичные матрицы. 

Графическая информационная модель – это наглядный способ представления объектов и процессов в виде графических изображений.Одним видом информационной модели является блок-схема.

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1 – Общая схема работы программы

 

 

 

 

 

 

 

2.3 проектирование программного  модуля

 

Программный модуль – это своего рода "контейнер" для размещения текстов процедур и функций, вызываемых системой во время исполнения задачи в определенные моменты работы. Поэтому программный модуль не имеет формальных границ своего описания типа: "Начало модуля" – "Конец модуля".

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

Каждый отдельный программный модуль воспринимается системой как единое целое, поэтому все процедуры и функции программного модуля выполняются в едином контексте.

В данной программе используются следующие процедуры:

  1. Прорисовка игрового поля
  2. Ввод данных
  3. Выход из программы
  4. Запуск игры заново
  5. Автоматическая расстановка «кораблей»
  6. Проверка на заполнение игрового поля

 

2.4 Описание формы представления входных и выходных данных

 

Входные данные

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

Требования к входным данным:


1. Ввод имени может производиться в любой форме;

2. Должен выбираться ход (либо компьютер ходит первым, либо игрок).

Выходные данные

Выходные данные - это данные получаемые в результате выполнения программы.

1.Вывод  сообщения об окончании игры и информации о победителе.

2. Вывод сообщения об авторе  данной игры. 

3.Реализация программного  модуля

3.1 Описание структуры разрабатываемого пакета.

Программный код написан на языке программирования Delphi и программа реализована в среде программирования Borland Delphi.

            В программе отражены следующие процедуры и функции:

Класс формы:

procedure FormActivate  − отвечает за интерфейс кораблей

procedure myFieldMouseDown – нажатие по иовому полю

procedure bbReClick – заново начать расстановку кораблей

procedure bbOKClick – начать игру

procedure bbOkSetClick – перейти к расстановке кораблей

procedure N8Click – выход из игры

procedure N2Click – новая игра

procedure N9Click – информация об игре

procedure AutoClick – автоматическая расстановка

 

3.2 Описание используемых  типов данных

 

При реализации программного модуля были использованы следующие типы данных:

        • Byte – Целочисленный тип, поддерживающий значение от 0 до 255. В данной программе используется для ввода и вывода чисел на игровое поле;
        • Boolean – позволяет принимать значение true или false;
        • Integer – основной тип целочисленного числа. В данной программе используется для ввода чисел;

 

    1. Проектирование интерфейса


Интерфейс пользователя — это совокупность средств, при помощи которых пользователь общается с различными устройствами 
Интерфейс командной строки: инструкции компьютеру даются путём ввода с клавиатуры текстовых строк (команд).

Графический интерфейс пользователя: программные функции представляются графическими элементами экрана.

Диалоговый интерфейс – языковой интерфейс: пользователь «разговаривает» с программой на родном ему языке.

Физический интерфейс — способ взаимодействия физических устройств. Чаще всего речь идёт о компьютерных портах.

При разработке программы использовались компоненты:

  • MainMenu – предназначен для добавления к программе главного меню;
  • CheckBox – используется в программе для визуализации состояния включен/выключен случайный выбор;
  • Edit – текстовое поле, служит для ввода данных пользователем;
  • Label – предназначен для отображения текста;
  • SpeedButton – кнопка;

Программа обладает простым и понятным интерфейсом.


 

4. Тестирование программного модуля

Тестированием называется процесс выполнения программы с целью обнаружения ошибки. Никакое тестирование не может доказать отсутствие ошибок в программе

Уровни тестирования:

Модульное тестирование (Автономное или Unit-тестирование)

Входные требования - архитектура компонентов или модель “нижнего уровня” системы (Component Design или Low Level Design)

Объект тестирования - Разработанные компоненты

Определение - На данном уровне тестируются по отдельности небольшие элементы системы, максимально отделенные от других элементов и, в то же время, пригодные для тестирования. Такое тестирование обычно проводится сразу же вслед за разработкой каждого из элементов и направлено на оценку соответствия функциональности каждого из компонентов спроектированной “модели компонентов”.

Комплексное тестирование (Сборочное тестирование, integration testing или interface testing)

Входные требования - архитектура системы или модель “верхнего уровня” системы (System Design или High Level Design)

Объект тестирования - Собранная из компонентов система или подсистема

Определение - На данном уровне тестируются объединенные элементы (компоненты или подсистемы) общей системы, чаще всего некоторая взаимодействующая между собой группа элементов.

Комплексное тестирование направлено не на проверку функционирования каждого из компонентов, а на проверку взаимодействия компонентов в соответствии с «Архитектурой системы».

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


все компоненты не будут разработаны, отлажены и проинтегрированы друг с другом в единую систему.

Системное тестирование (system testing)

Входные требования - Системные спецификации (System Specification)

Объект тестирования - Разработанная система

Определение - После того, как система собрана из составляющих компонентов, она должна быть протестирована на соответствие “Системным спецификациям” – реализованы ли все функциональные и нефункциональные требования к разрабатываемой системе.

На данном уровне тестируется приложение или система (одно или более приложений) целиком.

Приемочное тестирование (Приемо-сдаточное тестирование или acceptance testing)

Входные требования - Требования (Requirements)

Объект тестирования - Разработанная система

Определение - На данном уровне завершенное приложение (система) тестируется Заказчиком, конечными пользователями или соответствующими уполномоченными с целью определения соответствия системы “Требованиям Заказчика” и готовности системы к внедрению. Приемосдаточные испытания оформляют процесс передачи продукта от Разработчика Заказчику. В зависимости от особенностей продукта и от требований Заказчика они могут проводиться в различной форме. Например, в виде альфа- или бета-тестирования.

Приемочное тестирование схоже с системным тестированием, но со следующим различием:

  • Системное тестирование проверяет, что разработанная система соответствует специфицированным требованиям;
  • Приемочное тестирование проверяет, что разработанная система удовлетворяет запрошенным Заказчиком требованиям с упором на нужды конечных пользователей в данной предметной области.

Операционное тестирование (Release Testing)

Входные требования - Бизнес модель (Business Case или Business Model)

Объект тестирования - Разработанная система

Определение - Даже если система удовлетворяет всем требованиям, важно убедиться в том, что она удовлетворяет нуждам пользователя и выполняет свою роль в среде своей эксплуатации, как это было определено в бизнес-модели системы. Следует учесть, что и Бизнес модель может содержать ошибки. Поэтому так важно провести операционное тестирование как финальный шаг Валидации.

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

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

Основное разделение тестов на виды по объектам тестирования, или, точнее, на уровни тестирования, было произведено нами при определении обобщенной модели ЖЦ ТП. Уровни тестирования приведены ниже. Для каждого уровня тестирования могут использоваться различные виды тестирования, для каждого из которых, в свою очередь, могут использоваться различные типы тестовых испытаний.

Программа тестировалась на разных операционных системах:

  • Windows XP.
  • Windows Seven.

На разных ОС работа программы не вызывает затруднений.

Минимальные системные требования:

Windows XP:


Оперативная память: 256 Mb ОЗУ;

Видеокарта: Radeon 128 Mb;


Windows Seven:

Оперативная память: 1024 Mb ОЗУ;

Видеокарта: Radeon 128 Mb;

 

Рекомендуемые системные требования:

Windows XP:

Оперативная память: 512 Mb ОЗУ;

Видеокарта: Radeon 256 Mb;

Windows Seven:

Оперативная память: 1024 Mb ОЗУ;

Видеокарта: Radeon 256 Mb;

 

ЗАКЛЮЧЕНИЕ

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

Компьютерной игра «warships»:предназначена для досуга детей в возрасте 12-16 лет, обучающихся в средних учебных заведений, например, в рамках внеклассных мероприятий. Игра может использоваться также среди учителей, учащихся и их родителей, а так же всех тех, кто интересуется развитием логического мышления, тренировки памяти и математических способностей.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

  1. Архангельский А.Я «Программирование в Delphi 7». –М.ООО «Бином Пресс», 2003. – 1152 с.
  2. Бобровский С. И. Delphi 7:  учебный курс / С. И. Бобровский. – Санкт - Петербург: Питер, 2006. – 266 с.
  3. Фаронов В.В. «Delphi 6». Учебный курс – М.: Издатель Молгачева С.В., 2001. – 672 с.
  4. Пестриков В.М. Delphi на примерах / В. М. Пестриков, А. Маслобоев. – Санкт – Петербург: «БХВ-Петербург», 2005. – 496 с.
  5. Фаронов В.В. Delphi разработка приложений для баз данных и интернета / В.В. Фаронов. – Санкт-Петербург: Питер, 2006. – 603 с.
  6. Фаронов В.В. Delphi: Программирование на языке высокого уровня / В.В. Фаронов. – Санкт – Петербург: Питер, 2006 – 640 с.
  7. Фленов М. Е. Delphi 2005: Секреты программирования / М.Е. Фленов. – Санкт – Петербург: Питер, 2006. – 266 с.
  8. Хомоненко А. Д. Самоучитель Delphi NET / А. Пестриков. – Санкт-Петербург. «БХВ - Петербург», 2006. – 464 с.
  9. Модель и ее виды. Алгоритм поиска А*[Электронные ресурсы]/2014. – Режим доступа: http://znanija.com/task/2376733
  10. Типы данных. Алгоритм поиска А*[Электронные ресурсы]/2014. – Режим доступа: http://nazgull.ucoz.ru/publ/delphi/osnovy_delphi/tipy_dannykh/15-1-0-82
  11. Мышление и его развитие. Алгоритм поиска А*[Электронные ресурсы]/2014. - Режим доступа: Fatumtest.ru/tst/b_log_msl204.html
  12.  

 

 

 


Разработка игры «Морской бой»