Сервер игры “Морской бой”

Автор работы: Пользователь скрыл имя, 24 Ноября 2013 в 15:02, курсовая работа

Краткое описание

Целью данной работы является разработка сервера для одной из самых известных и популярных в России и мире игр – Морской бой. «Морской бой» — игра для двух участников, в которой игроки по очереди называют координаты на неизвестной им карте соперника. Если у соперника по этим координатам имеется корабль (координаты заняты), то корабль или его часть «топится», а попавший получает право сделать ещё один ход. Цель игрока — первым поразить все корабли противника. Игра впервые была выпущена в виде настольной игры компанией Milton Bradley Company в 1931-ом году.

Содержание

Введение 3
Теоретический анализ и проектирование 4
Архитектура системы. 4
Протокол прикладного уровня. 4
Команды протокола прикладного уровня 5
Протокол транспортного уровня. 6
Сетевой алгоритм работы: 6
Программная реализация 7
Исходный код 7
Внешний вид приложения и порядок работы 12
Тестирование 13
Выводы 14
Список литературы 15

Прикрепленные файлы: 69 файлов

Введение.doc

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

       else

       if (CommBlock.Command = 'WIN') then

{если считана  команда WIN – победа }

       begin

              Protocol.Lines.Add(TimeToStr(Time)+ ' Игрок ' + ActClient.DNS + ' победил в партии');

      end

      else

         if (CommBlock.Command = 'LOSE') then

{если считана  команда LOSE - поражение}

         begin

               Protocol.Lines.Add(TimeToStr(Time)+ ' Игрок ' + ActClient.DNS + ' проиграл партию');

          end;

      end;

end;

Внешний вид приложения и порядок  работы

Рис 3.1. Основное окно программы:

  1. Протокол выполнения программы
  2. Меню настройки сервера
  3. Меню управления сервером
  4. Текущее состояние сервера

 

 

 

Рис 3.2 Окно настройки  сервера

Тестирование

Тестирование системы  происходило в 3 режимах:

    1. На одном компьютере: Клиент и сервер запускались на одном компьютере
    2. С использованием VirtualBox: Клиент и сервер запускались в гостевой, а второй клиент на основной системах.
    3. В локальной сети: Клиенты и сервер запускалась на разных компьютерах.

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

 

Выводы

Был создал, и протестирован  элементарный сервер для игры морской  бой.

Преимуществами данного приложения являются:

  • Низкие системные требования
  • Незначительные требования к пропускной способности сети
  • Интуитивно понятный интерфейс

К недостаткам стоит  отнести 

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

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

 

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

 

  1. Бинарный или текстовый протокол [Электронный ресурс]: Peter’s blog. – Режим доступа: http://peter631.wordpress.com/2007/11/27/ Бинарный-или-текстовый-протокол/ 11.05.2013

 

  1. Морской бой (игра) [Электронный ресурс]: Википедия — свободная энциклопедия. – Режим доступа: https://ru.wikipedia.org/wiki/ Морской_бой_(игра). - 11.05.2013.

 

  1. INDY IN DEPTH. ГЛУБИНЫ INDY[Электронный ресурс]: Delphi Sources. – Режим доступа: http://www.delphisources.ru/pages/faq/images-indy/indy-in-depth-11.html - 11.05.2013.

 

  1. TCP [Электронный ресурс]: Википедия — свободная энциклопедия. – Режим доступа: http://translate.yandex.net/tr-url/en-ru.ru/ru.wikipedia.org/wiki/TCP - 11.05.2013

 

  1. Обмен информацией по TCP/IP-протоколу (Delphi) [Электронный ресурс]: Seven Quadrats of Hell. – Режим доступа: http://quadrathell.cn.ua/publ/13-1-0-154 - 11.05.2013

 

  1. Простой обмен данными[Электронный ресурс]: F1 Delphi помошник. – Режим доступа: http://f1-delphi.ru/books/delphi_tryuki_i_effekty/11_2_prostoy_obmen_dannymi/ - 11.05.2013

 

 

  1. Сетевые протоколы. Прикладной уровень[Электронный ресурс]: Документы- Режим доступа: http://skachate.ru/informatika/5717/index.html

 

  1. Глубины Indy, Indy in depth. – Chad Z. Hower (Kudzu)  and the Indy Pit Crew. Перевод Анатолий Подгорецкий – 2006 год.

GlobalUnit.dcu

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

GlobalUnit.pas

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

Project1.cfg

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

Project1.dof

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

Project1.dpr

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

Project1.dproj

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

Project1.dproj.local

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

Project1.exe

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

Project1.identcache

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

Project1.res

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

Project1.~dpr

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

Project1_Icon.ico

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

Unit1.dcu

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

Unit1.ddp

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

Unit1.dfm

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

Unit1.pas

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

Unit1.vlb

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

Unit1.~ddp

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

Unit1.~dfm

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

Unit1.~pas

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

Unit2.dcu

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

Unit2.pas

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

Unit2.~pas

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

Unit3.dcu

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

Unit3.ddp

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

Unit3.dfm

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

Unit3.pas

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

Unit3.~ddp

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

Unit3.~dfm

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

Unit3.~pas

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

Unit4.dcu

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

Unit4.ddp

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

Unit4.dfm

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

Unit4.pas

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

Unit4.~ddp

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

Unit4.~dfm

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

Unit4.~pas

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

Unit1.dfm.~1~

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

Unit1.dfm.~2~

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

Unit1.dfm.~3~

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

Unit1.dfm.~4~

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

Unit1.dfm.~5~

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

Unit1.dfm.~6~

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

Unit1.dfm.~7~

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

Unit1.pas.~1~

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

Unit1.pas.~2~

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

Unit1.pas.~3~

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

Unit1.pas.~4~

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

Unit1.pas.~5~

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

Unit1.pas.~6~

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

Unit2.pas.~1~

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

Unit2.pas.~2~

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

Unit2.pas.~3~

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

Unit2.pas.~4~

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

GlobalUnit.~pas

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

Server.cfg

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

Server.dof

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

Server.dpr

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

Server.exe

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

Server.res

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

Server.~dpr

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

ServerFrmMainUnit.dcu

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

ServerFrmMainUnit.ddp

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

ServerFrmMainUnit.dfm

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

ServerFrmMainUnit.pas

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

ServerFrmMainUnit.~ddp

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

ServerFrmMainUnit.~dfm

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

ServerFrmMainUnit.~pas

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

Информация о работе Сервер игры “Морской бой”