Добавил:
abhai2013@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика.docx
Скачиваний:
27
Добавлен:
30.06.2018
Размер:
1.44 Mб
Скачать

ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНА АКАДЕМІЯ

ФАКУЛЬТЕТ АВТОМАТИЗАЦІЇ МАШИНОБУДУВАННЯ ТА

ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ

КАФЕДРА КОМП’ЮТЕРНИХ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ

Звіт

з переддипломної практики

Напрям підготовки 6.050101 «Комп’ютерні науки» Освітньо-кваліфікаційний рівень «бакалавр»

Тема: «Проект програмного комплексу комп'ютерної гри-стратегії "Tower Defense"»

Дата

Оцінка

Підпис

Виконав:

Студент групи ІТ-14-1 Красовський А.В.

(прізвище та ініціали)

Керівник: Васильєва Л.В.

(прізвище та ініціали)

Краматорськ – 2018року

ЗМІСТ

3

ВСТУП 5

1.1 Загальні відомості про ігри 6

1.2 Аналіз існуючих програмних продуктів 9

1.3 Розробка математичної моделі для предметної області «Проект програмного комплексу комп'ютерної гри-стратегії "Tower Defense"» 13

1.4 Розробка структурно–функціональної моделі ПК комп'ютерної гри-стратегії "Tower Defense" 14

На рис. 1.7 зображена контекстна SADT-діаграма нульового рівня для ПК комп'ютерної гри-стратегії "Tower Defense". 14

Для більш точного проектування ПК комп'ютерної гри-стратегії "Tower Defense" деталізуємо SDAT–діаграму нульового рівня. 15

1.5 Розробка технічного завдання на створення ПК комп'ютерної гри-стратегії "Tower Defense" 18

1.6 Розробка засобів моделювання проекту ПК комп'ютерної гри-стратегії "Tower Defense". 18

1.6.1 Розробка діаграми прецедентів для комп'ютерної гри-стратегії "Tower Defense" 18

ПЗ – сукупність програм системи обробки інформації і програмних документів, необхідних для експлуатації цих програм [16]. 19

Загальна схема використання ПК комп'ютерної гри-стратегії "Tower Defense". Користувач вибирає позиції веж залежно рівня та його монет, тип веж та стартує гру. ПК загружає хвилю противників, розраховує їх маршрут та випускає на карту. 19

Рисунок 1.9 – Діаграма прецедентів ПК комп'ютерної гри-стратегії "Tower Defense". 19

1.6.2 Розробка діаграми класів для ПК комп'ютерної гри-стратегії "Tower Defense". 21

У предметної області програмного комплексу комп'ютерної гри-стратегії "Tower Defense" взаємодіють наступні класи: Противники, Ігровий світ, Положення, Вежі, Рівні, Алгоритм пошуку шляху, Кулi, Користувач. 21

1.6.3 Розробка діаграми послідовності для ПК комп'ютерної гри-стратегії "Tower Defense". 23

1.6.4 Розробка інформаційної моделі предметної області «ПК комп'ютерної гри-стратегії "Tower Defense"» 26

1.7 Засоби розробки ПК і їх порівняльний аналіз 30

3 ЕКОНОМІЧНІ РОЗРАХУНКИ 34

4 ОХОРОНА ПРАЦІ 43

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 48

1.7 Засоби розробки ПК і їх порівняльний аналіз 30

3 ЕКОНОМІЧНІ РОЗРАХУНКИ 34

4 ОХОРОНА ПРАЦІ 43

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 48

Сташкевич I.I.

ВСТУП

Усучасному світі ми бачимо як розвивається ігрова індустрія, що тепер її може стосуватися кожен, тому ми просто не можемо вже ігнорувати цю галузь.

Індустрія відеоігор або індустрія інтерактивних розваг — економічний сектор, пов'язаний з розробкою, просуванням та продажом відеоігор. У неї входить велика кількість спеціальностей, за якими працюють тисячі людей по всьому світу [1].

Розробку гри можна розділити на декілька етапів:

  • Видавництво і капітал: видавництва беруть участь у фінансуванні розробки нових ігор і купівлі ліцензій.

  • Виробництво інструментів: тут виробляються інструменти для створення ігрового контенту, що настроюють ігрові Пакетита інструменти для управління розробкою.

  • Розробка гри: після виробництва інструментів починається активна розробка проекту

  • Тестування: тестування гри на баги, помилки, продуктивність.

  • Поширення: випуск та просування ігор для продажу в роздрібних мережах та сервісах цифрової дистрибуції.

Над іграми часто працюють по декілька десятків людей, такі як: ігровий програміст, ігровий дизайнер, дизайнер рівнів, ігровий продюсер, ігровий художник і тестер ігор. Багато хто з них наймаються фірмами-розробниками або видавцями комп'ютерних ігор. Однак є багато одинаків, які пишуть ігри самостійно, як я наприклад.

Розроблений ПК призначений для роботи з базою даних для зберігання ігрових ресурсів як монети, рівні с їх хвилями противників, ландшафтом, кількість життя ігрока.

  1. ЗАГАЛЬНА ЧАСТИНА.

1.1 Загальні відомості про ігри

Відеогра — це електронна гра, в ігровому процесі якої гравець використовуєінтерфейс користувача, щоб отримати зворотну інформацію звідео пристрою.Електронніпристрої, які використовуються для того щоб грати, називаються ігровими платформами. Наприклад, до таких платформ належатьперсональний комп'ютер,гральна консольта мобільні пристрої.Пристрій введення, який використовується для керування грою, називаєтьсяігровим контролером. Це може бути, наприклад,джойстик, клавіатура та мишка,геймпадабо сенсорний екран [2].

Появі відеоігор передували розвиток програмованих комп'ютерів та технологій формування зображення на екранах електронних пристроїв. Різноманітні електронні та механічні ігрові пристрої існували ще в першій половині XX століття, але не мали досить значного поширення. Попередниками відеоігор є пристрій «Cathode ray tube Amusement Device» (укр. Розважальний пристрій з електронно-променевою трубкою), патент на яку Томас Ґолдсміт Молодший та Істл рей Менн отримали 14 грудня 1948 року, і шахова комп'ютерна програма, розроблена у 1947 Аланом Тьюрінгом. Початково ігрові програми, як шахи чи хрестики-нулики, розроблялися в рамках військової програми США у прагненні створити комп'ютер, здатний передбачати дії противника.

Перша успішна спроба створити розважальний пристрій, який використовує для зворотнього зв'язку із гравцем відео, належить Вільяму Гіґінботаму. У 1958 він розробив Tennis For Two, однак не розглядав гру як щось важливе і зрештою розібрав обладнання для інших, наукових, проектів.

Розробка відеогри  — це процес створення відеогри, яким займається розробник відеоігор, котрий може бути як однією людиною так і компанією з сотнями співробітників. Гра може розроблятися як силами кількох людей з обмеженим бюджетом, так і спираючись на фінансування від видавця. Тривалість та вартість розробки залежить від складності проекту [3].

Розробка гри проходить у декілька етапів. На початку створюється загальний проект майбутньої гри, пишеться дизайн-документ з описом всесвіту, ігрового процесу і сюжету, створюються графічні концепти рівнів і персонажів, які визначатимуть стилістику гри і які слугуватимуть орієнтиром для художників та моделювальників. Дизайн-документ та малюнки також використовуються для привернення уваги видавців.

Якщо відсутні проблеми з фінансуванням, починається повноцінна робота над грою, яка включає розробку чи налаштування під потреби гри ігрового рушія, створення графічного, тривимірного, та аудіо наповнення гри, впровадження та тестування ігрових механік (ігровий дизайн). До своєї остаточної версії гра йде через альфа та бета версії, які ретельно перевіряють і тестують, іноді проводячи відкриті тестування за участю гравців (відкритті альфа/бета-тести). Через якийсь час після останніх перевірок і тестувань, гра «виходить на золото», тобто починає тиражуватися для подальшого продажу. Після виходу триває підтримка гри, в ході якої вона вдосконалюється і доповнюється.

Глосарій – словник до тексту, що пояснює маловідомі або застарілі слова. Глосарій — список понять в специфічній області знання з їхніми визначеннями та прикладами [4].

Терміни, які використовуються в індустрії відеоігор представлені у вигляді таблиці 1.

Таблиця 1.1 – Глосарій індустрії відеоігор.

Термін

Визначення

1

Геймер

Людина, що захоплюєтьсягрою увідеоігри [5].

2

Гральна консоль

Це спеціалізований електронний пристрій, розроблений і створений для того, щоб грати у відеоігри. Найчастіше пристроєм виводу єтелевізорабо, рідше, комп'ютерниймонітор [6].

3

Відеогра

Це електронна гра, в ігровому процесі якої гравець використовуєінтерфейс користувача, щоб отримати зворотну інформацію звідео пристрою [2].

4

Ігровий контролер

Пристрій введення інформації, що використовується у відеоіграх [7]. 

5

Розробка відеогри 

Це процес створення відеогри, яким займаєтьсярозробник відеоігор, котрий може бути як однією людиною так і компанією з сотнями співробітників [3].

6

Ігрові механіки

Набір правил і способів, який реалізує певним чином деяку частину інтерактивної взаємодії гравця і гри. Всі безліч ігрових механік гри формують конкретну реалізацію її ігрового процесу [8].

7

Альфа-версія

Стадія, під час якої ПЗпідлягає внутрішньому тестуванню. Стадія початку тестування програми в цілому фахівцями-тестерами, зазвичай, не розробниками програмного продукту, але, як правило, усередині організації або співтовариства, що розробляють цей продукт. Також це може бути стадія додавання нових функціональних можливостей. Програми на цій стадії можуть застосовуватися тільки для ознайомлення з майбутніми можливостями [9].

Продовження таблиці 1.1

8

Бета версія

Стадія, під час якої ПЗпідлягає публічному тестуванню; стадія активного бета-тестування і налагодження програми, що пройшла альфа-тестування (якщо таке було). Програми на цій стадії розробки можуть бути використані іншими розробниками програмного забезпечення для випробування сумісності. Тим не менш, програми цього етапу можуть містити достатньо велику кількість помилок [9].

9

Альфа-тест

Імітація реальної роботи з системою штатними розробниками, або реальна робота з системою потенційними користувачами/замовником [10].

10

Бета-тест

Інтенсивне використання майже готової версії продукту (як правило, програмного або апаратного забезпечення) з метою виявлення максимального числа помилок в його роботі для їх подальшого усунення перед остаточним виходом (релізом) продукту на ринок, до масового споживача [11].

1.2 Аналіз існуючих програмних продуктів

На сьогоднішній день існує достатня кількість ігор в жанрі TowerDefense. Розглянемо деякі з них.

Першим розглянемо найпопулярнішу гру Defense Zone 3 [12], яку можна побачити на рис. 1.1.

Рисунок 1.1 – Гра DefenseZone3

Defense Zone - серія тактичних стратегій із серії «оборона веж» завоювала чимало позитивних відгуків серед шанувальників жанру в першу чергу завдяки відмінно опрацьованої графіки і високо деталізованим юнітам. Не останню роль в популярності Defense Zone зіграв і різнобічний геймплей, який включає в себе багатий вибір веж і значну різноманітність ворогів різних класів і можливостей, що дозволяє гравцям використовувати різні тактичні схеми. Гра вийшла 14 грудня 2016 року. Автором і видавцем гри э Артем Котов, який розробив усі три частини.

Defense Zone 3 - третя частина популярної серії, що отримала ще більш гарну графіку, масу нових можливостей, такі як: нові рівні та динамічна модель зміни погодних умов. ГеймплейDefenseZone3 можна побачити на рис. 1.2.

Рисунок 1.2 Геймплей DefenseZone3

Другою грою буде GeneralsTD HD [13], яку можна побачити на рис. 1.3.

Рисунок 1.3 – GeneralsTDHD

В цій грі ваша задача вкрай проста і водночас дуже складна. Ваше завдання вбивати всіх супротивників що з'являються на дорозі що веде до вашого головного штабу. Використовувати вам потрібно автоматичні вежі. Якщо ви хочете затримати ворогів на місці, то можна поставити казарму в якій будуть з'являтися ваші війська, або використовувати додаткові пристосування для знищення ворога. Вийшла вона 14 листопада 2017 року и остання версія на даний момент 1.2.1. Геймплей Generals TD HD можна побачити на рис.1.4.

Рисунок 1.4– ГемплейGenerals TD HD

Третьою грою ми розглянемо Tower Defense Zone 2 [14], яку можна бачити на рис.1.5.

Рисунок 1.5 – Tower Defense Zone 2

Tower Defense Zone 2 - продовження популярної тактичної стратегії з серії Tower Defense. Сиквел є певним сюжетним продовженням першої частини. Для тих хто не знайомий з початком історії відзначимо, що на землю було скоєно підступний напад інопланетних загарбників, але за допомогою сучасної зброї, останніх технологій і особового складу людству вдалося відбити напад і космічні агресори відступили. Однак перегруперовавшісь і мобілізувавши всі наявні сили інопланетяни знову вчинили спробу захоплення планети. Саме про ці події і піде мова в Tower Defense Zone 2. Геймплей Tower Defense Zone 2 можна побачити на рис.1.6.

Рисунок 1.6 – Геймплей Tower Defense Zone 2

1.3 Розробка математичної моделі для предметної області «Проект програмного комплексу комп'ютерної гри-стратегії "Tower Defense"»

Стрільба в іграх жанру TowerDefenseпрацює завдяки векторам, за допомогою яких розраховується відстань між туреллю та противником.

Розрахунок відстані здійснюється за такою формулою (формула 1.1):

(1.1)

де, – відстань між точками (в даному випадку пікселі, но звичайно це просто одиниці виміру),

–координата по осі х другоїточки(пікселі),

–координата по осі х першоїточки(пікселі),

–координата по осі y другоїточки(пікселі),

–координата по осі y першоїточки(пікселі).

Таким чином математична постанова задачі проектування ПК розробки програмного комплексу комп'ютерної гри-стратегії "Tower Defense":

(1.2)

Проведемо перевірочний розрахунок за наведеною математичної моделі наступним завданням

Постановка:

Є турель з певним радіусом атаки та противник зі своїм радіусом. Треба знайти відстань між центрами турелі й противника, щоб дізнатися входить противник у радіус дії турелі чи ні.

Початкові дані:

Радіус турелі – 80 пікселів. Радіус противника – 24 пікселя.

Турель має координати 450, 130 та противник 500, 180.

Виходячи з даних визначимо відстань між ними і порівнюємо її з радіусом турелі.

Рішення:

Розрахунок відстані (пікселі):

Після проведених розрахунків отримали, що відстань між туреллю та противником з координатами 450, 130 та 500, 180 відповідно дорівнює 70.71 піксель, що є менше радіуса турелі в 80 пікселів. Звідси робимо висновок що противник знаходися в полі досяжності турелі и буде обстріляний нею.

1.4 Розробка структурно–функціональної моделі ПК комп'ютерної гри-стратегії "Tower Defense"

Узагальнена та деталізуюча SADT – діаграма представляє процес у вигляді послідовності активностей, кожна з яких має входи, виходи, виконавця і керуючий вплив [15].

На вхід подаються ігрові ресурси, такі як монети та життя користувача, та модель сценарію(розташування веж), а на виході отримуємо ігрові ресурси після проходження рівня(життя, які могли змінитися, якщо противник проник на базу, а монети, які додаються за кожного вбитого ворога).

На рис. 1.7 зображена контекстна SADT-діаграма нульового рівня для ПК комп'ютерної гри-стратегії "Tower Defense".

Рисунок 1.7 – Контекстна SADT-діаграма 0-го рівня ПК комп'ютерної гри-стратегії "Tower Defense".

У таблиці 1.2 описані контекстної структурно–функціональної діаграми ПК.

Таблиця 1.2 – Формалізований опис контекстної структурно–функціональної діаграми ПК комп'ютерної гри-стратегії "Tower Defense".

Вхід

Вихід

Управління

Виконувач

- Ігрові ресурси(монети, життя бази);

- Модель сценарію(розташування веж)

Ігрові ресурси(монети, життя бази)

Модель сценарію(розташування веж)

Користувач, ПЗ

Для більш точного проектування ПК комп'ютерної гри-стратегії "Tower Defense" деталізуємо SDAT–діаграму нульового рівня.

Цей ПК можна розділити на декілька етапів:

  • розташування веж користувачем;

  • підготовка противників(загрузка хвиль противників, пошук маршруту);

  • початок гри(взаємодія веж з противниками);

Взаємодія користувача з грою починається з розташування веж на карті, при цьому користувач не може вийти за межу своїх ресурсів(монет) та може ставити вежі лиш в конкретних місцях.

Потім користувач може почати рівень чи дочекатися його початка.

Якщо користувач перейшов до редактору рівнів, тоді він сам може створити свій рівень, котрий потім можливо зберегти в базі даних та неодмінно випробувати його. Користувач може самостійно задавати ландшафт, місця для розташування веж, тип, кількість та місця початку та кінця маршруту противників.

Деталізуюча структурно–функціональна діаграма першого рівня представлена на рис. 1.8.

Описання контекстної структурно–функціональної діаграми ПК наведено у таблиці 1.3.

Таблиця 1.3 – Формалізований опис структурно-функціональної діаграми першого рівня ПК

Вхід

Вихід

Управління

Виконавець

А1

Ігрові ресурси(монети, життя бази)

Ігрові ресурси(монети, життя бази)

Модель сценарію(розташування веж)

Користувач, ПЗ

А2

Ігрові ресурси(монети, життя бази)

Ігрові ресурси(монет, життя бази)

Позиції веж

ПЗ

А3

Ігрові ресурси(монети, життя бази)

Ігрові ресурси(монет, життя бази)

Маршрут противників

ПЗ

Рисунок 1.8 – Деталізуюча структурно–функціональна SADT – діаграма першого рівня для ПК комп'ютерної гри-стратегії "Tower Defense"

1.5Розробка технічного завдання на створення ПК комп'ютерної гри-стратегії "Tower Defense"

У даній дипломній роботі розглядається предметна галузь «ПК комп'ютерної гри-стратегії "Tower Defense"». Програмний продукт призначений для проведення вільного часу. Програмний продукт буде використаний з метою розважити користувача та можливість розвити деяку стратегію.

Коротка характеристика: програмний комплекс «TowerDefense» призначений для проведення вільного часу та розвитку мисленння щодо розташування оптимальної кількості веж з розрахунком кількості монет, ціни веж, типу и кількості противників.

Продовження технічного завдання знаходиться в Додатку Б.

1.6 Розробка засобів моделювання проекту ПК комп'ютерної гри-стратегії "Tower Defense".

1.6.1 Розробка діаграми прецедентів для комп'ютерної гри-стратегії "Tower Defense"

На основі аналізу предметної області та виявлених вимог щодо розроблюваного програмного продукту розроблена діаграма прецедентів використання, представлена на рис. 1.9.

Дана діаграма показує взаємодію системи з дійовими особами системи. При розгляді системи виділяються актори «Користувач», «ПЗ».

ПЗ – сукупність програмсистеми обробки інформації іпрограмних документів, необхідних для експлуатації цих програм[16].

Загальна схема використання ПКкомп'ютерної гри-стратегії "Tower Defense". Користувач вибирає позиції веж залежно рівня та його монет, тип веж та стартує гру. ПК загружає хвилю противників, розраховує їх маршрут та випускає на карту.

З рис. 1.9 видно, що користувач має доступ до таких прецедентів: «розташування веж», «редагування та збереження рівня».

ПЗ має доступ до таких прецедентів як «Загрузка противників», «Пошук маршруту противників», «Взаємодія з картою, моделлю веж», «Робота с БД».

Рисунок 1.9 – Діаграма прецедентів ПК комп'ютерної гри-стратегії "Tower Defense".

У таблицях 1.4–1.6 представлено формалізований опис прецедентів «Розташуванная веж», «Редагування та збереження рівня», «Пошук маршруту противників».

Таблиця 1.4 – Описання прецеденту «Розташування веж»

Описання прецеденту

Основний виконавець – Користувач

Передумови:

  • Наявність монет, за які користувач буде ставити вежі та відповідних місць для них на карті.

Вхідні дані:

  • Ігрові ресурси(монети).

Основний успішний сценарій:

  • Користувач розташував вежі и готовий до атаки бази.

Постумови:

  • Користувач стартує рівень.

Вихідні дані:

  • Модель розташованих на карті веж та ігрові ресурси.

Таблиця 1.5 – Описання прецеденту «Редагування та збереження рівня»

Описання прецеденту

Основний виконавець – Користувач

Передумови: -

Вхідні дані:

  • Рівень користувача(від самого початку порожній).

Основний успішний сценарій:

  • Новий рівень користувача в базі даних.

Постумови:

  • Користувач створює та зберігає свій новій рівень.

Вихідні дані:

  • Новий рівень користувача.

Таблиця 1.6 – Описання прецеденту «Пошук маршруту противників»

Описання прецеденту

Основний виконавець – ПЗ

Передумови:

  • Користувач закінчив з розташуванням веж.

Вхідні дані:

  • Модель рівня з розташованими вежами;

Основний успішний сценарій:

  • Маршрут знайдено.

Постумови:

  • Противник має свій маршрут.

Вихідні дані:

  • Маршрут противника.

1.6.2 Розробка діаграми класів для ПК комп'ютерної гри-стратегії "Tower Defense".

Діаграма класів — статичне представлення структури моделі. Відображає статичні (декларативні) елементи, такі як: класи,типи даних, їх зміст та відношення. Також, діаграма класів може містити позначення деяких елементів поведінки, однак їх динаміка розкривається в інших типах діаграм. Діаграма класів служить для представлення статичної структури моделі системи в термінології класів об'єктно-орієнтованого програмування. На цій діаграмі показують класи, інтерфейси, об'єкти й кооперації, а також їхні відносини[17].Діаграма класів використовуються при моделюванні ПВ найбільш часто. Вони є однією з форм статичного опису системи з точки зору її проектування, показуючи її структуру. Діаграма класів не відображує динамічну поведінку об'єктів зображених на ній класів. На діаграмах класів показуються класи, інтерфейси і відносини між ними.

На основі аналізу предметної області та виявлених вимог щодо розроблюваного програмного продукту розроблена діаграма класів предметної області, представлена на рис. 1.10.

На діаграмі класів відображені класи предметної області та їх зв'язку.

У предметної області програмного комплексу комп'ютерної гри-стратегії "Tower Defense" взаємодіють наступні класи: Противники, Ігровий світ, Положення, Вежі, Рівні, Алгоритм пошуку шляху, Кулi, Користувач.

Ігровий світ створює і ініціалізує противників, рівні, ігрові меню (states) і турелі. Противники ж в свою чергу створюють клас алгоритму пошуку шляху, а турелі створюють кулі.

Клас «Ігровий світ» ініціалізує та зберiгаєусiігрові об'єкти:турелі, рівні, противників, меню.

Клас «Противники», який відповідає за поведінку противників, містить у собі клас «Алгоритм пошуку шляху».

Клас «Вежі», який відповідає за оборону бази користувача, містить у собі клас «Кулі».

Клас «Положення» відповідає за ігрові меню та інтерфейс.

Клас «Рівні» працює з базою даних та відповідає за загрузку та збереження рівнів.

Клас «Алгоритм пошуку шляху», який міститься у класу «Противник» для знаходження шляху від начальної до кінцевої точки на карті.

Клас «Кулі» відповідає за поведінку куль для знищення противників.

Клас «Користувач» має свою базу з деякої кількістю життя та розташовує вежі на карті, тим самим обороняє свою базу.

Рисунок 1.10– Діаграма класів ПК комп'ютерної гри-стратегії "Tower Defense".

У таблиці 1.7наведено описання основних класів предметної області «ПК інтернет–магазина з продажу промислових товарів».

Таблиця 1.7– Обов'язки основних класів предметної області «ПК інтернет–магазина з продажу промислових товарів».

Назва класу

Опис

Користувач

Обороняє свою базу, розташовуючи вежі по карті.

Кулі

Відповідає за поведінку куль для знищення противників.

Алгоритм пошуку шляху

Шукає шлях від начальної до кінцевої точки на карті для противників.

Вежі

Відповідає за оборону бази користувача, містить у собі клас «Кулі».

Ігровий світ

Ініціалізує та зберiгає усiігрові об'єкти: турелі, рівні, противників, меню (states).

Противники

Відповідає за поведінку противників, містить у собі клас «Алгоритм пошуку шляху».

Положення

Відповідає за ігрові меню та інтерфейс.

Рівні

Працює з базою даних та відповідає за загрузку та збереження рівнів.

1.6.3 Розробка діаграми послідовності для ПК комп'ютерної гри-стратегії "Tower Defense".

Діаграмою послідовностей називається діаграма, на якій для деякого набору об'єктів на єдиній тимчасової осі показаний життєвий цикл будь-якого певного об'єкта (створення-діяльність-знищення якоїсь сутності) і взаємодія акторів (дійових осіб) у рамках якої-небудь певного прецеденту (відправка запитів і отримання відповідей). Використовується в мові UML.

Основними елементами діаграми послідовності є позначення об'єктів (прямокутники з назвами об'єктів), вертикальні «лінії життя», що відображають плин часу, прямокутники, що відображають діяльність об'єкта або виконання ним певної функції (прямокутники на пунктирною «лінії життя»), і стрілки, що показують обмін сигналами або повідомленнями між об'єктами [18].

Діаграма послідовності для «ПК комп'ютерної гри-стратегії "Tower Defense"» представлена на рис. 1.11.

Користувач робить вхід, попадає в головне меню, чим звертається до класу «Положення».

Клас «Положення» звертається до класу «Ігровий Світ» та ініціалізує усі ігрові об’єкти.

Потім Користувач починає гру, розташовуючи вежі, тим самим звертається до класу «Вежі».

Клас «Вежі» ініціалізує вежі та починає взаємодію з ігровим світом.

Після того як користувач розташував усі вежі, починаються хвилі противників та їх взаємодія з вежами. Тобто йде звертання до класу «Противник».

Клас «Противники» у свою чергу шукає шлях для себе на карті та починає рухатись по карті. Коли хтось із противників попадає під радіус дії вежі, клас вежі викликає метод «Стрільба», який звертається до класу «Кулі».

Клас «Кулі» створює кулю, яка летить в напрямку противника, та віднімає йому кількість життя. Якщо куля вбила противника, користувач отримує монети, за які він і розташовую вежі.

І так проходить кожен рівень. Користувач розташовую вежі, які обороняють його базу, знищуючи противників та заробляючи монети на нові вежі, поки противники не закінчаться.

Рисунок 1.11– Діаграма послідовностей «ПК комп'ютерної гри-стратегії "Tower Defense"»

1.6.4 Розробка інформаційної моделі предметної області «ПК комп'ютерної гри-стратегії "Tower Defense"»

ER-модель використовується при високорівневому (концептуальному) проектуванні баз даних. З її допомогою можна виділити ключові сутності і позначити зв'язки, які можуть встановлюватися між цими сутностями [19].

В ході аналізу предметної області «ПК комп'ютерної гри-стратегії "Tower Defense"» виділяється набір сутностей - об'єктів або явищ, інформація про які підлягає опису та зберігання в базі даних і зв'язків між сутностями.

Створюється діаграма виду «Сутність - Зв'язок». Враховуються ступінь зв'язку між сутностями («один - до - одному», «один - до - багатьох», «багато - до - багатьох»).

Для створення БД необхідно побудувати ER-діаграму (рис. 1.12) у вигляді сукупності зв'язків, сутностей і атрибутів.

Сутність «Рівень» представляє з себе сховище даних, яке містить інформацію про id рівня та сітку ландшафту рівня.

Сутність «Противник» представляє з себе сховище даних, яке містить інформацію про id хвилі противників та інформацію про самі хвилі.

Сутність «Ігрові ресурси» представляє з себе сховище даних, яке містить інформацію про кількість монет користувача та життя його бази.

Рисунок 1.12 – ER-діаграма предметної області «ПК комп'ютерної гри-стратегії "Tower Defense"»

Для розуміння логіки роботи предметної області, а також встановлення ступеня зв'язності і класу приналежності таблиць розроблена Діаграма ER-примірників. Розглянемо суті «Рівень», «Противник», «Ігрові ресурси». Графічну ілюстрацію цього можна побачити на рис. 1.13.

Рисунок 1.13–Діаграма ER-екземплярів

Обмеження унікальності, що накладаються оголошеннями первинного і кандидатних ключів відносини, є окремим випадком обмежень, пов'язаних з поняттям функціональної залежності.

У таблиці 1.8 представлено буквене позначення атрибутів:

Таблиця 1.8 – Літерне позначення атрибутів

Літера

Позначення

A

id рівня

B

Сітка ландшафту

C

id хвилі протвників

D

Інформція хвиль

E

Кількість монет

F

Кількість життя

Нормальна форма Бойса — Кодда (НФБК) — нормальна формавикористовується внормалізації баз даних. Це трошки сильніша версіятретьої нормальної форми(3НФ). Таблиця знаходиться в НФБКтоді і тільки тоді, коли для кожної її нетривіальноїфункціональної залежностіX → YX це суперключ— тобто,X або потенційний ключ, або його над множина [20].

Функціональна залежність - це однозначна залежність, затабулірована у системах управління базами даних [21]. Представлена на рис. 1.14

C

D

E

F

Рисунок 1.14 – Діаграма ФЗ

R(A,B,C,D,E,F)

Перевірка ключів в НФБК:

Детермінанти Ключі

D—

Не вНФБК

B—

CA+

AEF+

Оскільки не кожен детермінант сам по собі ключ в відношенні, то дана таблиця не перебуває в НФБК.

Проведемо декомпозицію:

R(A,B,C,D,E,F)

R1(A,B) R(A,С,D,E,F)

R2(C,D) R(A,C,E,F)

R3(A,E,F) R(A,C)

Були отримані наступні відносини:

R1(A,B)

R2(C,D)

R3(A,E,F)

Тепер таблиця знаходиться в НФБК, а значить є основою для проектування БД для предметної області «ПК комп'ютерної гри-стратегії "Tower Defense"».

1.7 Засоби розробки ПК і їх порівняльний аналіз

Тема дипломного проекту – «ПК комп'ютерної гри-стратегії "Tower Defense"».

Java–об'єктно-орієнтованамова програмування, випущена 1995 року компанією«Sun Microsystems»як основний компонент платформи Java. З 2009 року мовою займається компанія«Oracle», яка того року придбала «Sun Microsystems». В офіційній реалізації Java-програмикомпілюютьсяубайт-код, який при виконанні інтерпретуєтьсявіртуальною машиноюдля конкретної платформи[22].

Порівняння програмних продуктів (за десятибальною шкалою) наведено у таблиці 1.9.

Таблиця 1.9– Порівняння програмних продуктів

Найменування критерію

PHP

JavaScript

Java

Kj

Динамічна типізація

9

8

6

0,10

Підтримка БД

6

6

7

0,10

Інтерпретатор командного рядка

9

7

8

0,20

Багатоплатформеність

7

8

9

0,15

Підтримка ООП

8

8

9

0,20

Наявність бібліотек для роботи з графікою і мультимедіа

6

8

9

0,10

Простота застосування

8

7

8

0,15

Експертна оцінка визначається за формулою (1.2):

я, (1.2)

де Qi– загальна оцінка програмного продукту;

n – кількість критеріїв;

Kj – ваговий коефіцієнт критерію;

aij– оцінка i – того програмного засобу по j – тим критерієм.

Розрахуємо загальні оцінки програмних засобів:

PHP:

Q=9*0,10+6*0,10+9*0,20+7*0,15+8*0,20+6*0,10+8*0,15=7.2.

JavaScript:

Q=8*0,10+6*0,10+7*0,20+8*0,15+8*0,20+8*0,10+7*0,15=7.45.

Java:

Q=6*0,10+7*0,10+8*0,20+9*0,15+9*0,20+9*0,10+8*0,15=8.05.

Як показав розрахунок, найбільш доцільно вибирати в якості засобу розробки мову програмування Java.

MySQL– вільна реляційна система управління базами даних MySQL є рішенням для малих і середніх додатків. Зазвичай MySQL використовується як сервер, до якого звертаються локальні або видалені клієнти, проте в дистрибутив входить бібліотека внутрішнього сервера, що дозволяє включати MySQL в автономні програми.. Завдяки відкритій архітектурі і GPL-ліцензуванню, в СУБД MySQL постійно з'являються нові типи таблиць [23].

Порівняння СУБД (за десятибальною шкалою) наведено у таблиці 1.10.

Таблиця 1.10 – Порівняння СУБД

Найменування критерію

MySQL

Access

InterBase

Kj

Підтримка реляційної моделі даних

7

9

6

0,2

Технологія створення БД і об'єктів БД

8

7

5

0,2

Можливість створення локальної БД

9

8

7

0,1

Наявність вбудованої мови для розробки додатків

7

7

5

0,15

Підтримка стандарту SQL

7

6

9

0,1

Засоби для отримання звітів

7

8

3

0,1

Простота застосування

9

7

4

0,15

Експертна оцінка визначається за формулою (1.4) для кожної СУБД:

MySQL:

Q=7*0,20+8*0,20+9*0,10+7*0,15+7*0,10+7*0,10+9*0,15=7,7.

Access:

Q=9*0,20+7*0,20+8*0,10+7*0,15+6*0,10+8*0,10+7*0,15=7.5.

InterBase:

Q=6*0,20+5*0,20+7*0,10+5*0,15+9*0,10+3*0,10+4*0,15=5,45.

Як показав розрахунок, найбільш доцільно вибирати в якості СУБД MySQL.

Отже, для реалізації ПК для автоматизації з обліку даних про ремонт виробничих приміщень можна використовувати програмні засоби JavaиMySQL.