SlideShare a Scribd company logo
1 of 19
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(национальный исследовательский университет)
Руководитель доцент кафедры 806
Чернышов Лев Николаевич
Дипломник группы 08-608
Тер-Григорян Левон Арменович
Дипломная работа на тему:
«ПРОГРАММНОЕ И
ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ
ШАХМАТНОЙ ВЕБ-СИСТЕМЫ»
1
Москва 2015
Зачем использовать сетевые
системы в играх на клеточной доске
• Возможность быстро начать игровой процесс
с другим пользователем в любой точке мира
• Социализация игрового процесса
• Игра с наиболее подходящими соперниками
• Возможность выбора длительности игры
2
Функциональные:
• Возможность совместной игры
• Сбор игровой статистики
• Пользовательский рейтинг
• Автоматический подбор соперника
• Игровые режимы
Нефункциональные:
• Безопасность игрового процесса и
пользовательских данных
• Удобство использования
3Требования к системе для игры на
клеточной доске MessChess
Статисти
ка
Режимы Совместн
ая игра
Автоматический
подбор
Игра с
компьютер
ом
ChessTemp
o
+ - - - +
ChessFree - - - - +
Lichess + + + - +
Sparkchess + + + - +
Chess
Online
- - + - -
Mess
Chess
+ + + + -
4Обзор аналогов
• .Net/C# для реализации компонент системы
• WCF для взаимодействия компонент
• Двусторонний канал связи поверх tcp socket
• База данных MSSQL
• ASP .Net MVC 4 + JavaScript для системы
просмотра статистики
5Стек технологий системы
MessChess
6
Архитектура системы MessChess
• Пользователи хранятся в базе данных
• При передаче пароля используется хэш на
стороне клиента SHA-256
• На серверной стороне используется
функция замедленная PBKDF2 с
“подсаливанием”
• Password=PBKDF2(SHA256(password’), Salt)
• Пример хранения паролей T1 и T2:
7Модуль аутентификации
• Сессия создается при аутентификации
пользователя
• Клиент по расписанию обновляет сессию
• Состояние сессии отображает текущее
действие пользователя
8Организация пользовательской сессии
• Основан на минимизации разницы силы
игроков
• Формирование игр происходит по расписанию
• В качестве системы расчета силы игрока
используется рейтинг Эло
• Рейтинг хранится в базе и зависит от режима
9Автоматический подбор соперника
• Моделирование на основе битовых досок
• Каждому типу фигуры соответствует 64-х разрядное
число
• Позиции активных битов соответствуют позициям на
доске
Соответствующая
битовая доска для белых
пешек имеет вид:
00000000 00000000
00000000 00000000
00000000 00000000
11111111 00000000
10Моделирование доски
=
• Компактность данных – для представления
полной шахматной доски необходимо 12 чисел
• Использование битовых операций для сбора
доступных позиций для перемещения и атаки
OR
11Преимущества использования
битовых досок
• Время контролируется на основании одного
из трех режимов – блиц игра, обычная игра,
долгая игра
• Контролируется время хода, общее время
ходов
• Контроль времени происходит на сервере
Время хода Общее время ходов
Блиц игра 1 мин 5 мин
Обычная игра 5 мин 120 мин
Долгая игра 1 день 5 дней
12Контроль за временем
• Используется
двусторонний
канал связи
клиента и сервера
• На сервере два
сервиса:
аутентификации и
игровой
• Доска дублируется
на клиенте и
сервере
13Протокол взаимодействия
• Данные о
партиях
хранятся в
базе
данных
• Поиск
игрока
• Графики
изменения
рейтинга в
каждом
режиме
14Система просмотра статистики
15Состояния игрового клиента
Игровое меню Модернизация пешки
Меню результатов
16Элементы игрового меню
17Результаты
• Разработана архитектура и компоненты веб-
системы для игры на клеточной доске
• Для системы MessChess реализованы:
• Автоматически разворачиваемое серверное
приложение
• Графический игровой клиент
• Веб приложение для просмотра статистики
• Исходный код системы находится в свободном
доступе по адресу:
https://bitbucket.org/Patrios/messchess
• Преимущества:
• Оптимизация сетевых запросов, некорректные
ходы фильтруются на клиенте
• В случае если клиент будет скомпрометирован
правила перепроверяются на сервере
• Недостатки:
• Возможность десинхронизации досок в случае
сбоев
• Двойные траты на проверку игровых правил
18Дублирование доски на клиенте
и сервере
• Используется для игр с двумя игроками
• Рассчитывается по результатам игры
• Используется ФИДЕ
• Основан на сравнении набранных очков с
ожиданием
• Формула нового рейтинга:
S – набранные очки
E – мат ожидание набранных очков
K – коэффициент зависит от силы игрока
)( ESKR R'
400101
1
aRbR 

E
19Рейтинг Эло

More Related Content

More from Sergey Maslennikov

Программно-информационное обеспечение научных конференций в сети интернет
Программно-информационное обеспечение научных конференций в сети интернетПрограммно-информационное обеспечение научных конференций в сети интернет
Программно-информационное обеспечение научных конференций в сети интернетSergey Maslennikov
 
полуавтоматическая генерации словарей для лексикографов
полуавтоматическая генерации словарей для лексикографовполуавтоматическая генерации словарей для лексикографов
полуавтоматическая генерации словарей для лексикографовSergey Maslennikov
 
Система автоматизированного извлечения контактной информации об организации ...
Система автоматизированного извлечения контактной информации об организации ...Система автоматизированного извлечения контактной информации об организации ...
Система автоматизированного извлечения контактной информации об организации ...Sergey Maslennikov
 
Программное средство сравнительного исследования человеко- машинных интерфей...
Программное средство сравнительного исследования человеко- машинных интерфей...Программное средство сравнительного исследования человеко- машинных интерфей...
Программное средство сравнительного исследования человеко- машинных интерфей...Sergey Maslennikov
 
Применение компьютерного моделирования для решения задач параметрической ид...
Применение компьютерного  моделирования  для решения задач параметрической ид...Применение компьютерного  моделирования  для решения задач параметрической ид...
Применение компьютерного моделирования для решения задач параметрической ид...Sergey Maslennikov
 
ВЕБ-ПОРТАЛ ДЛЯ ПРОВЕДЕНИЯ КОНТРОЛЬНЫХ 
И ПРАКТИЧЕСКИХ РАБОТ ПО ПРОГРАММИРОВАН...
ВЕБ-ПОРТАЛ ДЛЯ ПРОВЕДЕНИЯ КОНТРОЛЬНЫХ 
И ПРАКТИЧЕСКИХ РАБОТ ПО ПРОГРАММИРОВАН...ВЕБ-ПОРТАЛ ДЛЯ ПРОВЕДЕНИЯ КОНТРОЛЬНЫХ 
И ПРАКТИЧЕСКИХ РАБОТ ПО ПРОГРАММИРОВАН...
ВЕБ-ПОРТАЛ ДЛЯ ПРОВЕДЕНИЯ КОНТРОЛЬНЫХ 
И ПРАКТИЧЕСКИХ РАБОТ ПО ПРОГРАММИРОВАН...Sergey Maslennikov
 
Оптимизация методов внутрикадрового предсказания формата H.265(HEVC) для пото...
Оптимизация методов внутрикадрового предсказания формата H.265(HEVC) для пото...Оптимизация методов внутрикадрового предсказания формата H.265(HEVC) для пото...
Оптимизация методов внутрикадрового предсказания формата H.265(HEVC) для пото...Sergey Maslennikov
 
Система автоматического мониторинга физической подготовки учащихся на основ...
Система автоматического мониторинга  физической подготовки учащихся  на основ...Система автоматического мониторинга  физической подготовки учащихся  на основ...
Система автоматического мониторинга физической подготовки учащихся на основ...Sergey Maslennikov
 
Применение алгоритмов гарантированной двухсторонней оценки решения в задачах ...
Применение алгоритмов гарантированной двухсторонней оценки решения в задачах ...Применение алгоритмов гарантированной двухсторонней оценки решения в задачах ...
Применение алгоритмов гарантированной двухсторонней оценки решения в задачах ...Sergey Maslennikov
 
3D-моделирование поведения роя частиц с использованием подходов многоагентных...
3D-моделирование поведения роя частиц с использованием подходов многоагентных...3D-моделирование поведения роя частиц с использованием подходов многоагентных...
3D-моделирование поведения роя частиц с использованием подходов многоагентных...Sergey Maslennikov
 
Программно-информационное обеспечение построения орбитальной группировки косм...
Программно-информационное обеспечение построения орбитальной группировки косм...Программно-информационное обеспечение построения орбитальной группировки косм...
Программно-информационное обеспечение построения орбитальной группировки косм...Sergey Maslennikov
 
ВЕБ-СЕРВИС ДЛЯ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ С ФУНК...
ВЕБ-СЕРВИС ДЛЯ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ С ФУНК...ВЕБ-СЕРВИС ДЛЯ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ С ФУНК...
ВЕБ-СЕРВИС ДЛЯ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ С ФУНК...Sergey Maslennikov
 
Платформа для проведения интернет конференций
Платформа для проведения интернет конференцийПлатформа для проведения интернет конференций
Платформа для проведения интернет конференцийSergey Maslennikov
 

More from Sergey Maslennikov (16)

Программно-информационное обеспечение научных конференций в сети интернет
Программно-информационное обеспечение научных конференций в сети интернетПрограммно-информационное обеспечение научных конференций в сети интернет
Программно-информационное обеспечение научных конференций в сети интернет
 
полуавтоматическая генерации словарей для лексикографов
полуавтоматическая генерации словарей для лексикографовполуавтоматическая генерации словарей для лексикографов
полуавтоматическая генерации словарей для лексикографов
 
Система автоматизированного извлечения контактной информации об организации ...
Система автоматизированного извлечения контактной информации об организации ...Система автоматизированного извлечения контактной информации об организации ...
Система автоматизированного извлечения контактной информации об организации ...
 
Программное средство сравнительного исследования человеко- машинных интерфей...
Программное средство сравнительного исследования человеко- машинных интерфей...Программное средство сравнительного исследования человеко- машинных интерфей...
Программное средство сравнительного исследования человеко- машинных интерфей...
 
Prezentatsia
PrezentatsiaPrezentatsia
Prezentatsia
 
Применение компьютерного моделирования для решения задач параметрической ид...
Применение компьютерного  моделирования  для решения задач параметрической ид...Применение компьютерного  моделирования  для решения задач параметрической ид...
Применение компьютерного моделирования для решения задач параметрической ид...
 
ВЕБ-ПОРТАЛ ДЛЯ ПРОВЕДЕНИЯ КОНТРОЛЬНЫХ 
И ПРАКТИЧЕСКИХ РАБОТ ПО ПРОГРАММИРОВАН...
ВЕБ-ПОРТАЛ ДЛЯ ПРОВЕДЕНИЯ КОНТРОЛЬНЫХ 
И ПРАКТИЧЕСКИХ РАБОТ ПО ПРОГРАММИРОВАН...ВЕБ-ПОРТАЛ ДЛЯ ПРОВЕДЕНИЯ КОНТРОЛЬНЫХ 
И ПРАКТИЧЕСКИХ РАБОТ ПО ПРОГРАММИРОВАН...
ВЕБ-ПОРТАЛ ДЛЯ ПРОВЕДЕНИЯ КОНТРОЛЬНЫХ 
И ПРАКТИЧЕСКИХ РАБОТ ПО ПРОГРАММИРОВАН...
 
Оптимизация методов внутрикадрового предсказания формата H.265(HEVC) для пото...
Оптимизация методов внутрикадрового предсказания формата H.265(HEVC) для пото...Оптимизация методов внутрикадрового предсказания формата H.265(HEVC) для пото...
Оптимизация методов внутрикадрового предсказания формата H.265(HEVC) для пото...
 
Система автоматического мониторинга физической подготовки учащихся на основ...
Система автоматического мониторинга  физической подготовки учащихся  на основ...Система автоматического мониторинга  физической подготовки учащихся  на основ...
Система автоматического мониторинга физической подготовки учащихся на основ...
 
Применение алгоритмов гарантированной двухсторонней оценки решения в задачах ...
Применение алгоритмов гарантированной двухсторонней оценки решения в задачах ...Применение алгоритмов гарантированной двухсторонней оценки решения в задачах ...
Применение алгоритмов гарантированной двухсторонней оценки решения в задачах ...
 
3D-моделирование поведения роя частиц с использованием подходов многоагентных...
3D-моделирование поведения роя частиц с использованием подходов многоагентных...3D-моделирование поведения роя частиц с использованием подходов многоагентных...
3D-моделирование поведения роя частиц с использованием подходов многоагентных...
 
Программно-информационное обеспечение построения орбитальной группировки косм...
Программно-информационное обеспечение построения орбитальной группировки косм...Программно-информационное обеспечение построения орбитальной группировки косм...
Программно-информационное обеспечение построения орбитальной группировки косм...
 
ВЕБ-СЕРВИС ДЛЯ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ С ФУНК...
ВЕБ-СЕРВИС ДЛЯ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ С ФУНК...ВЕБ-СЕРВИС ДЛЯ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ С ФУНК...
ВЕБ-СЕРВИС ДЛЯ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ С ФУНК...
 
Maslennikov
MaslennikovMaslennikov
Maslennikov
 
Платформа для проведения интернет конференций
Платформа для проведения интернет конференцийПлатформа для проведения интернет конференций
Платформа для проведения интернет конференций
 
Django
DjangoDjango
Django
 

Программное и информационное обеспечение шахматной системы

  • 1. МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ (национальный исследовательский университет) Руководитель доцент кафедры 806 Чернышов Лев Николаевич Дипломник группы 08-608 Тер-Григорян Левон Арменович Дипломная работа на тему: «ПРОГРАММНОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ШАХМАТНОЙ ВЕБ-СИСТЕМЫ» 1 Москва 2015
  • 2. Зачем использовать сетевые системы в играх на клеточной доске • Возможность быстро начать игровой процесс с другим пользователем в любой точке мира • Социализация игрового процесса • Игра с наиболее подходящими соперниками • Возможность выбора длительности игры 2
  • 3. Функциональные: • Возможность совместной игры • Сбор игровой статистики • Пользовательский рейтинг • Автоматический подбор соперника • Игровые режимы Нефункциональные: • Безопасность игрового процесса и пользовательских данных • Удобство использования 3Требования к системе для игры на клеточной доске MessChess
  • 4. Статисти ка Режимы Совместн ая игра Автоматический подбор Игра с компьютер ом ChessTemp o + - - - + ChessFree - - - - + Lichess + + + - + Sparkchess + + + - + Chess Online - - + - - Mess Chess + + + + - 4Обзор аналогов
  • 5. • .Net/C# для реализации компонент системы • WCF для взаимодействия компонент • Двусторонний канал связи поверх tcp socket • База данных MSSQL • ASP .Net MVC 4 + JavaScript для системы просмотра статистики 5Стек технологий системы MessChess
  • 7. • Пользователи хранятся в базе данных • При передаче пароля используется хэш на стороне клиента SHA-256 • На серверной стороне используется функция замедленная PBKDF2 с “подсаливанием” • Password=PBKDF2(SHA256(password’), Salt) • Пример хранения паролей T1 и T2: 7Модуль аутентификации
  • 8. • Сессия создается при аутентификации пользователя • Клиент по расписанию обновляет сессию • Состояние сессии отображает текущее действие пользователя 8Организация пользовательской сессии
  • 9. • Основан на минимизации разницы силы игроков • Формирование игр происходит по расписанию • В качестве системы расчета силы игрока используется рейтинг Эло • Рейтинг хранится в базе и зависит от режима 9Автоматический подбор соперника
  • 10. • Моделирование на основе битовых досок • Каждому типу фигуры соответствует 64-х разрядное число • Позиции активных битов соответствуют позициям на доске Соответствующая битовая доска для белых пешек имеет вид: 00000000 00000000 00000000 00000000 00000000 00000000 11111111 00000000 10Моделирование доски
  • 11. = • Компактность данных – для представления полной шахматной доски необходимо 12 чисел • Использование битовых операций для сбора доступных позиций для перемещения и атаки OR 11Преимущества использования битовых досок
  • 12. • Время контролируется на основании одного из трех режимов – блиц игра, обычная игра, долгая игра • Контролируется время хода, общее время ходов • Контроль времени происходит на сервере Время хода Общее время ходов Блиц игра 1 мин 5 мин Обычная игра 5 мин 120 мин Долгая игра 1 день 5 дней 12Контроль за временем
  • 13. • Используется двусторонний канал связи клиента и сервера • На сервере два сервиса: аутентификации и игровой • Доска дублируется на клиенте и сервере 13Протокол взаимодействия
  • 14. • Данные о партиях хранятся в базе данных • Поиск игрока • Графики изменения рейтинга в каждом режиме 14Система просмотра статистики
  • 16. Игровое меню Модернизация пешки Меню результатов 16Элементы игрового меню
  • 17. 17Результаты • Разработана архитектура и компоненты веб- системы для игры на клеточной доске • Для системы MessChess реализованы: • Автоматически разворачиваемое серверное приложение • Графический игровой клиент • Веб приложение для просмотра статистики • Исходный код системы находится в свободном доступе по адресу: https://bitbucket.org/Patrios/messchess
  • 18. • Преимущества: • Оптимизация сетевых запросов, некорректные ходы фильтруются на клиенте • В случае если клиент будет скомпрометирован правила перепроверяются на сервере • Недостатки: • Возможность десинхронизации досок в случае сбоев • Двойные траты на проверку игровых правил 18Дублирование доски на клиенте и сервере
  • 19. • Используется для игр с двумя игроками • Рассчитывается по результатам игры • Используется ФИДЕ • Основан на сравнении набранных очков с ожиданием • Формула нового рейтинга: S – набранные очки E – мат ожидание набранных очков K – коэффициент зависит от силы игрока )( ESKR R' 400101 1 aRbR   E 19Рейтинг Эло