Тема: Разработка редактора уровней для сервиса по обучению программированию JavaWarrior
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1 Обзор 4
1.1 Обзор сервисов по обучению программированию на Java 4
1.2 Другие языки программирования 8
2 Реализация 15
2.1 Требование к функционалу 15
2.2 Инструменты разработки 16
2.2.1 Spring 17
2.2.2 Hibernate 17
2.2.3 Apache Maven 18
2.2.4 OpenHTF 18
2.2.5 PostgreSQL 18
2.2.6 ReactJS 19
2.3 Описание разработки 22
2.3.1 Переработка старого кода 22
2.3.2 Разработка нового функционала 23
2.3.2.1 Регистрация и авторизация 23
2.3.2.2 Хранение уровня в базе данных 25
2.3.2.3 Редактор уровней 28
2.3.3 Разработка клиентской части 40
2.3.3.1 Запросы к серверу 40
2.3.3.2 Маршрутизация 42
Заключение 45
Глоссарий 47
Список литературы
📖 Введение
По данным ресурса StackOverflow.com на 2018 год, 86,7% пользователей ресурса изучали программирование самостоятельно, а 11.9% пользователей являются дошкольниками и школьниками младших или средних классов.[5] По сравнению с показателями за 2016 год, количество респондентов увеличилось на 17.6%, что говорит о повышении спроса на сервисы по самообучению программированию. [6]
На сегодняшний момент язык Java является одним из самых распространенных и популярных языков программирования. Java является объектно-ориентированным языком и поддерживает полиморфизм, наследование, статическую типизацию. Объектно-ориентированный подход позволяет решить задачи по построению крупных, но в тоже время гибких, масштабируемых и расширяемых приложений. [7]
Одними из самых популярных игровых обучающих онлайн приложений для обучения синтаксису Java являются JavaRush[8] и CodinGame[9], На JavaRush материал дается в рамках некоторой истории из игрового сюжета, с которой связывается задание. Но выполнение задания не вызывает никакой интерактивной реакции в пользовательском интерфейсе, а также пользователю дается для прочтения большой объем материала. У CodinGame есть определенный сюжет и связанные с ним задания, и их графическая интерпретация, но она не связана в реальном времени с логикой кода, который пишет обучающийся. Также ни один из этих продуктов не имеет встроенного редактора уровней.
В 2018 году в рамках статьи [10] было разработано веб-приложение JavaWarrior для обучения языку программирования Java с исполнением кода в реальном времени. Однако приложение имело ряд уязвимостей и не имело возможности создания/редактирования уровней, что делает его не актуальным на момент написания текущей дипломной работы.
Таким образом, целью настоящей дипломной работы является разработка встроенного редактора уровней для вэб-приложения JavaWarrior.
Для достижения поставленной цели были решены следующие задачи:
1. Анализ существующих онлайн сервисов по изучению языков программирования
2. Изучение существующих решений по созданию редактора уровней
3. Выбор наиболее оптимального решения и внедрение его в систему JavaWarror
4. Написание программного модуля.
✅ Заключение
обучению программирования на языке Java под название JavaWarrior. Были
выполнены следующие улучшения:
1. Переработка старого кода
2. Добавление авторизации и регистрации
3. Добавление многофункционального редактора уровней
Редактор имеет следующие возможности:
Возможность задавать параметры:
b. Уровня:
i. Изображение заднего фона уровня
ii. Название уровня
iii. Описание уровня
iv. Расположение объектов
v. Список доступных пользователю методов
c. Объектов на уровне:
i. Размер объекта
ii. Тип объекта:
1. Игровой персонаж
2. Противник ближнего боя
3. Противник дальнего боя
4. Препятствие наносящее урон(например, капкан)
5. Пустая клетка
iii. Изображение объекта
iv. Количество жизней
v. Урон
45Таким образом, все поставленные перед дипломной работой задачи полностью
выполнены.
Работа доступна в открытом доступе по ссылке:
http://gititis.kpfu.ru/Hajrullin/JavaWarrior



