Professional Documents
Culture Documents
ФО Б22 0181282 ВесельськийОС (Повна)
ФО Б22 0181282 ВесельськийОС (Повна)
До захисту допускаю
Завідувачка кафедри ПЗАС
О.О. Супруненко
(ініціали та прізвище)
_______________________
(підпис)
«___» __________2022 р.
КВАЛІФІКАЦІЙНА РОБОТА
освітнього ступеня БАКАЛАВР
Черкаси – 2022
2
Зміст
ВСТУП.......................................................................................................................... 4
РОЗДІЛ 1. ОГЛЯД ТА АНАЛІЗ СПОСОБІВ РЕАЛІЗАЦІЇ МОДИФІКАЦІЇ ГРИ
«ЯПОНСЬКИЙ КРОСВОРД» .................................................................................... 6
1.1 Огляд предметної області японських кросвордів .......................................... 6
1.2 Актуальність розробки гри «Японський кросворд» та її модифікації......... 7
1.3 Огляд програм-аналогів гри «Японський кросворд» .................................... 7
1.4 Огляд методів та технологій для розробки модифікації гри «Японський
кросворд» та способів реалізації автоматичного розв’язування ...................... 11
1.5 Постановка завдання на розробку модифікації гри «Японський
кросворд» ............................................................................................................... 12
Висновок до розділу 1 ........................................................................................... 13
РОЗДІЛ 2. АНАЛІЗ ВИМОГ І ПРОЕКТУВАННЯ МОДИФІКАЦІЇ ГРИ
«ЯПОНСЬКИЙ КРОСВОРД» .................................................................................. 14
2.1 Формування вимог до модифікації гри «Японський кросворд» та їх
аналіз ....................................................................................................................... 14
2.2 Попереднє проектування архітектури модифікації гри «Японський
кросворд» ............................................................................................................... 18
2.3 Детальне проектування модифікації гри «Японський кросворд» .............. 21
2.3.1 Проектування пакету «Розв’язування кросворду» ......................... 21
Актуальність теми:
Розв’язування японських кросвордів дозволяє покращити пам’ять, увагу та
логічне мислення. Реалізація ж японських кросвордів у вигляді комп’ютерної
програми зробить розв’язування більш зручним та дозволить урізноманітнити
процес додаванням рівнів складності, штрафів, таймера і так далі. Введення
додаткових засобів оцінювання гри користувача якраз і є одним із таких
вдосконалень, яке спонукатиме користувача поліпшувати свої навички,
шукаючи розв’язок логічним шляхом.
Мета:
Програмно реалізувати середовище для розв’язування японських
кросвордів, алгоритм для автоматичного розв’язування кросвордів та поєднати
їх.
Завдання:
Написати програму, яка надає середовище для розв’язування японських
кросвордів. Реалізувати алгоритм для автоматичного розв’язування кросвордів
та на його основі розробити модуль, здатний перевіряти, чи є хід користувача
логічно вирахуваним, чи зробленим навмання, та інтегрувати даний модуль в
середовище для розв’язування.
Задачі:
1. Сформувати та проаналізувати вимоги до модифікації гри «Японський
кросворд».
2. Провести архітектурне планування модифікації гри «Японський
кросворд».
3. Створити базу даних для кросвордів.
4. Реалізувати алгоритм автоматичного розв’язування японського
кросворду.
5. Реалізувати рівні складності на основі алгоритму автоматичного
розв’язування.
5
6. Реалізувати можливість створювати кросворди.
7. Реалізувати авторизацію з різними ролями користувачів.
8. Реалізувати користувацький інтерфейс модифікації гри «Японський
кросворд».
9. Провести тестування модифікації гри «Японський кросворд».
10. Написати пояснювальну записку, описавши процес розробки, написати
доповідь і створити презентацію.
Об’єктом розробки є програмна реалізація японських кросвордів та
урізноманітнення процесу їх розв’язування.
Предметом розробки є реалізація середовища для розв’язування
японських кросвордів та інтеграція до середовища алгоритму автоматичного
розв’язування з метою реалізації додаткових засобів оцінювання гри.
Апробація роботи
За темою даної кваліфікаційної роботи була підготовлена доповідь на
XXIV Всеукраїнську наукову конференцію молодих учених «Актуальні
проблеми природничих і гуманітарних наук у дослідженнях молодих учених
«Родзинка - 2022»», м. Черкаси, 27-28 квітня 2022 року. Тези доповіді
опубліковані в збірнику матеріалів конференції [1].
Структура та обсяг роботи
Кваліфікаційна робота складається зі вступу, трьох розділів, висновків,
списку використаних джерел (8 найменувань), 5 додатків. Загальний обсяг
роботи становить 43 сторінок основного тексту, 17 рисунків та 2 таблиць.
6
РОЗДІЛ 1. ОГЛЯД ТА АНАЛІЗ СПОСОБІВ РЕАЛІЗАЦІЇ
МОДИФІКАЦІЇ ГРИ «ЯПОНСЬКИЙ КРОСВОРД»
Переваги:
- комбінації клітинок розв’язку є осмисленими зображеннями (хоч і не в
звичайному чорно-білому стані);
- при заповненні всіх клітинок лінії ті, що залишились, автоматично
позначаються як незаповнені.
Недоліки:
- кросворди ідуть підряд один за одним – немає можливості обирати
довільний;
- аналогічно з попереднім зразком занизька складність (втім, в даному
зразку це навряд чи можна виправити, оскільки це мобільний додаток).
Перейдемо до третього зразка – онлайн-ресурс nonogramsonline.com [6]
(рис. 1.3).
Переваги:
- наявні кросворди різної складності;
- є таймер;
- швидка реакція на дії користувача;
10
- простий і зрозумілий інтерфейс.
Недоліки:
- після заповнення лінії порожні клітинки не позначаються автоматично;
- немає можливості обирати довільний кросворд;
- не надто презентабельний дизайн;
- фіксовані розміри кросвордів;
- немає можливості ввімкнення режиму з штрафами за помилки.
Перейдемо до четвертого зразка – онлайн-ресурс onlinenonograms.com [7]
(рис. 1.4).
Переваги:
- комбінації клітинок розв’язку є осмисленими зображеннями;
- є можливість обирати довільний кросворд;
- є можливість збереження та завантаження поточного прогресу;
- є гнучкі налаштування;
- представлені кросворди різних складностей, в тому числі дійсно складні.
Недоліки:
- відмічання незафарбованих клітинок після заповнення лінії відбувається
з затримкою, що не надто зручно;
- відсутній таймер;
11
- немає можливості ввімкнення режиму з штрафами за помилки.
Найбільш підходящим видається четвертий зразок, оскільки він надає
широкий функціонал і передбачає у користувачів більш високий рівень навичок
розв’язування (а саме таке спрямування і має бути у розроблюваного продукту,
адже не надто просунутим користувачам навряд чи будуть цікаві та потрібні
удосконалення, які планується реалізувати), хоча і кросворди для новачків теж
надає. Втім, скоріш за все, варто ще сильніше знизити поріг входження, додавши
ще менші кросворди, навіть якщо в них доведеться пожертвувати ідеєю
осмислених розв’язків. Наприклад, у третьому зразку наряду з великими
кросвордами є також і зовсім невеличкі, розміром 5х5 клітинок. Також з третього
зразку варто взяти таймер, оскільки він може бути досить важливим аспектом
для збільшення азартності процесу. З першого та другого зразку варто взяти
модель, що передбачає штрафи за помилки. Втім, не варто обмежуватись
простою наявністю трьох життів, після втрати яких зараховується поразка.
Краще натомість зробити цю систему більш гнучкою, ввівши різні рівні
складності.
Висновок до розділу 1
Висновок до розділу 2
Висновок до розділу 3
1. 2. 3. 4. 5. 6.
2)
d[0] = npg.Query("select users.username, records.score, records.s_time from
records" + " left join users on records.user_id = users.id where
records.nonogram_id=" + nonId + " and records.difficulty=0");
d[1] = npg.Query("select users.username, records.score, records.s_time from
records" + " left join users on records.user_id = users.id where
records.nonogram_id=" + nonId + " and records.difficulty=1");
d[2] = npg.Query("select users.username, records.score, records.s_time from
records" + " left join users on records.user_id = users.id where
records.nonogram_id=" + nonId + " and records.difficulty=2");
50
ДОДАТОК Ґ – РЕЗУЛЬТАТИ ТЕСТУВАННЯ МОДИФІКАЦІЇ
ГРИ «ЯПОНСЬКИЙ КРОСВОРД»
1. Тест 2. Очікуваний результат 3. Одержаний результат
Запустити програму Відкривається головне вікно Відкривається головне вікно
Оглянути меню Вгорі наявні вкладки Файл, Вгорі наявні вкладки Файл,
Розв’язати, Акаунт. Розв’язати, Акаунт.
Елементи управління в Елементи управління в
середині форми недоступні середині форми недоступні
Натиснути Акаунт, З’являється вікно для вводу З’являється вікно для вводу
Реєстрація логіну та пароля нового логіну та пароля нового
користувача користувача
Ввести логін та пароль, Вікно з логіном Вікно з логіном
натиснути ОК закривається; в основному закривається; в основному
вікні з’являється пункт вікні з’являється пункт
меню Створити, логін меню Створити, логін
користувача з’являється на користувача з’являється на
пункті Акаунт. пункті Акаунт.
Повторити два попередні З’являється також пункт З’являється також пункт
пункти для акаунту меню Адмін меню Адмін
адміністатора
Натиснути Розв’язати З’являється вікно для З’являється вікно для
завантаження кросворду завантаження кросворду
Ввести в текстове поле Id 3, Поточне вікно закривається; Поточне вікно закривається;
натиснути завантажити в основному вікні стає в основному вікні стає
активною перша група активною перша група
елементів управління, елементів управління,
з’являються описи блоків з’являються описи блоків
кросворду; вгорі з’являється кросворду; вгорі з’являється
пункт Рекорди пункт Рекорди
Обрати Тренувальний Перша група елементів Перша група елементів
режим, натиснути Старт управління стає неактивною; управління стає неактивною;
друга група елементів друга група елементів
управління стає активною управління стає активною
Зафарбувати кілька З’являється повідомлення З’являється повідомлення
клітинок, натиснути Готово про неправильність про неправильність
наданого розв’язку наданого розв’язку
Натиснути Стоп Перша група елементів Перша група елементів
управління стає активною; управління стає активною;
друга група елементів друга група елементів
управління стає неактивною; управління стає неактивною;
ігрове поле очищується ігрове поле очищується