Курсова робота 121. !записка_Бачурський (3). 1 Постановка задачі Основна частина
Скачать 0.88 Mb.
|
1 2 ЗМІСТ с. Вступ 1 Постановка задачі……………………………………………………………………... 2 Основна частина…………………………………………………………..…………... 2.1 Аналіз вхідних та вихідних даних………………………………………………... 2.2 Опис логічної структури програми…………………………………..…………... 2.3 Опис фізичної структури програми………………………………….…………... 2.4 Інструкція користувача програми………………………………………………... 2.5 Вимоги до складу та параметрів технічних та програмних засобів ………….... 2.6 Тестування програми…………………………………………………………….... 2.7 Результати реалізації програми…………………………………………………... Висновки по роботі…………………………………………...…………….…………... Перелік використаних джерел……………………………………………..…………... Додаток А…………………………………………………………………...…………... Додаток Б………………………………………………………………………………... ВСТУП Ігри являють собою важливу частину розвитку людини та її дозвілля. Логічні ігри-головоломки не тільки мотивують людину мислити абстрактно, але ще й сприяють покращенню пам’яті. Комп'ютерна гра - комп'ютерна програма, що служить для організації ігрового процесу (геймплея), зв'язку з партнерами по грі, або сама виступає як партнер. Історія комп'ютерних ігор починається у 1940-х та 1950-х роках, коли в академічному середовищі розроблялися прості ігри та симуляції. Комп'ютерні ігри тривалий час не були популярними, і лише в 1970-х і 1980-х роках, коли з'явилися для широкої публіки аркадні автомати, ігрові консолі та домашні комп'ютери, комп'ютерні ігри стають частиною поп-культури. Самооцінка прямо залежить від наших перемог і зльотів. Так ось, коли учасник переможе, йому стає приємно. А його самооцінка виростає. Було проведено дослідження, де з'ясувалося, що людина грає роль кращого героя, так веде себе і при контакті з людьми в реальному житті. Це підтвердили професора Трентського і Стендфордського університетів. Починаючи займатися будь-якою справою, кожній людині хочеться дізнатися як можна більше інформації про цю активність. Користь комп'ютерних ігор полягає в розширенні кругозору. Наприклад, гравців в "Танки" опитали і з'ясували, що вони стали більше проявляти інтерес до військової історії і будівництва танка. Через це вони почали відвідувати виставки і музеї пов'язані з цією тематикою. Заняття з репетитором дають фундамент розуміння мови. Однак, щоб почати в ньому орієнтуватися, потрібна практика, але її не так просто отримати. У той час як в іграх активно використовується англійський, у людей з'являється стимул його вчити, і в грі існує можливість практики. Темою курсової роботи є розробка та програмування користувацького інтерфейсу і логіки роботи гри «Battleships». Це одна з класичних головоломок. Головною задачею головоломки знаходження розташування бойових кораблів, захованих у сітці, кількість лінкорів кожного розміру вказана в легенді під сіткою. Для цього були використані засоби мови C#, а саме додаток Windows Presentation Foundation та фреймворк .Net 1 ПОСТАНОВКА ЗАДАЧІ Призначення, мета створення системи і область застосування: - програма створюється для гри в Battleships на комп’ютерах з оперативною системою Windows Вимоги до програми. Вимоги до функціональних характеристик. Програма повинна забезпечувати можливість виконання перерахованих нижче функцій: - показувати користувачеві поле гри Battleships; - можливість грати в гру; - можливість змінювати налаштування програми; Вимоги до надійності. Для надійного використання програми комп’ютер користувача має відповідати технічним вимогам програми Методи рішення та мова програмування Початковий код програми має бути реалізований на мові С#. У якості інтегрованого середовища розробки програми має бути використане середовище Visual Studio 2019 Вимоги до програмної документації. Програмна документація має містити інструкції щодо функцій програми та її логіки 2 ОСНОВНА ЧАСТИНА 2.1 Аналіз вхідних та вихідних даних Вхідні дані: - Вхідні дані програми організовані в виді окремих класів в основному коді програми - Дії користувача(додання кораблів , вибір та зміна налаштувань, тощо) Вихідні дані: - Повідомлення про успішність розв’язання головоломки - Правильний розв’язок головоломки 2.2 Методи та засоби програмування Для розробки програмного забезпечення, відповідно індивідуального завдання, доцільно використати такі засоби реалізації: - мова програмування C#; - фреймворк .Net Framework версії 4.8; - технологія Windows Presentation Foundation (WPF); - мова розмітки XAML; - середовище розробки Microsoft Visual Studio 2019 та вище. - компонент Border - компонент Textbox 2.2.1 Мовою програмування високого рівня було обрано C#, адже вона має багато бібліотек, що допомагають спростити процес налаштування застосунку, а також стандартизують архітектуру та стиль написання коду, що важливо для можливого розширення функціоналу іншими розробниками. Мова програмування C# - це об'єктно-орієнтована мова програмування з безпечною системою типізації на платформі .NET. C# було розроблено Андерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою центру Microsoft Research. Мова C# розроблялась як мова програмування прикладного рівня для CLR і через це вона залежить, більше всього, від можливостей безпосередньо CLR. Наявність та відсутність деяких особливостей мови програмування обумовлено тим, чи може обрана особливість мови бути трансльована у відповідні конструкції CLR. CLR надає C#, як і всім іншим .NET-орієнтованим мовам, багато можливостей, яких не мають класичні мови програмування. Наприклад, збірку сміття не було реалізовано в самому C#, вона працює завдяки CLR для програм, розроблених на C#. 2.2.2 Фреймворк .Net Framework Для створення архітектури систем використовують сучасні бібліотеки, чи фреймворки, які спрощують процес написання коду. Програмний фреймворк - це комплект готових до використання комплекс програмних рішень, що включають в себе архітектуру побудови проєкту, логіку та базову функціональність системи або підсистеми та, навіть, дизайн. Фреймворк містить в собі набір бібліотек, що пропонують готовий набір рішень, також може містити допоміжні програми, скрипти та загалом все те, що може полегшити роботу програміста при розробці та поєднанні різних компонентів об'ємного програмного забезпечення. Одна з головних переваг використання фреймворків - це стандартизованість структури застосунку. Фреймворк .Net Framework 4.6.1 – кросплатформова технологія, запропонована фірмою Microsoft як платформа для створення звичайних програм та веб-застосунків. Багато в чому технологія являє собою продовження ідей та принципів, закладених ще при розробці технології Java. Однією з головних ідей, покладених в розробку .NET, є сумісність служб, що були написані різними мовами програмування. Однією з основних ідей Microsoft .NET є сумісність різних служб, написаних на різних мовах. Наприклад, служба, написана на C ++ для Microsoft .NET, може звернутися до методу класу з бібліотеки, написаної на Delphi; на C# можна написати клас, успадкований від класу, написаного на Visual Basic .NET, а виключення, створене методом, написаним на C#, може бути перехоплено і оброблено в Delphi. На рисунку 1.1 представлено графічний огляд технології .NET. Технологія .NET є патентованою технологією корпорації Microsoft. Проте, після укладення домовленості з компанією Novell, технологія Mono була визнана як реалізація .NET на Unix-подібних системах. Mono надає реалізацію ASP.NET, ADO.NET і Windows.Forms, але в той же час рекомендує обходити ці API. 2.2.3 Система Windows Presentation Foundation Windows Presentation Foundation- графічна підсистема Microsoft для розробки користувацького інтерфейсу програмних додатків. Технологія має пряме відношення до XAML. WPF разом з .NET Framework 3.0 вбудовано в Windows Vista, також система доступна для установки в Windows. Це перше оновлення технологічного середовища, що призначене для користувачів інтерфейсу з моменту випуску Windows 95. Воно включає в себе нове ядро для заміни GDI і GDI+, що активно використовувались в Windows Forms. WPF є високорівневим об'єктно-орієнтованим функціональним шаром, що дозволяє створювати двовимірні та тривимірні інтерфейси. Рисунок 2.1 - Огляд технології .NET В основу WPF закладено векторну систему візуалізації, що не залежить від розширення пристрою виведення. Вона була створена з урахуванням можливостей сучасного графічного обладнання. WPF дає засоби для створення візуального інтерфейсу, включаючи мову XAML, елементи управління, прив'язку даних, макети, двомірну і тривимірну графіку, анімацію, стилі, шаблони, документи, текст, мультимедію і оформлення. 2.2.4 Мова розмітки XAML Мова extensible Application Markup Language є декларативною мовою розмітки. Мова XAML спрощує створення користувацького інтерфейсу для програм для .NET Framework. У розробника є можливість створити елементи інтерфейсу користувача в декларативній розмітці XAML, а потім відокремити визначення користувача інтерфейсу від логіки часу виконання, завдяки використанню файлів коду програмної частини, приєднаних до розмітки за допомогою визначень поділюваних класів. Мова XAML представляє створення екземплярів об'єктів в конкретному наборі резервних типів, що було визначено у збірках. Це і є її відмінністю від більшості інших мов розмітки, які зазвичай, є інтерпретованими мовами без прямого зв'язку з системою резервних типів. Мова XAML надає робочий процес, що дозволяє декільком учасникам розробляти користувацький інтерфейс і логіку програми, при цьому використовуючи потенційно різні засоби. 2.2.5 Середовище розробки Microsoft Visual Studio 2019 Середовище розробки Microsoft Visual Studio - це лінійка програмних продуктів фірми Майкрософт, що спеціалізуються на розробці інтегрованого середовища розробки програмного забезпечення. Продукти компанії надають змогу розробляти консольні програми, програми з графічним інтерфейсом, в тому числі з підтримкою технології Windows Forms, веб-сайти, веб-застосунки та веб-служби для всіх платформ, що підтримуються компанією. Visual Studio містить редактор вихідного коду з вбудованою технологією IntelliSense, що дуже спрощує процес написання коду, і можливістю швидкого рефакторінга коду без втрати часу. Вбудований відладчик працює одночасно і як відладчик рівня вихідного коду, і як відладчик машинного рівня комп'ютера. Інші інструменти включають в себе редактор форм для поліпшення роботи програміста при розробці графічного інтерфейсу, веб-редактор для інтернет ресурсів, дизайнер класів і дизайнер схеми бази даних. Середовище розробки Visual Studio надає можливість створювати і додавати до проєктів сторонні додатки для поліпшення функціональності на всіх рівнях, включаючи можливість підтримки контролю версій коду, додавання нових наборів інструментів або інструментів для різноманітних аспектів процесу роботи з новими проєктами. Сімейство інструментів Visual Studio 2019 містить IDE, сервіс для організації спільної роботи - Visual Studio Team Services, комплексне рішення для реалізації повноцінного циклу розробки мобільних додатків - Visual Studio Mobile Center, мультиплатформенний редактор коду Visual Studio Code, доступний для Mac, Linux і Windows, а також пробна-версія Visual Studio for Mac. 2.2.5 Елемент Border - це елемент-декоратор, який можна використовувати для малювання кордону, фону або одразу навколо іншого елемента. Оскільки WPF панелі не підтримують малювання рамок навколо своїх кордонів, елемент Border може допомогти вам зробити це просто поміщаючи панель всередину елемента Border. 2.2.6 Клас TextBox дозволяє відображати та редагувати текст без форматування. Найчастіше TextBox використовується для редагування тексту без форматування у формі. Наприклад, форма, яка запитує ім'я користувача, номер телефону і т. д., використовуватиме елементи керування TextBox для введення тексту. У цьому розділі наведено відомості про клас TextBox і наведено приклади його використання як у XAML, так і на C#. 2.3 Опис логічної структури програми Алгоритм комп'ютерної гри складається у визначені виграшу, а саме: - гравець має можливість заповнювати ігрове поле кораблями; - заповнивши поле гравець перевіряє правильність свого розв'язання головоломки; - якщо головоломка розв'язана правильно – гравець отримує повідомлення про це та можливість перепройти рівень; - якщо головоломка розв'язана не правильно – гравець отримає про це повідомлення та продовжує грати; На початку гри програма зчитує з класу розмір ігрового поля, генерується ігрове поле. Гра починається відразу після запуску ігрового таймера. Користувачеві буде показане ігрове поле, з яким він зможе взаємодіяти. В будь-який момент користувач може перевірити чи правильно він розв’язав головоломку. Результат перевірки буде показаний користувачеві в інтерфейсі програми. В разі неправильного виконання головоломки гра продовжиться. Якщо користувач правильно заповнив поле Battleships – гра зупиниться, привітав гравця з успіхом. Якщо користувач захоче пройти уровень знову, таймер почне працювати з початку. Зроблену мною блок-схему можна поділити на три етапи: перший – поведінка програми, до того, як користувач почне грати; другий – розрахунки чи правильно користувач заповнив головоломку та дії відносно цього; третій – поведінка програми при успішному вирішинні головоломки. На рисунку 2.2 наведена діаграма прикладу ігрового процесу. Рисунок 2.2 – Діаграма прикладу ігрового процесу 2.4 Опис фізичної структури програми За результати логічного проєктування (UML діаграми) застосунку генерування UML-діаграми класів CLR-збірки та обраним середовищем розробки (MS Visual Studio 2019) розробляємо програмний проєкт застосунку у редакторі MS Visual Studio 2019, за допомогою шаблону налаштувань проєкту типу - WPF App (.NET). Програмний проєкт складається з залежних файлів типу .XAML та .CS. Зміст файлів проєкту застосунку наведено на рисунку 2.1. Логіка архітектури проєкту застосунку передбачає розробку: - структурованого збереження та обробки графічного представлення блоків класів та ліній між ними, методів обробників подій компонентів форми вікна застосунку, опис яких визначений у файлу: MainWindow.xaml.cs Представлені на UML діаграми класів (див.рис. 2.4, 2.5) Рисунок 2.3 – Оглядач рішення проєкту застосунку Рисунок 2.4 - UML діаграма класів проекту застосунку (частина 1) Рисунок 2.5 - UML діаграма класів проекту застосунку (частина 2) Графічний інтерфейс застосунку представлений однією головною формою. Ескіз головної форми застосунку представлений на рисунку 2.6. Рисунок 2.6 – Ескіз форми застосунку Графічний інтерфейс головної форми (див.рис.2.3) складається з стандартних візуальних компонентів. Перелік застосованих компонентів наведений у таблиці 2.1. Таблиця 2.1 – Компоненти головної форми застосунку
Змінні та методи програми наведені у таблиці 2.2. Таблиця 2.2 - Початок таблиці Змінні та методи програми
Таблиця 2.2 - таблиця Змінні та методи програми
Таблиця 2.2 – кінець таблиці Змінні та методи програми
У головній функції оголошуємо локальні зміні: - static int gridSize – розмір ігрового поля - int cellGap – відстань від комірками - public int cellSize – розмір клітинки - int startX – початкова координата для генерації ігрового поля по осі Х - int startY - початкова координата для генерації ігрового поля по осі Y - CellItem[,] cellList – масив з відповідями користувача - public string[,] circleList – масив для ініціалізації ігрового поля - string[,] answers – відповіді на поточне ігрове поле - DispatcherTimer timer – об’єкт класу DispatcherTimer - public int secondsPlayed – кількість секунд які пройшли за початку гри - Settings settings – об’єкт класу Settings 1 2 |