Автор24

Информация о работе

Подробнее о работе

Страница работы
  • 13 страниц
  • 2017 год
  • 78 просмотров
  • 0 покупок
Автор работы

evgkazartseff

1000 ₽

Работа будет доступна в твоём личном кабинете после покупки

Гарантия сервиса Автор24

Уникальность не ниже 50%

Фрагменты работ

Суть данного курсового проекта заключается в реализации сетевой игры “Крестики нолики” на языке C++, с интегрированным чатом между пользователями и комнатами игроков. Взаимодействие между клиентами необходимо реализовать посредством системных вызовов, предоставляемых Socket API.

Сервер
В пространстве имён Server реализованы следующие классы:
Net - реализует работу с сетевым интерфейсом;
Game - хранит сведения о текущем состоянии игры;
User - хранит всю необходимую информацию о пользователе;
Core - адаптер для связи трёх вышеупомянутых классов.
Алгоритм работы класса Net

Конструктор класса Net принимает на вход ip адрес и порт на котором должен работать сервер и порождает два потока: OpenConnection и SendMessage.
В классе Net реализованы следующие методы:
OpenConnection - поток для открытия новых соединений с сервером. Связывает имена пользователей и их дескрипторы и помещает результат в connect_clients (unordered map), а имя клиента помещает в очередь новых клиентов. Затем порождает поток ReadMessage для подключившегося клиента.
ReadMessage - поток для приема входящих сообщений. Создается для каждого клиента. Занимается тем, что помещает пришедшее от клиента сообщение в единую очередь пришедших сообщений.
SendMessage - поток для отправки сообщений пользователям. Занимается тем, что изымает из очереди очередное сообщение, которое необходимо отправить, после чего ищет имя клиента в connect_clients, получает дескриптор соединения и отправляет сообщение.
CloseConnection - закрывает соединение с клиентом.
Send - функция помещает сообщения для клиента в очередь на отправку. В отличии от вышеперечисленных функций входит в интерфейс.
Recv - блокирующая функция, которая возвращает первое пришедшее от клиентов сообщение (входит в интерфейс).
GetNewClientName - блокирующая функция, которая возвращает имя первого клиента находящегося в очереди подключившихся клиентов (входит в интерфейс).

Сетевая игра крестики нолики. Написана на языке C++. Графика реализована с помощью библиотеки ncurses. Отчёт в прикреплённом архиве.

Announcing ncurses 6.0 [Электронный ресурс] / 1998,2000,2004,2005,2006,2008,2011,2015 Free Software Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301, USA Режим доступа: https://www.gnu.org/software/ncurses/ncurses.html, свободный. (Дата обращения: 13.12.2017).
Библиотека ncurses [Электронный ресурс] / Copyright 2005-2006 Бердников Александр Режим доступа: http://alexber220.narod.ru/ncurses/, свободный (Дата обращения: 13.12.2017).
Изучите алгоритмы работы системных вызовов TCP [Электронный ресурс] / Бинду Анупама Режим доступа: https://www.ibm.com/developerworks/ru/library/au-tcpsystemcalls/index.html, свободный (Дата обращения: 10.12.2017).

Форма заказа новой работы

Не подошла эта работа?

Закажи новую работу, сделанную по твоим требованиям

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

Фрагменты работ

Суть данного курсового проекта заключается в реализации сетевой игры “Крестики нолики” на языке C++, с интегрированным чатом между пользователями и комнатами игроков. Взаимодействие между клиентами необходимо реализовать посредством системных вызовов, предоставляемых Socket API.

Сервер
В пространстве имён Server реализованы следующие классы:
Net - реализует работу с сетевым интерфейсом;
Game - хранит сведения о текущем состоянии игры;
User - хранит всю необходимую информацию о пользователе;
Core - адаптер для связи трёх вышеупомянутых классов.
Алгоритм работы класса Net

Конструктор класса Net принимает на вход ip адрес и порт на котором должен работать сервер и порождает два потока: OpenConnection и SendMessage.
В классе Net реализованы следующие методы:
OpenConnection - поток для открытия новых соединений с сервером. Связывает имена пользователей и их дескрипторы и помещает результат в connect_clients (unordered map), а имя клиента помещает в очередь новых клиентов. Затем порождает поток ReadMessage для подключившегося клиента.
ReadMessage - поток для приема входящих сообщений. Создается для каждого клиента. Занимается тем, что помещает пришедшее от клиента сообщение в единую очередь пришедших сообщений.
SendMessage - поток для отправки сообщений пользователям. Занимается тем, что изымает из очереди очередное сообщение, которое необходимо отправить, после чего ищет имя клиента в connect_clients, получает дескриптор соединения и отправляет сообщение.
CloseConnection - закрывает соединение с клиентом.
Send - функция помещает сообщения для клиента в очередь на отправку. В отличии от вышеперечисленных функций входит в интерфейс.
Recv - блокирующая функция, которая возвращает первое пришедшее от клиентов сообщение (входит в интерфейс).
GetNewClientName - блокирующая функция, которая возвращает имя первого клиента находящегося в очереди подключившихся клиентов (входит в интерфейс).

Сетевая игра крестики нолики. Написана на языке C++. Графика реализована с помощью библиотеки ncurses. Отчёт в прикреплённом архиве.

Announcing ncurses 6.0 [Электронный ресурс] / 1998,2000,2004,2005,2006,2008,2011,2015 Free Software Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301, USA Режим доступа: https://www.gnu.org/software/ncurses/ncurses.html, свободный. (Дата обращения: 13.12.2017).
Библиотека ncurses [Электронный ресурс] / Copyright 2005-2006 Бердников Александр Режим доступа: http://alexber220.narod.ru/ncurses/, свободный (Дата обращения: 13.12.2017).
Изучите алгоритмы работы системных вызовов TCP [Электронный ресурс] / Бинду Анупама Режим доступа: https://www.ibm.com/developerworks/ru/library/au-tcpsystemcalls/index.html, свободный (Дата обращения: 10.12.2017).

Купить эту работу

Сетевая игра

1000 ₽

или заказать новую

Лучшие эксперты сервиса ждут твоего задания

от 500 ₽

Гарантии Автор24

Изображения работ

Страница работы
Страница работы
Страница работы

Понравилась эта работа?

или

5 января 2018 заказчик разместил работу

Выбранный эксперт:

Автор работы
evgkazartseff
4
Купить эту работу vs Заказать новую
0 раз Куплено Выполняется индивидуально
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что уровень оригинальности работы составляет не менее 40%
Уникальность Выполняется индивидуально
Сразу в личном кабинете Доступность Срок 1—6 дней
1000 ₽ Цена от 500 ₽

5 Похожих работ

Курсовая работа

Создание базы данных для автоматизации процесса управления кадрами на предприятии

Уникальность: от 40%
Доступность: сразу
1000 ₽
Курсовая работа

Оптимизация сайта при помощи методов ИИ для увеличения конверсионного действия

Уникальность: от 40%
Доступность: сразу
300 ₽
Курсовая работа

Сравнение операционных систем Linux, Windows и MacOS

Уникальность: от 40%
Доступность: сразу
400 ₽
Курсовая работа

Разработка программы обработки списка смартфонов

Уникальность: от 40%
Доступность: сразу
350 ₽
Курсовая работа

Решение задач многомерной оптимизации. Методы безусловной оптимизации. Поиск условного экстремума, используя квадратичный штраф. (MathCad, Python).

Уникальность: от 40%
Доступность: сразу
1000 ₽

Отзывы студентов

Отзыв Далиас об авторе evgkazartseff 2018-05-11
Курсовая работа

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

Общая оценка 5
Отзыв pocya об авторе evgkazartseff 2016-04-07
Курсовая работа

Спасибо за работу!

Общая оценка 5
Отзыв Марина [email protected] об авторе evgkazartseff 2015-08-25
Курсовая работа

все отлично, спасибо!

Общая оценка 5
Отзыв Татьяна_5085 об авторе evgkazartseff 2016-09-15
Курсовая работа

Все ОК

Общая оценка 5

другие учебные работы по предмету

Готовая работа

Инженер по тестированию (яндекс практикум) диплом + багрепорты windows

Уникальность: от 40%
Доступность: сразу
2500 ₽
Готовая работа

Разработка IP-сервера для обеспечения IP-телефонии во внутренних сетях связи

Уникальность: от 40%
Доступность: сразу
2240 ₽
Готовая работа

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

Уникальность: от 40%
Доступность: сразу
1000 ₽
Готовая работа

Проектирование программы анализа финансового состояния предприятия

Уникальность: от 40%
Доступность: сразу
1000 ₽
Готовая работа

Разработка системы для измерения уровня жидкости в резервуарах промышленных масштабов на основе ультразвукового уровнемера.

Уникальность: от 40%
Доступность: сразу
2240 ₽
Готовая работа

Разработка информационной системы поддержки научно-исследовательской деятельности на основе метода Zettelkasten

Уникальность: от 40%
Доступность: сразу
1799 ₽
Готовая работа

Разработка информационной системы учета приёма и оплаты заказов посетителей с использованием СУБД SQL Server и языка программирования С#

Уникальность: от 40%
Доступность: сразу
2200 ₽
Готовая работа

Разработка объектно-ориентированной модели программ для работы с тригонометрическими рядами

Уникальность: от 40%
Доступность: сразу
1000 ₽
Готовая работа

WEB-приложение оформления заказов в кондитерской. Предметом исследования является учет заказов кондитерских изделий в кондитерской.

Уникальность: от 40%
Доступность: сразу
4000 ₽
Готовая работа

WEB-приложение для салона красоты. Предмет исследования – процесс учёта заказов в салон красоты.

Уникальность: от 40%
Доступность: сразу
4000 ₽
Готовая работа

Автоматизация учета и анализа клиентского оборудования для интернет провайдера

Уникальность: от 40%
Доступность: сразу
2800 ₽
Готовая работа

Сравнительный анализ клиентских реализаций импорта пакетов и модулей в экосистеме JavaScript

Уникальность: от 40%
Доступность: сразу
2240 ₽