Курсовая работа: Гра "Арканоід" на основі XNA Framework
а) Функціонування та відображення меню. Переключення між пунктами меню та виділення поточного пункту.
б) Читання з файлу розташування блоків та особливостей, які має кожний блок, такі як колір, кількість зіткнень із кулькою, щоб розбився блок або щоб блок зовсім не можливо було розбити.
в) Створення грального рівня. Відображення блоків на полі.
г) Пересування бити по полю. Функція дозволяє пересувати вліво або вправо биту у грі.
д) Функції кульки. Функція обробки зіткнень з іншими об’єктами, функція пересування по гральному полю з ладанним прискоренням, зміна напрямку кулі при зіткнені із межами вікна та іншими об’єктами.
е) Відображення усіх об’єктів на полі. У верхній частині вікна виводиться статистика про стан гри, в нижній частині відображається бита гравця та кулька, яка переміщюється по усьому просторі.
є) Гра у двох. Функція створення додаткової бити на ігровому полі, з тими ж особливостями, що і першої, для надання можливості одночасної гри двох гравців в одному вікні.
ж) Реалізація функцій для ведення статистики. Функцію підрахунку кількості балів гравця, яка обчислює кількість балів, яку отримує він за розбиті блоки. Функція обліку життів, вона відповідає за об’єм життів та якщо вони закінчились, гра теж закінчується.
з) Звукові ефекти. Програвання звуків у грі, коли кулька зіткнеться із одним з блоків.
і) Надання можливості користувачу зберегти поточний стан гри, тобто зберегти гри, для того щоб при наступній загрузці гри гравець мав можливість продовжити гру, а не починав все спочатку.
к) Реалізація функцій для роботи з призначеними для користувача настройками для завдання розміру екрана, переключенням у повноекранний режим і назад у віконний, та інші.
3. Опис концептуальної моделі
3.1 UML-моделювання
UML - моделювання – досить важливий етап в проектуванні програми, що зображає сучасні тенденції в тій предметній галузі, яка досліджується в даному курсовому проекті, а саме в сфері IT- технологій, що з ним пов’язаний.
Вище приведена діаграма послідовностей для прецеденту «Запуск гри» (див рис. 3.1). Діаграма послідовностей дозволяє досить детально описати внутрішні процеси , які виникають під час виконання прецеденту. Діаграма містить ось часу, що спрямована зверху вниз; всіх виконавців; повідомлення або запити між виконавцями; посилання на інші прецеденти.
Рисунок 3.1 – Діаграма послідовностей для прецеденту «Запуск гри»
Діаграма в UML - це графічне представлення набору елементів, що замальовується найчастіше у вигляді зв'язаного графа з вершинами і ребрами. Діаграми малюють для візуалізації. Основна мета діаграм - візуалізація системи, що розробляється, з різних точок зору. Діаграма - в найзагальнішому сенсі деякий зріз системи. Зазвичай, за винятком найпростіших моделей, діаграми дають згорнуте представлення елементів, з яких складається система, що розробляється.
Використання UML не обмежується моделюванням програмного забезпечення. Його також використовують для моделювання бізнес-процесів, системного проектування і відображення організаційних структур.
UML дозволяє також розробникам програмного забезпечення досягти угоди в графічних позначення для представлення загальних понять (таких як клас, компонент, узагальнення (generalization), об'єднання (aggregation) і поведінка) і більше сконцентруватися на проектуванні та архітектурі.
3.2 Об’єктна модель системи
Далі наведена UML – діаграма класів, яка зображує об’єктну моделі комп’ютерної гри, яка реалізована в даному курсовому проекті. Вона описує структуру системи, показуючи її класи, їх атрибути і оператори, а також взаємозв’язки між цими класами.
Взаємозв'язок - це особливий тип логічних відносин між сутностями, показаних на діаграмах класів та об'єктів. В UML є декілька типів взаємозв’язків між класами, наприклад: асоціація, агрегація, композиція, узагальнення та залежність
Далі розглянемо об’єктну модель (рис. 3.3). На якій відображені класи гри та їх атрибути, методи і зв’язки між ними.
Рисунок 3.2 – Об’єктна модель системи
Система складається з таких класів:
1 GameObject - абстрактний клас-предок для всіх об’єктів, які відображаються на екрані, таких як Ball, Paddle, Block, які є основними об’єктами у грі;
Атрибути класу:
Sprite - зображення об’єкту;
Width - ширина об’єкта;
Height - висота об’єкта;
Position - позиція об’єкта на ігровому полі;