ВВЕДЕНИЕ
В данном курсовом проекте реализуется игра «Шашки». При реализации программы будет использоваться объектно-ориентированный подход, важным следствием чего является возможность формирования такой структуры программы, когда добавление новых компонентов при ее дальнейшем развитии не будет влиять на существующие компоненты, или такое влияние будет сведено к минимуму.
Для написания кода игры используется язык Java, что способствует получению надежного программного продукта.
Целью данного курсового проекта является разработка игры «Шашки». Она относится к логическим играм, которые помогают развить мышление, стратегию, тренируют логику. При длительной работе за компьютером возникает желание немного отдохнуть. Для этой цели подходят игры типа стратегий, поскольку для них требуется много времени, а для 5-10 минутного отдыха вполне подойдут именно «Шашки». В стандартной поставке операционных систем данной игры нет, поэтому возникла необходимость в ее создании.
Задачами курсового проекта является изучение объектно-ориентированного языка программирования Java, рассмотрение игры «Шашки», и создание программного кода на языке Java.
К играм такого типа предъявляются следующие требования:
- использование простых средств управления;
- удобный графический интерфейс.
Во время выполнения программа должна выполняться корректно и не приводить к сбоям.
Смысл игры заключается в стремлении побить все шашки противника на игровой доске, совершая при этом поочередно ходы.
Фигуры не должны выходить за пределы игрового поля. Для придания большей привлекательности внешнему виду игрового поля при написании игры нужно использовать яркую графику. Интерфейс программы, разрабатываемой должен быть удобен и понятен пользователю.
В данном курсовом проекте было разработано приложение, позволяющее осуществлять онлайн-игру в шашки между пользователями.
1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1 Постановка задачи
Задачей курсового проекта является разработка приложения для игры в шашки. Приложение должно организовывать игру двух игроков в шашки, позволяя при этом одному из игроков быть сервером, а второму – клиентом. В игре должна быть предусмотрена возможность одного из игроков сдаться в случае его желания.
Язык программирования, на котором должна быть выполнена работа – Java.
Функции приложения: развитие логического мышления игроков в процессе игры в шашки, формирование более сильных навыков игры в данную игру, развитие навыков программирования приложений клиент-серверной архитектуры.
1.2 Описание архитектуры приложения
Разработанное приложение имеет клиент-серверную архитектуру. В качестве сервера выступает один из игроков, который создал подключение.
В случае с клиент-серверной архитектурой сервер выступает в роли мозгового центра игры, где выполняется основной код нашей игры и обрабатываются действия всех игроков. То есть, если кто-то делает ход, то сервер обрабатывает действия игрока и отправляет всем игрокам новые данные, как на рисунке 1.1.
2 ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 Руководство пользователя
После запуска приложения пользователь увидит главное окно приложения, представленное на рисунке 2.1.
2.2 Результаты тестирования приложения
В результате тестирования приложения были получены следующие результаты:
Подключение с неверно указанными данными не дает возможности запустить начало новой игры;
Подключение к уже занятому подключению не производится;
Игра не дает сделать два хода подряд одному игроку – это является нарушением правил игры.
Исходя из полученных результатов можно сделать вывод, что приложение является полностью работоспособным и соблюдает все правила игры, реализуемой приложением.
ЗАКЛЮЧЕНИЕ
В процессе написания данной работы были выяснены следующие свойства языка Java:
- язык программирования объектно-ориентирован, оснащён богатой библиотекой классов и в то же время довольно прост для освоения;
- цикл разработки приложений сокращен за счет того, что система построена на основе интерпретатора;
- приложение получается автоматически переносимым между множеством платформ и операционных систем;
- за счет встроенной системы сборки мусора программист освобождается от необходимости явного управления памятью;
- приложение легко сопровождается и модифицируется, т.к. модули могут быть загружены с сети;
- в приложения встроена система безопасности, не допускающая незаконного доступа и проникновения вирусов.
В процессе выполнения курсового проекта был разработано и создано программное обеспечение клиент-серверной архитектуры, позволяющее организовывать онлайн-игру в шашки. Текст программы находится в приложении.
В ходе выполнения курсового проекта также были закреплены теоретические знания и практические навыки разработки клиент-серверного программного обеспечения, были получены новые знания о технологии Swing.
СКРИНШОТЫ РАБОТЫ



1. Стивенс У.Р., Феннер Б., Рудофф Э.М. UNIX: разработка сетевых приложений . 3-е изд. — СПб.: Питер, 2007. 1039 с.: ил. ISBN 5–94723–991–4.
2. Родли Д. Создание Java-апплетов . – The Coriolis Group, 1996. 1730с.
3. Эферган М. Java: справочник. - QUE Corporation, 1997. 1100 с.
4. Даконта, М XML и Java 2 - СПб: Питер, 2010. 384 c.
5. Шилдт, Г. Java 2 в подлиннике - СПб: BHV, 2011. 973 c.
6. Козлов В. Программирование на языке Java - М.: Мультимедиа Технологии и Дистанционное Обучение, 2010. 416 c.
7. Гарнаев А. Web-программирование на Java и JavaScript. - СПб.: БХВ-Петербург, 2005. 915 с.
8. Кубенский А. Создание и обработка структур данных в примерах на Java. - СПб.: БХВ-Петербург, 2001. 1212 с.
9. Васильев А. Java. - СПб.: Питер, 2011. 894 с.
10. Будилов В. Интернет-программирование на Java. - СПб.: БХВ-Петербург, 2003. 934 с.