ЗМІСТ
ВСТУП
РОЗДІЛ. 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ВІДОМИХ РЕАЛІЗАЦІЙ ГРИ «САПЕР».
1.1 Аналіз предметної області гри «Сапер».
1.2 Огляд відомих реалізацій гри «Сапер».
1.3 Постановка задачі на розробку програмного забезпечення.
РОЗДІЛ. 2 ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОЕКТУВАННЯ ГРИ «САПЕР».
2.1 Універсальна мова моделювання UML в процесі проектування гри «САПЕР».
2.2 Розробка алгоритмів функціонування гри «Сапер».
2.3 Моделювання гри «Сапер» з використанням мови UML.
2.4 Розробка алгоритмів функціонування гри «Сапер».
2.5 Розробка алгоритмів функціонування основних модулів гри «Сапер».
РОЗДІЛ. 3 ПРОГРАМНА РЕАЛІЗАЦІЯ ТА ТЕСТУВАННЯ ГРИ «САПЕР».
3.1 Обґрунтування вибору мови програмування.
3.2 Особливості середовища розробки IntelliJ IDEA.
3.3 Програмна реалізація гри «Сапер».
3.4 Тестування розробленої гри «Сапер».
ВИСНОВКИ
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
Додаток А – Лістинг програмної реалізації основних модулів гри «Сапер».
Додаток Б – Інструкція користувача гри «Сапер».
Додаток В – Графічна частина.
ВСТУП
Дана робота є реалізацією логічної гри Сапер. Цей додаток було названо Minesweeper (в перекладі з англ. – Сапер). Програма виконана на об’єктно-орієнтованій мові програмування Java в середовищі розробки IntelliJ IDEA Minesweeper також не вимогливий до системних ресурсів і працює під будь-якою версією Windows починаючи з Windows 7 і закінчуючи Windows 10.
Ігри завжди займали розуми людей і розбурхували їх свідомості. Ніхто точно не може сказати, коли була придумана перша гра, але ясно, що з тих пір, як вона з’явилася, ігри стали невід’ємною частиною людського існування. В середні віки карткові ігри розважали і королів і простий народ. Найбільш популярні і стародавні інтелектуальні ігри це шахи, доміно, карти і гра Го. Історія багатьох ігор, йде в глибину століть і оповита легендами і таємницями.
В гру високих технологій гри стали розвиватися ще інтенсивніше. Поява персональних комп’ютерів дозволило автоматизувати більшість ігор і створити реалістичні симулятори. Зараз вже нікого не здивуєш можливістю за допомогою комп’ютера разом з іншими людьми проїхатися на Формулі 1, взяти участь в бойових діях. Є також ігри, що розвивають логічне мислення. Саме такою грою є Сапер.
Гра Сапер дуже популярна і в даний момент існує багато версій цієї гри, написаних на різних мовах програмування починаючи від асемблера і закінчуючи Java. Є також версії для різних операційних систем, а також для Internet і мобільних телефонів.
Метою даної курсової роботи являється програмна реалізація додатку логічної гри «Сапер». Основною метою гри є знаходження всіх захованих бомб на мінному полі.
Для кодування гри буде обрана мова Java, що сприяє написанню надійного програмного продукту.
РОЗДІЛ. 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ВІДОМИХ РЕАЛІЗАЦІЙ ГРИ «САПЕР»
1.1 Аналіз предметної області гри «Сапер»
Класифікація ігор ділить комп’ютерні ігри на: шутери, аркада, симулятори, стратегії, пригоди, головоломки (логічні), текстові. Гра «Сапер» відноситься до головоломок, тому що метою цієї гри є рішення логічного завдання, що вимагає від гравця задіяння логіки, стратегії і інтуїції. «Сапер» можна так само віднести і до текстових, так як спілкування з гравцем здійснюється за допомогою текстової інформації. Текстовим характерно два види інтерфейсу: інтерфейс з введенням тексту з клавіатури або інтерфейс у вигляді меню, де гравець вибирає дію з декількох запропонованих. У нашому випадку це другий варіант. Класифікація по гравцям, в нашому випадку, має на увазі одиночну гру, тобто розрахована на гру в поодинці, проти комп’ютера – розрахована на одного гравця. Якщо гру «Сапер» класифікувати по ігрових платформ, то можна відзначити, що в основному наша гра призначена для персональних комп’ютерів [1].
Сапер являє собою логічну гру, основною метою якої є знаходження всіх захованих бомб на мінному полі. Ваше завдання відкрити всі комірки поля, які не містять бомб, заблокувавши (позначивши) при цьому осередку, в яких розташовані бомби.
Поле гри задане у вигляді двомірного масиву (матриці). У цьому масиві розташовані осередки. Спочатку вони всі закриті. Осередки можуть бути порожні, з цифрами і з бомбами. При натисненні лівої клавіші миші відкривається осередок, при натисненні правої кнопки, виставляється прапорець, при цьому лівою кнопкою миші ви вже не можете натиснути на заблоковану комірку, але правою кнопкою можна зняти позначку прапорця. Осередок з цифрою позначає те, скільки мін знаходиться в окрузі цього осередку.
Гра вважається програною, якщо ви відкрили осередок з бомбою.
Гра вважається виграною, якщо на ігровому полі всі осередки окрім бомб – відкриті.
1.2 Огляд відомих реалізацій гри «Сапер»
Існує багато реалізацій гри Сапер. Гра сапер входить у список стандартних ігор Операційної Системи Windows XP. Розглянуто наступні приклади гри «Сапер» (рис.1.1-1.4).

Рисунок 1.1 – Приклад розглянутої програми «Minesweeper», яка входить у OS XP

Рисунок 1.2 – Приклад розглянутої онлайн гри «Сапер»

Рисунок 1.3 – Результат поразки онлайн версії гри «Сапер»

Рисунок 1.4 – Гра «Сапер» для OS Android
Проаналізувавши всі функції відомих реалізацій гри «Сапер», було виявлено деякі незручні моменти для користувача, а саме :
При завершенні гри (поразка/перемога), щоб розпочати нову гру потрібно натискати пункт меню, нова гра, що займає деякий час та не дуже зручно для користувача. У своєму варіанті усунуто дану незручність, додавши користувачу можливість розпочати гру після видачі результату клацнувши лівою кнопкою миші у будь – якому місці ігрового поля або у процесі гри натиснувши на коліщатко миші. Також мій варіант програми буде враховувати і усувати усі можливі мінуси та недоліки.
1.3 Постановка задачі на розробку програмного забезпечення
Програма призначена для гри у сапер, метою гри є відкрити все поле не підірвавшись на жодній з мін. Розташування мін повинно здійснюватися за допомогою випадкового генерування.
В повинна бути можливість за бажанням вибрати один із запропонованих рівнів складності:
- новачок (поле розміром 10*10, кількість мін 10);
- аматор (любитель) – поле розміром 16*16 кількість мін 40);
- професіонал (поле розміром 40*16 кількість мін 99);
- default – за замовчуванням (поле розміром 9*9 кількість мін 9).
Користувач повинен взаємодіяти з грою за допомогою миші. Для того, щоб миша взаємодіяла з грою використовується оброблювач події при натисканні клавіші миші.
Оброблювач натискання кнопок миші та реалізація дії:
- ЛКМ (ліва клавіша миші) – при натисканні відкриває закриту клітку;
- ПКМ (права кнопка миші) – при натисканні на закриту клітку встановлюється прапорець, повторне натискання його відмінює.
- СКМ (середня кнопка миші – коліщатко прокручування) – при натисканні відбувається перезавантаження гри.
Також інтерфейс програми повинен містити в собі виведення повідомлення про стан гри (гра у процесі, перемога, поразка), коли гра в процесі – стан повідомлення «Подумай двічі», при перемозі «Ви перемогли!», у випадку, коли гравець відкрив осередок, який містить міну – відбувається виведення повідомлення «Поразка» і відкривається все поле.
Користувач у будь який момент може розпочати гру знову, незалежно від того завершена гра чи у процесі або вийти з гри вибравши пункт «Exit» у головному меню або натиснувши співвідношення клавіш Ctrl + “X”.
Також для спрощення вибору складності гри додати оброблювач натискання клавіш і реалізації дії:
- новачок – ALT + “N”;
- аматор – ALT + “A”;
- професіонал – ALT + “P”;
- нова гра – Ctrl + “N”;
- вихід – Ctrl + “X”.
Основні вимоги до реалізації гри:
- ігрове поле має містити випадково розташовану кількість мін;
- мінне поле повинно генеруватись на початку гри;
- повинна бути можливість відкривати осередок і робити помітку прапорцем;
- в осередку повинні вказуватись цифри (від 1 до 8), які вказують на те, скільки мін знаходиться поруч у сусідніх осередках, у випадку, якщо мін поруч немає осередок порожній;
- у разі якщо гравець відкрив порожній осередок, то всі пусті осередки які знаходяться поруч повинні автоматично відкритись;
- повинно здійснюватися виведення повідомлення про стан гри у даний момент часу;
- гра повинна здійснюватися за правилами гри «Сапер»;
- протестувати програму на наявність помилок та відхилень.
РОЗДІЛ. 2 ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОЕКТУВАННЯ ГРИ «САПЕР»
2.1 Універсальна мова моделювання UML в процесі проектування гри «САПЕР»
UML (англ. Unified Modeling Language) — уніфікована мова моделювання, використовується у парадигмі об’єктно-орієнтованого програмування. Є невід’ємною частиною уніфікованого процесу розробки програмного забезпечення.
UML був створений для визначення, візуалізації, проектування та документування, в основному, програмних систем. UML не є мовою програмування, але на підставі UML-моделей можлива генерація коду [1].
В UML використовуються наступні види діаграм:
Структурні діаграми:
- діаграма класів;
- діаграма компонентів;
- діаграма композитної / складовою структури;
- діаграма кооперації (UML2.0);
- діаграма розгортання;
- діаграма об’єктів;
- діаграма пакетів;
- діаграма профілів (UML2.2).
Діаграми поведінки:
- діаграма діяльності;
- діаграма станів;
- діаграма варіантів використання.
Діаграми взаємодії:
- діаграма комунікації (UML2.0) / Діаграма кооперації (UML1.x);
- діаграма огляду взаємодії (UML2.0);
- діаграма послідовності;
- діаграма синхронізації (UML2.0).
Переваги UML:
- UML об’єктно-орієнтований, в результаті чого методи опису результатів аналізу і проектування семантично близькі до методів програмування на сучасних об’єктно-орієнтованих мовах;
- UML дозволяє описати систему практично з усіх можливих точок зору і різні аспекти поведінки системи;
- Діаграми UML порівняно прості для читання після досить швидкого ознайомлення з його синтаксисом;
- UML розширює і дозволяє вводити власні текстові та графічні стереотипи, що сприяє його застосування не тільки в сфері програмної інженерії;
- UML набув широкого поширення і динамічно розвивається.
2.2 Розробка алгоритмів функціонування гри «Сапер»
Структурна схема показує нам візуальне представлення роботи модулів та взаємодію частин програми:
- користувач запускає програму;
- програма ініціалізує базові компоненти, та змінні за замовчуванням такі, як (розмір поля, кількість бомб та інші), які потрібні для подальшої роботи гри;
- користувач вибирає рівень важкості;
- програма оброблює та змінює такі дані, як (розмір поля та кількість бомб – відповідно до обраного рівня);
- користувач грає до певного результату;
- користувач може змінити рівень під час гри або перервати гру.
Для отримання повного тексту придбайте роботу!
Курсова робота " Використання квест-технологій як засобу активізації навчання молодших школярів на уроках " Я у світі " 


Відгуки
Відгуків немає, поки що.