1 Аналіз предметної галузі
Предметна галузь, що я обрав, являє собою популярну гру «Арканоід», історія якої починається на прикінці 20-ого сторіччя. Гра пройшла довгий шлях розвитку від програми розробленої під MS DOS, до сучасної версії для сервісів Windows Life та Xbox 360 Life та різноманітних варіантів цієї гри створених для Internet браузерів за допомогою технологій Adobe Flash, Microsoft Silverlight та інших.
Існує багато програмних реалізацій цієї гри, а також багато модифікацій цієї гри з моменту випуску першої версії цієї гри. Але на цей момент, у цієї гри є недолік – це неможливість грати у цю гру у двох з друзями за допомогою таких сервісів, як Windows Life та Xbox Life.
Але у предметній галузі є безліч проблем таких, як зробити повноцінну гру на двох без шкоди для процесу гри, а також деяка одноманітність рівнів та процесу гри.
Для вирішення цих проблем необхідно розробити таку поведінку гри, щоб процес гри був різноманітним, була збережена оригінальність основної ідеї гри «Арканоід» та була підтримка гри двох гравців одночасно.
Таким чином, на підставі всього вище наведеного можна побудувати загальну модель взаємодії гравців з системою (рис 1.1).
Рисунок 1.1 – Модель взаємодії гравців з системою
Гра не повинна вимагати складних дій від користувача. Інтерфейс, наданий гравцеві повинен бути дуже зручним, та для повноцінного керування щоб йому лише необхідно знати основи використання миші та клавіатури.
Для нормального функціонування на персональному комп’ютері гра не повинна також вимагати складної послідовності дій від користувача. Для нормального функціонування користувачеві лише необхідно мати встановлену операційну систему Windows та .Net Framework не нижче версії 3.0.
Після запуску користувачем гри, система повинна зробити усі необхідні дії для ініціалізації та завантаження контенту, також, вже під час гри, система повинна коректно відгукуватися на дії користувача та вираховувати математичну модель гри для наступного відображення графічної частини гри.
Також потрібно реалізувати можливість користувачу закінчити гру, з можливістю збереження гри та при новому запуску надати можливість для завантаження попередньої гри. Для різноманітності гри потрібна підтримка завантаження рівнів гри з текстових файлів для їх наступного відображення.
В якості технології для програмної реалізації повинна бути взята технологія Microsoft XNA Framework, яка надає програмісту широкі можливості для реалізації та удосконалення гри будь-якої складності. Ця технологія також прагне звільнити розробку ігор від написання "повторюваного шаблонного коду" і об'єднати різні аспекти розробки ігор в одній системі.
Нижче приведена діаграма діяльності для прецеденту «Модель взаємодії гравця з системою під час гри» (рис 1.2)
|
|
Рисунок 1.2 – Модель взаємодії гравця з системою під час гри
Гравець обирає тип гри, у який він хоче грати. Це може буди гра для одного або двох гравців. Після цього завантажується гральній рівень, на якому зверху знаходяться блоки які він має розбити, щоб перейти на наступний рівень, знизу зображення битка, яку можна переміщувати по горизонталі та відбивати кульку, якщо ігрок не встиг відбити, то у нього стає на одне життя менше. Коли кількість життів закінчується – закінчується гра. При грі у двох у кожного гравця є своя битка, яку він може переміщувати у своїй частині екрану, а далі все теж саме, як і при грі одного гравця.
2. Постановка задачі
Метою курсового проекту є реалізація гри «Арканоід» на основі XNA Framework, що буде виконувати такий список функцій:
а) Функціонування та відображення меню. Переключення між пунктами меню та виділення поточного пункту.
б) Читання з файлу розташування блоків та особливостей, які має кожний блок, такі як колір, кількість зіткнень із кулькою, щоб розбився блок або щоб блок зовсім не можливо було розбити.
в) Створення грального рівня. Відображення блоків на полі.
г) Пересування бити по полю. Функція дозволяє пересувати вліво або вправо биту у грі.
д) Функції кульки. Функція обробки зіткнень з іншими об’єктами, функція пересування по гральному полю з ладанним прискоренням, зміна напрямку кулі при зіткнені із межами вікна та іншими об’єктами.
е) Відображення усіх об’єктів на полі. У верхній частині вікна виводиться статистика про стан гри, в нижній частині відображається бита гравця та кулька, яка переміщюється по усьому просторі.
є) Гра у двох. Функція створення додаткової бити на ігровому полі, з тими ж особливостями, що і першої, для надання можливості одночасної гри двох гравців в одному вікні.
ж) Реалізація функцій для ведення статистики. Функцію підрахунку кількості балів гравця, яка обчислює кількість балів, яку отримує він за розбиті блоки. Функція обліку життів, вона відповідає за об’єм життів та якщо вони закінчились, гра теж закінчується.
з) Звукові ефекти. Програвання звуків у грі, коли кулька зіткнеться із одним з блоків.
і) Надання можливості користувачу зберегти поточний стан гри, тобто зберегти гри, для того щоб при наступній загрузці гри гравець мав можливість продовжити гру, а не починав все спочатку.
к) Реалізація функцій для роботи з призначеними для користувача настройками для завдання розміру екрана, переключенням у повноекранний режим і назад у віконний, та інші.
0 комментариев