Общая характеристика сетевой игры с несколькими клиентами в программной среде MS Visual Studio 2010 на языке программирования C с использованием функций работы с сокетами. Реализация системного сервиса, разработки интерфейса, алгоритм его тестирования.
Аннотация к работе
Цель данной курсовой работы состоит в проектировании, реализации и тестирования сетевого приложения, реализующего игру “Двадцать одно”. Правила игры очень просты, что и обеспечило огромную популярность этой игры во всем мире. В игре участвуют два типа игроков: дилер, представляющий интересы казино и обычные игроки. В игре, не считая дилера, могут участвовать от одного и более игроков. Колода, используемая при игре в двадцать одно, насчитывает 52 карты.Целью данного курсового проекта является реализация программы, которая предоставляет возможность сетевой игры с несколькими клиентами. Данная программа должна как создавать игру, для того, чтобы к ней могли подключиться другие игроки (выступать в роли сервера), так и подключаться к уже созданной игре (выступать в роли клиента). Так же в рамках курсового проекта должна быть разработана следующая документация: 1. диаграмма классов (представлена в приложении А); 2. диаграмма прецедентов (представлена в приложении Б); 3. диаграмма компонентов (представлена в приложении В);В программе сокет идентифицируется дескриптором - обычно это переменная типа int, хранящая ссылку на некий объект в ядре операционной системы, который и осуществляет реальную работу по отправке/приму данных. Программа получает дескриптор от операционной системы при создании сокета, а затем передает его функциям Winsock API для указания объекта ядра, над которым необходимо выполнить то или иное действие. С каждым сокетом связываются три атрибута: домен, тип и протокол. Домен определяет пространство адресов, в котором располагается сокет, и множество протоколов, которые используются для передачи данных. Сокеты, размещенные в этом домене, могут использоваться для работы в любой IP-сети.На клиентской машине игрок подключается к серверу при помощи приложения 21(CLIENT).exe. Осуществляется раздача начальных карт, после которой ход передается к первому игроку. Это осуществляется следующими командами: 21(SERVER).exe-i для инсталляции сервиса в системе и 21(SERVER).exe-u для деинсталляции сервиса. SC_HANDLE srvc = CREATESERVICE(scm, NAME_OF_SERVICE, NAME_OF_SERVICE_LONG, SC_MANAGER_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, NAME, NULL, NULL, NULL, NULL, "" Весь обмен данными между клиентом и сервером осуществляется в виде простых текстовых команд, что существенно облегчает отладку приложения, так как такие команды понятны пользователю, кроме того, при необходимости, может вестись лог работы сервера.В результате выполнения курсового проекта было разработана сетевая карточная игра «Двадцать одно».
Вывод
В результате выполнения курсового проекта было разработана сетевая карточная игра «Двадцать одно». Интерфейс программы удобен и понятен для широкого круга пользователей.
Разработанное приложение соответствует всем требованиям, предъявленным в техническом задании.
Данное приложение может позиционироваться как часть набора сетевых игр для офиса. Оно имеет относительно малый размер, простоту установки и запуска, оптимальные требования к системе.