Создание сетевого игрового программного средства "Морской бой"

Автор: Пользователь скрыл имя, 06 Февраля 2013 в 11:19, курсовая работа

Описание работы

Цель данного курсового проекта – это создание сетевого игрового программного средства «Морской бой». Средством разработки является среда разработки Borland Delphi.
Тема данного проекта является актуальной, так как игра «Морской бой» достаточно хорошо известна и популярна. Практически каждый школьник в тот или иной период своей жизни играл в эту игру. В связи с появлением компьютеров и новых обучающих и развивающих программ к ней вновь возрос интерес.

Содержание

Введение ………………………………………………………………………… 4
Руководство программиста…………………………………………….…5
1.1 Техническое задание……………………………………………….…5
1.2 Технические требования ………………………………………….…5
1.3 Описание подпрограмм ……………………………………………...6
Руководство пользователя……………………………………………..…7
Заключение………………………………………………………………………14
Список литературы……………………………………………………………...15
ПРИЛОЖЕНИЕ А Таблица 1 – Описание подпрограмм……………………..16

Работа содержит 1 файл

рамка.doc

— 4.42 Мб (Скачать)


Содержание

Введение ………………………………………………………………………… 4

  1. Руководство программиста…………………………………………….…5 
    1.1 Техническое задание……………………………………………….…5 
    1.2 Технические требования ………………………………………….…5 
    1.3 Описание подпрограмм ……………………………………………...6
  2. Руководство пользователя……………………………………………..…7

Заключение………………………………………………………………………14

Список литературы……………………………………………………………...15

ПРИЛОЖЕНИЕ А Таблица 1 – Описание подпрограмм……………………..16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

Цель данного курсового проекта  – это создание  сетевого игрового программного средства «Морской бой». Средством разработки является среда разработки Borland Delphi.

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

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

Правила игры: задача игрока - уничтожить все корабли противника. Участники поединка делают ходы поочередно, причем, если один из игроков попадает по кораблю соперника, то он получает право следующего хода.

 

 

 

 

 

 

 

1 Руководство программиста

    1. Техническое задание

 

В соответствии с учебным планом по специальности АОИ-09 (230102) была поставлена задача, выполнить курсовой проект по дисциплине «Сетевые технологии».

Основные функции игрового программного средства «Морской бой»:

˗ наличие звуковых эффектов;

˗ графическое обеспечение;

˗ учет истории игр;

˗ сетевой интерфейс.

 

 

    1. Технические требования

 

Игровое программное средство «Морской бой» работает в операционных системах Windows 98/2000/XP/ME/NT/7.

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

˗ операционная система семейства  Windows;

˗ 2 Мбайт свободного места на жестком диске;

˗ манипуляторы: компьютерная мышь, клавитура;

˗ LAN сеть. Скорость соединения от 128 Кбит/сек.

 

1.3 Описание подпрограмм

 

Для создания сетевой игры «Морской бой» была использована интегрированная среда разработки Borland Delphi.

Сетевого игровое программное средство «Морской бой» состоит из двух программных модулей: Unit1, Unit2. Unit1– основная функциональная часть программы, в котором реализуются основные функции приложения. Unit2 – учет истории игр.

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

Перечень основных подпрограмм  с указанием выполняемого действия приведен в таблице 1 (ПРИЛОЖЕНИЕ А).

 

  

 

  1. Руководство пользователя

 

Для запуска игрового программного средства «Морской бой» необходимо запустить приложение «МорскойБой.exe». После того как игрок запустит данное приложение на экране появиться окно, представленное на рисунке 1.

 

Рисунок 1 – Главное  окно

 

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

При нажатии на кнопку:

˗  «Начать игру» - появляется игровое окно (Рисунок 2);

˗ «Выход» - происходит закрытие приложения.

 

 

Рисунок 2 – Игровое окно

 

В игровом окне слева расположено  игровое поле пользователя, в середине панель «Расстановка кораблей» и чат. Вверху окна расположено главное меню с вкладками: «Файл», «Настройки», «История».

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

Прежде чем начать игру, пользователю нужно расставить корабли на игровом  поле. Для этого необходимо выбрать положение корабля (горизонтально, вертикально) и вид корабля (1, 2, 3, 4 палубный). Корабли на поле игрока расставляются с помощью курсора мыши, они будут изображены серым цветом (Рисунок 3).

 

 

 

 

Рисунок 3 – Расстановка кораблей

 

Если игрок ставит корабль за пределами игрового поля, либо в пересечении с другим кораблем, то на экране появляется ошибка (Рисунок 4).

После того как игрок расставит  все корабли, ему необходимо нажать на кнопку «Готов». Если его соперник так же нажал эту кнопку, то появляется сообщение о начале игры (Рисунок 6) и игровое поле соперника становится видимым. Иначе, если второй игрок не готов начать игру, происходит ожидание второго игрока (Рисунок 5).

Ход игрока делается также  при помощи мыши – ей отмечается выбранная пользователем для  удара клетка на правом игровом поле. Если промах – то она отмечается серым цветом, если попадание – оливковым, уничтоженные корабли отмечаются красным цветом. Клетки, прилежащие непосредственно к кораблю, выделяются (Рисунок 6).

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

 

Рисунок 4 – Окно ошибки при расстановке кораблей

 

Рисунок 5 – Ожидание второго игрока

 

 

 

Рисунок 6 – Начало игры

 

Игра заканчивается, если один из игроков  «убивает» все корабли противника, в этом случае выводится сообщение о победе (Рисунок 7), а сопернику сообщение о проигрыше (Рисунок 8).

При окончании игры на экране появляется главное окно и у игрока есть возможность начать новую игру.

На рисунке 9 показано главное меню, при нажатии на:

˗ «Файл» появляются следующие подпункты:

    1. «Новая игра» - появляется главное окно;
    2. «Сдаться» - игрок заканчивает игру и автоматически считается проигравшим, сопернику отправляется сообщение о победе;
    3. «Выход» - происходит выход из приложения.

˗ «Настройки» - в данном меня игрок  может воспользоваться такой  функцией, как отключение звука;

˗ «История» - учет истории игр (Рисунок 10).

 

 

Рисунок 7 – Сообщение о победе

 

Рисунок 8 – Сообщение о проигрыше

 

 

 

Рисунок 9 – Главное меню

 

На рисунке 10 показано окно учета  истории игр.

 

Рисунок 10 – История игр

 

 

 

 

 

Заключение

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

В курсовом проекте рассмотрены  такие разделы как «Руководство пользователя» и «Руководство программиста». Раздел «Руководство пользователя» содержит краткие сведения по управлению игровым процессом. В разделе «Руководство программиста» кратко описаны основные подпрограммы главного модуля Unit1, краткое описание программы и внешнего вида приложения.

Результатом разработки, проведенной  в данном курсовом проекте,  стала система, удовлетворяющая  следующим требованиям:

˗ разработанная система полностью реализует основные возложенные на нее функции;

˗ система оснащена дружеским интерфейсом;

˗ разработанная система является интегрированной;

˗ программа имеет хороший дизайн;

˗ оптимизирована для использования ее на компьютере со средней производительностью.

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

 

 

 

 

 

 

 

 

 

 

Список литературы

    1. Архангельский, А. Я. Программирование в Delphi 7: учеб./ А. Я. Архангельский. – М.: изд-во АСВ, 2003. – 232 с.
    2. Бобровский, С. А. Delphi 7. Учебный курс: учеб./ С. А. Бобровский. – М.: Академия, 2008. – 431 с.
    3. Григорьев, А. Б. О чём не пишут в книгах по Delphi: учеб. пособие./ А. А. Григорьев. – М.: BHV-Петербург, 2008. – 567 с.
    4. Павловская, Т. А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов / Т. А. Павловская. – СПб.: Питер, 2003. – 393 с.

 

ПРИЛОЖЕНИЕ А

Таблица 1 – Описание подпрограмм

 

Название

Назначение

Exit_Click

Закрытие приложения

FormShow

Воспроизведение аудио  файла при запуске приложения

FormCreate

Формирование игрового поля

Image1Click

Обработка клика. Воспроизведение  аудио файла ставится на паузу

NameClientChange

При введении данных (имя  игрока, IP адрес) кнопки подключения становятся активными

NClientConnect

Отправление имени игрока на сервер, запрос имени соперника

SendPoint

Отправка координат  игроку

NewGameClick

Обнуление переменных, начало новой игры

NClientRead

Получение от сервера  имени игрока

 

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

 

Проверка на попадание  в корабль. Проверка на уничтожение корабля

 

Вывод на экран сообщения  о победе. Запись в файл logs.log данных о результате игры. Переход на главную панель с подключением или созданием сервера.

NServerAccept

Сообщение о подключении  клиента

NServerClientDisconnect

Сообщение об отключении клиента

NServerClientRead

Получение от клиента имени игрока, получение координат расположения кораблей от клиента, запись о готовности одного из игроков

ParserIp

Коррекция ввода IP адреса

ReadyClick

Ожидание второго игрока, кнопка начала игры становится неактивной

RunGamesClick

Проверка IP адреса, запись имени игрока, запуск сервера

SendKeyPress

Вывод в чате имен игроков

ArightShips

Коррекция расстановки  кораблей


 

Продолжение таблицы 1

 

CreatShips

Расстановка кораблей на игровом поле

User1Click

Определение позиции (горизонталь, вертикаль) и вида корабля

User1DrawCell

Определение цвета корабля, заливка

NClientDisconnect

Вывод сообщения в  чат при отключении от сервера  одного из игроков





Информация о работе Создание сетевого игрового программного средства "Морской бой"