Разработка приложения для Windows, представ-ляющего собой компьютерную игру “Морской бой”

Автор работы: Пользователь скрыл имя, 23 Июня 2011 в 00:44, курсовая работа

Описание

Цель курсовой работы – разработка приложения , моделирующего игру “Морской бой”.
Для выполнения поставленной задачи использовалась среда программирования ИСР Delphi 7.0.
ИСР Delphi – это среда разработки программ, ориентированных на работу в Windows. В основе идеологии Delphi лежит технология визуального проектирования и методология объектно-ориентированного программирования. Для представления программ в Delphi используется разработанный фирмой Borland язык Object Pascal, в основе которого лежит Turbo Pascal. Слово “Object” особо подчеркивает, что язык поддерживает концепцию объектно-ориентированного программирования.

Содержание

ОСНОВНЫЕ ДАННЫЕ О РАБОТЕ 1
СОДЕРЖАНИЕ 2
ВВЕДЕНИЕ 3
1. РАЗРАБОТКА ЭСКИЗНОГО И ТЕХНИЧЕСКОГО ПРОЕКТОВ ПРОГРАММЫ 4
1.1. Назначение и область применения 4
1.2. Постановка задачи 4
1.3. Описание алгоритма 4
1.4. Организация входных и выходных данных 12
1.5. Выбор состава технических и программных средств 12
2. РАЗРАБОТКА РАБОЧЕГО ПРОЕКТА 13
2.1. Разработка программы 13
2.2 Спецификация программы 15
2.3 Текст программы 16
2.4 Описание программы 25
2.5 Тестирование программы 25
3. ВНЕДРЕНИЕ 26
ЗАКЛЮЧЕНИЕ 29
ГЛОССАРИЙ 30
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 32

Работа состоит из  1 файл

старая Курсовая.doc

— 450.50 Кб (Скачать документ)

Основные данные о работе

Версия  шаблона 2.1
Филиал Самарский
Вид работы Курсовая работа
Название  дисциплины Программирование  на языке высокого уровня
Тема Разработка  приложения для Windows, представляющего собой компьютерную игру “Морской бой”
Фамилия студента Тухбатшин
Имя студента Ильнар
Отчество  студента Искандарович
№ контракта 03900090609362

 

Содержание

 

 

Введение

 

     Цель  курсовой работы – разработка приложения , моделирующего игру “Морской бой”.

     Для выполнения поставленной задачи использовалась среда программирования ИСР Delphi 7.0.

    ИСР Delphi – это среда разработки программ, ориентированных на работу в Windows. В основе идеологии Delphi лежит технология визуального проектирования и методология объектно-ориентированного программирования. Для представления программ в Delphi используется разработанный фирмой Borland язык Object Pascal, в основе которого лежит Turbo Pascal. Слово “Object” особо подчеркивает, что язык поддерживает концепцию объектно-ориентированного программирования.

     В основе Delphi лежит идеология RAD – Rapid Application Development). Основной составляющей среды быстрого создания приложений является технология, получившая название Two Ways Tools. Это значит, что при размещении или изменении компонента в какой-либо форме, соответствующая программа автоматически дополняется и модифицируется. И наоборот, все изменения, которые вносятся в программу при разработке приложения, автоматически отражаются на функциональных свойствах компонентов формы.

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

 

1. Разработка эскизного  и технического  проектов программы

    1.1. Назначение и область  применения

 

    Необходимо  разработать развлекательную программу, представляющую собой игру. Область  применения: досуг программиста. Разрабатываемая  программа должна работать только под управлением среды Windows 9х.

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

 

    Данная  игра подразумевает игру между двумя  игроками. Перед началом игры, игрокам необходимо расставить на своих полях корабли. По правилам игры, корабли должны быть следующие: один 4-х палубный, два 3-х палубных,  три 2-х палубных и четыре однопалубных. Порядок расстановки не имеет значения, но должны соблюдаться следующие правила: корабли не должны пересекаться и должны находится на расстоянии друг от друга минимум через одну клетку. Расставлять корабли можно поворачивая их на угол 90° по вертикали или по горизонтали.

    Когда игрок начинает ход, то он говорит  координаты клетки предполагаемого удара. Если игрок промахнулся, то эта клетка помечается крестиком и право хода передаётся другому игроку. Если же игрок попал, то клетка заштриховывается, и игрок имеет право повторить ход. Координаты открытых клеток нельзя повторять в последующих ходах.

    1.3. Описание алгоритма

 

    Основным  действием алгоритма данной программы  является чередование ходов компьютера и игрока. Обобщённый алгоритм данного действия приведён на рис.1. Более детально можно представить блоки: «Расстановка кораблей компьютером» и «Ход компьютера». Алгоритмы этих блоков приведены на рис.2 и 3 соответственно.

    Описание  обобщённого алгоритма работы программы. После начала новый игры игрок расставляет свои корабли. Как только игрок завершит расстановку всех кораблей, программа автоматически сгенерирует расположение кораблей на своём поле. Т.к. право первого хода принадлежит игроку, то программа будет ждать первого хода игрока. Далее происходит графическая прорисовка хода. В случае попадания происходит проверка на наличие неподбитых кораблей компьютера. Если таковые есть, то игрок делает следующий ход, если нет, то игра заканчивается. В случае, если игрок промахнулся, то ход передаётся компьютеру, далее следует графическая прорисовка его хода, проверка на попадание и в случае промаха ход передаётся игроку. В случае попадания происходит проверка на наличие неподбитых кораблей игрока, если таковых нет, игра завершается, в противном случае компьютер повторяет свой ход.

    Описание  алгоритма расстановки кораблей компьютером. Т.к. кол-во палуб кораблей обратно пропорционально кол-ву кораблей, то в алгоритме используются два цикла. В первом цикле переменной X присваивается значение 4, которое в дальнейшем уменьшается на 1 до 1 и означает кол-во палуб корабля. Во вложенном цикле, переменной Y присваивается значение переменной X, в дальнейшем оно изменяется до 4 с шагом в 1, и означает кол-во кораблей с кол-вом палуб X. 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Рис.1. Обобщённая схема алгоритма

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Рис. 2. Алгоритм расстановки кораблей компьютером

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 

Рис. 3. Алгоритм хода компьютера 

    При расстановке каждого корабля  происходит очистка массива, сохраняющего пройденные направления. Расстановка осуществляется выбором начальных координат по X и Y, затем случайным образом выбирается направление размещения (вверх, вниз вправо или влево), производится расчёт конечных координат по X и Y и если корабль можно разместить на данном участке (если корабли не пересекаются, не накладываются друг на друга, и не выходят за границы массива), то происходит его регистрация в массиве. Если все направления проверены, и корабль невозможно разместить, то происходит их обнуление, генерация новых начальных координат X и Y, и перебор направлений повторяется. Так продолжается до завершения расстановки всех кораблей.

    Описание  алгоритма хода компьютера. В начале алгоритма происходит проверка координат удара, на случай, если корабль в прошлом ходу был подбит, но не уничтожен. Если координаты равны нулю, то происходит их случайная генерация (если ячейка с новыми координатами открыта, то генерация продолжится). Далее производится графический вывод состояния ячейки и проверка на полное уничтожение корабля, если корабль полностью подбит, то следует генерация новых координат. Если корабль не уничтожен, то следует проверка на присутствие его палубы в данной клетке, если ячейка пуста, то происходит обнуление координат, сброс направлений и передача хода игроку. Если ячейка не пуста, то происходит случайный выбор направления и проверка ячейка со смещением в выбранном направлении. Если ячейка открыта, то генерация направления повторяется, если нет, то происходит приращение координат X или Y в выбранном направлении, графический вывод состояния ячейки. Если корабль полностью открыт, то координаты и направления обнуляются и ход заканчивается. Для исключения ошибки, связанной с обращением к несуществующим ячейкам массива, введена следующая проверка на выход координат за его пределы: если координаты вышли за пределы размера массива, то происходит инверсия направления (если направление было вверх, то стало вниз, если было вправо, то изменяется на лево и т.д.) и продолжение хода компьютера. Если же координаты в норме, то следует проверка на наличие палубы корабля в данной открытой ячейке и если обнаруживается её присутствие, то происходит дальнейшее приращение координат в выбранном направлении. Если текущие координаты менее 0, то происходит сброс направлений (однако при следующем ходе компьютера, оно будет выбрано случайно и отсчитываться из данной ячейки) и завершение хода компьютера. Если координаты больше 0, то происходит инверсия направления, приращение координат в выбранном направлении. Затем ячейка проверяется, была ли она открыта или нет. Если ячейка была открыта, то происходит сброс направлений и завершение хода компьютера, если нет, то просто завершение хода. 
 

    1.4. Организация входных и выходных данных

 

    Входные данные – массивы значений, которые формируются в процессе работы программы. В них хранятся значения игровых полей, значения: 0 – клетка поля не открыта и не содержит корабля; 1 – клетка не открыта, но содержит палубу корабля; 2 – клетка открыта, корабля в ней нет; 3 – клетка открыта и содержит палубу корабля.

    Выходные  данные – графическое представление  данных массивов входных данных на компонентах TDrawGrid. Неоткрытая клетка ничем не помечается, открытая клетка, не содержащая корабля помечается крестиком, клетка открытая, с палубой корабля помечается красным квадратом.

    1.5. Выбор состава технических и программных средств

 

    При разработке данной программы необходимо использовать интегральную среду разработки программ Delphi. Среда Delphi позволяет достаточно быстро разрабатывать приложения для Windows. Технические характеристики компьютера: Pentium 100 и выше; объём оперативной памяти не менее 8 Мб; жёсткий диск объёмом не менее 500 Мб. Именно эти параметры создают условия для полноценной работы IDE Delphi 5 и программ, созданных в этой среде. Дополнительных средств (принтер, сканер, дополнительные дисководы и т.д.)  не требуется.

 

2. Разработка рабочего  проекта

    2.1. Разработка программы

 

    Для разработки приложения игры “Морской бой” используется среда визуального программирования “Delphi”. Проект программы содержит одно окно – Mainform – игровое поле.

    Вид окна Mainform на этапе разработки приведён на рис. 4. 

Рис.4. Главное  окно программы - Mainform 

Компонент Mainform.

Свойства:

Caption – “Морской бой”;

Border – BsSingle;

Name –  Mainform.

События:

FormCreate – включение генератора случайных числе и сброс координат и направлений в ноль;

FormPaint – перерисовка игровых полей Manpole и Comppole при перерисовке формы Mainform. 

1 – компонент TLabel1.

Свойства:

Font – ярко-зелёный, размер 10;

Caption – “Ваше поле:”. 

2 – компонент TMainMenu.

Свойства:

Items

Игра (Menu1)

Начать  новую (Menu2)

Выход (Menu3)

События:

Menu2 – начать новую игру;

Menu3 – закончить работу с приложением. 

3 – компонент Comppole.

Свойства:

ColCount – 10;

DefaultColWidth – 20;

DefaultRowHeight – 20;

RowCount –  10;

События:

ComppoleMouseDown – используется при расстановке игроком кораблей на поле, сохраняет начальную координату корабля;

ComppoleMouseUp – используется при расстановке  игроком кораблей на поле, сохраняет конечную координату корабля. 

4 – компонент TLabel2.

Свойства:

Font – ярко-зелёный, размер 10;

Caption – “Поле компьютера:”.

5 – компонент Manpole.

Свойства:

ColCount –  10;

DefaultColWidth – 20;

DefaultRowHeight – 20;

RowCount – 10;

События:

ManpoleClick – происходит при выборе игроком координаты удара.

    2.2 Спецификация программы

 

    Исполняемый файл программы “Игра “Морской бой”” имеет название SeaWar.exe и расположен на диске A в каталоге Kursgame. Состав проекта приведён в таблице №1.

Таблица 1. Состав проекта

Наименование Обозначение Примечание
SeaWar.Cfg Конфигурационный  файл проекта Содержит установки  проекта
SeaWar.Dof Файл параметров проекта Содержит текущие  установки проекта: настройки компилятора и компоновщика, имена служебных каталогов, условные директивы
SeaWar.Dpr Файл проекта Связывает все  файлы, из которых состоит приложение
SeaWar.Res Файл ресурсов Содержит пиктограммы
Unit1.Pas Файл программного модуля для формы №1 Определяет  функциональность формы №1
Unit1.Dfm Файл формы №1 Содержит список всех компонентов, включённых в форму №1
Unit1.Dcu Объектный файл для Unit1.Pas Откомпилированная версия Unit1.Pas

Информация о работе Разработка приложения для Windows, представ-ляющего собой компьютерную игру “Морской бой”