- •1 Постановка задачі
- •2 Математична модель та структура програми
- •3 Огляд існуючих рішень
- •3.1 Аналіз аналогічних програм
- •Програма для гри у карткову гру «Дурбецел»
- •Програма для гри у карткову гру «produrak»
- •3.1.3 Підсумковий аналіз розглянутої програми
- •3.2 Використання основних принципів ооп
- •4 Перелік і визначення режимів, опис діалогу
- •5 Структура даних та ресурсів програми
- •6 Опис програми
- •7 Керівництво адміністратора
- •8 Керівництво користувача
- •Список використаних джерел
- •Додаток а – Текст програми
- •Додаток б – Діаграми класів
- •Додаток в – Діаграма агрегацій
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ
«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
Кафедра автоматики та управління в технічних системах
Курсова робота
З дисципліни «Об’єктно-орієнтоване програмування»
На тему: «Підкидний дурень»
Керівник Виконавець
Хмелюк В.С. ст. Айберк С.Е.
«Допущений до захисту» зал. Книжка № ІА-4101
гр. ІА-41
__________________________ _______________________
(Особистий підпис керівника) (Особистий підпис виконавця)
«___» ______________ 2015 р.
Захищений з оцінкою
_________________________
(оцінка)
Члени комісії:
_________________________ ________________________
(Особистий підпис) (Розшифровка підпису)
_________________________ ________________________
(Особистий підпис) (Розшифровка підпису)
Київ – 2015
АНОТАЦІЯ
В курсовій роботі розглядається розробка програми-гри «Підкидний дурень». В пояснювальній записці викладений теоретичний огляд алгоритма і методів, які використовуються у додатку, з описом алгоритмічної і функціональної частини програми. Розроблен зручний для користувача інтерфейс.
Програма, котра була розроблена, дозволяє грати в повноцінну гру «Підкидний дурень» на 1-го гравця проти комп’ютера на двух рівнях важкості. Рівні важкості відрізняються тільки веденням атаки та захисту комп’ютера. Всі алгоритми та інтерфейс програми були реалізовані на мові програмування C# в серидорвищі Microsoft Visual Studio 2012. Дана курсова робота складається з 39 сторінок, містить 15 рисунків та 1 таблицю.
ЗМІСТ
ВСТУП 4
1 ПОСТАНОВКА ЗАДАЧІ 6
2 МАТЕМАТИЧНА МОДЕЛЬ ТА СТРУКТУРА ПРОГРАМИ 7
3 ОГЛЯД ІСНУЮЧИХ РІШЕНЬ 9
3.1 Аналіз аналогічних програм 9
3.1.1 Програма для гри у карткову гру «Дурбецел» 9
3.1.2 Програма для гри у карткову гру «PRODURAK» 10
3.1.3 Підсумковий аналіз розглянутої програми 11
3.2 Використання основних принципів ООП 12
4 ПЕРЕЛІК І ВИЗНАЧЕННЯ РЕЖИМІВ, ОПИС ДІАЛОГУ 16
5 СТРУКТУРА ДАНИХ ТА РЕСУРСІВ ПРОГРАМИ 20
6 ОПИС ПРОГРАМИ 21
7 КЕРІВНИЦТВО АДМІНІСТРАТОРА 22
8 КЕРІВНИЦТВО КОРИСТУВАЧА 23
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 29
ДОДАТОК А – Текст програми 30
ДОДАТОК Б – Діаграми класів 40
ДОДАТОК В – Діаграма агрегацій 41
ВСТУП
Інтернет ще давно став невід'ємною частиною життя будь-якої сучасної людини. В інтернеті можна спілкуватися з друзями, дізнаватися останні новини, робити покупки і звичайно ж грати. Комп'ютерна гра (іноді використовується неоднозначний термін відеогра) - комп'ютерна програма, що служить для організації ігрового процесу (геймплея), зв'язки з партнерами по грі, або сама виступає в якості партнера.
Комп'ютерні ігри часто створюються на основі фільмів та книг; є й зворотні випадки. З 2011 року комп'ютерні ігри офіційно визнані в США окремим видом мистецтва.
Комп'ютерні ігри зробили настільки істотний вплив на суспільство, що в інформаційних технологіях відзначена стійка тенденція до гейміфікації для неігрового прикладного програмного забезпечення.
Перші примітивні комп'ютерні ігри були розроблені в 1950-х і 1960-х роках. Вони працювали на таких платформах, як університетські мейнфрейми і комп'ютери EDSAC.
У 1952 році з'явилася програма «OXO», що імітує гру «хрестики-нулики», створена А. С. Дугласом як частина його докторської дисертації в Кембриджському Університеті. Гра працювала на великому університетському комп'ютері, відомому як EDSAC (Electronic Delay Storage Automatic Calculator).
У 1958 році Вільям Хігінботам, що допомагав будувати першу ядерну бомбу в Брукхейвенської національної лабораторії, для розваги відвідувачів створив «Tennis for Two».
У 1962 році Стів Рассел розробив гру «Spacewar!» Для мінікомп'ютера PDP-1 в Массачусетському технологічному інституті, яка швидко поширилася по всім університетам США.
У 1969 році Ральф Баєр, який пізніше став відомий як «Король відеоігор», запросив патент на ранню версію ігрової консолі «Television Gaming and Training Apparatus». У 1967 році Баєр створив гру пінг-понг, схожу на «Теніс для двох». Разом з Magnavox він працював над створенням першої консолі, названної Magnavox Odyssey в 1972 році.
Розробка ігрових автоматів в 1970-х роках привела до так званого «Золотому віці аркад». Одна з найбільш відомих ігор того часу - «Pong».
Історія комп'ютерних ігор дуже довга і цікава, але я веду до того, що мета моєї курсової роботи створити робочу відеогру, в яку користувачеві буде комфортно грати в будь-який час, маючи при собі комп'ютер. Програма-гра отримала назву «Підкидний дурень», так як призначена для імітації карткової гри з суперником (комп'ютером) на двох рівнях складності.
1 Постановка задачі
Програма призначена для проведення карткової гри з віртуальним суперником, що розвиває логіку та дає можливість відпочити.
Під час виконання курсової роботи планується створити програму, яка має виконувати такі задачі:
реалізація можливості введення особистих даних користувача програми;
реалізація можливості перегляду інформації про програму;
реалізація можливості повторної гри;
реалізація можливості підкидувати, забирати карти або об’явити, що карти можно відправити у «бито»;
реалізація переміщування колоди на початку гри;
реалізація можливості грати на двох рівнях важкості;
організація зручного інтерфейсу для більш легкого й інтуїтивно зрозумілого користування.
2 Математична модель та структура програми
Програма повинна бути орієнтована на будь-якого користувача комп’ютера, також мають бути реалізовані основні функції гри: можливість ходити на суперника, підкидувати йому карти, забирати карти та віддавати.
Ігрове поле карткової гри можна розбити на такі зони: колода, перший гравець (користувач), другий гравець (комп'ютер) і власне ігрове поле, де відбуваються локальні партії між гравцями.
Карти комп'ютера, людини і партії можна представити у вигляді колод з різним способом відображення. Кожна колода складається з карт, тобто карта і є основною одиницею (об'єктом) у грі. Кожна карта являє собою набір параметрів (масть, номінал, координати) і малюнок, який відображається на формі. Малюнок вибирається залежно номіналу і масті карти, а також від того, чи повинна карта бути показана гравцеві чи ні.
Колода являє собою масив карт. Залежно від приналежності колоди вона по-різному промальовується.
Об'єкт гравець містить в собі колоду і функції реагування на події (натискання клавіш).
Комп'ютер містить в собі колоду і методи захисту і атаки в партії.
Як ігрове поле використовується головна форма (Form1), в якій розташовані всі інші елементи. Клас карти (Cards) є основним: у нього є такі параметри як номінал і масть, які й визначають карту.
Відображення карти відбувається за допомогою методу ShowCard, в якому в залежності масті і номіналу створюється шлях до зображення відповідної карти. В клас карти включений елемент типу PictureBox, в якому і відбувається відмальовка зображення.
Клас колоди (Koloda) міститься як сам об'єкт, на формі, так і в складі інших об'єктів, і залежно від свого типу має різну промальовування.
Гра комп'ютера представлена двома рівнями складності, тому, спочатку був зроблений базовий клас (CompMain), а від нього реалізовані два похідних (HComp і LComp), в яких змінювалися тільки методи атаки і захисту.
Оброблювач натиснення клавіш клавіатури зчитує код клавіші і відправляє його об'єкту гравець, в якому залежно від коду реалізується дія. Якщо натиснуті кнопки вліво або вправо — відбувається зміна поточного номера картки. Індикація цього здійснюється шляхом виведення зображення карти на передні план і підведення карти над основним рівнем колоди гравця. Якщо натиснуто пробіл, поточна карта перевіряється на допустимість ходу і віддаляється з колоди гравця, після чого перемальовується в колоді поточної партії. Далі очікується хід комп'ютера, який передає полю номер обраної ним карти. Після кожного ходу відбувається перевірка на умова виграшу тієї чи іншої сторони. Якщо комп'ютер не може побити гравцеві пропонується додати карти. Гравець також може натиснути клавіші: D- взяти, S- бито, A- віддати карти, якщо комп'ютер бере.
Якщо локальна партія закінчується, то за потребою, гравцям додаються карти з колоди. При будь-якій зміні складу колоди, колода перемальовується. Користувач може в будь-який момент вийти з гри або почати нову. На початку гри головна колода перемішується.
