Сервер игры “Морской бой”
Автор работы: Пользователь скрыл имя, 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(
end
else
if (CommBlock.Command = 'LOSE') then
{если считана команда LOSE - поражение}
begin
Protocol.Lines.Add(TimeToStr(
end;
end;
end;
Внешний вид приложения и порядок работы
Рис 3.1. Основное окно программы:
- Протокол выполнения программы
- Меню настройки сервера
- Меню управления сервером
- Текущее состояние сервера
Рис 3.2 Окно настройки сервера
Тестирование
Тестирование системы происходило в 3 режимах:
- На одном компьютере: Клиент и сервер запускались на одном компьютере
- С использованием VirtualBox: Клиент и сервер запускались в гостевой, а второй клиент на основной системах.
- В локальной сети: Клиенты и сервер запускалась на разных компьютерах.
Во всех режимах соблюдалась стабильная работа со стороны сервера, но со стороны клиента возникали исключения при обработке, на данный момент проблема не устранена. На стороне сервера проблем не наблюдалось.
Выводы
Был создал, и протестирован элементарный сервер для игры морской бой.
Преимуществами данного приложения являются:
- Низкие системные требования
- Незначительные требования к пропускной способности сети
- Интуитивно понятный интерфейс
К недостаткам стоит отнести
- Малое количество режимов работы, фактически присутствует только возможность для игры двух клиентов, без рейтинга, возможности выбора противника.
- Двоичный протокол, не позволяющий работать приложению в разных архитектурах
- Ограничение на максимальное количество одновременно играющих, в реальный сервер должен организовывать работу значительно большего количества клиентов.
Для дальнейшего совершенствования программы необходимо в первую очередь реализовать возможность работы сервера с произвольным количеством клиентов, с возможностью выбора оппонентов, так же возможно реализовать сервер в качестве службы Windows, и добавить возможность выводить протокол работы в файл.
Список литературы
- Бинарный или текстовый протоко
л [Электронный ресурс]: Peter’s blog. – Режим доступа: http://peter631.wordpress.com/ 2007/11/27/ Бинарный-или-текстовый-протоко л/ 11.05.2013
- Морской бой (игра) [Электронный ресурс]: Википедия — свободная энциклопедия. – Режим доступа: https://ru.wikipedia.org/wiki/ Морской_бой_(игра). - 11.05.2013.
- INDY IN DEPTH. ГЛУБИНЫ INDY[Электронный ресур
с]: Delphi Sources. – Режим доступа: http://www. delphisources.ru/pages/faq/ images-indy/indy-in-depth-11. html - 11.05.2013.
- TCP [Электронный ресурс]: Википедия — свободная энциклоп
едия. – Режим доступа: http://translate.yandex.net/ tr-url/en-ru.ru/ru.wikipedia. org/wiki/TCP - 11.05.2013
- Обмен информацией по TCP/IP-протоколу (Delphi) [Электронный ресурс]: Seven Quadrats of Hell. – Режим доступа: http://quadrathell.cn.ua/publ/
13-1-0-154 - 11.05.2013
- Простой обмен данными[Электронный ресу
рс]: F1 Delphi помошник. – Режим доступа: http://f1-delphi.ru/books/ delphi_tryuki_i_effekty/11_2_ prostoy_obmen_dannymi/ - 11.05.2013
- Сетевые протоколы. Прикладной уровень[Электронный ресурс]: Документы- Режим доступа: http://skachate.ru/
informatika/5717/index.html
- Глубины Indy, Indy in depth. – Chad Z. Hower (Kudzu) and the Indy Pit Crew. Перевод Анатолий Подгорецкий – 2006 год.