Курсовая работа: Застосування BORLAND C++ BUILDER для створення ігрових програм
Курсовая работа: Застосування BORLAND C++ BUILDER для створення ігрових програм
Міністерство освіти
науки України
Закарпатський
державний університет
ФАКУЛЬТЕТ ІНФОРМАТИКИ
КАФЕДРА ІНФОРМАЦІЙНИХ УПРАВЛЯЮЧИХ
СИСТЕМ ТА ТЕХНОЛОГІЙ
Реєстраційний №________
Дата ___________________
КУРСОВА РОБОТА
Тема:
Застосування BORLAND C++ BUILDER для
створення ігрових програм
Рекомендована до захисту
“____” __________ 2008р.
Робота захищена
“____” __________ 2008р.
з оцінкою
_____________________
Підписи членів комісії
Зміст
Вступ
Теорія
Практична частина
Висновки
Література
Вступ
Новітня система об‘эктно - орієнтованого
програмування C++ Builder виробництва корпорації Borland призначена для
операційних систем Windows 95 та NT. Інтегроване середовище C++ Builder
забезпечує швидкість візуальної розробки, продуктивність повторно
використовуваних компонентів у сполученні з міццю мовних засобів C++,
удосконаленими інструментами та різномасштабними засобами доступу до баз даних.
C++ Builder може бути використаний скрізь, де потрібно доповнити існуюч
додатки розширеним стандартом мови C++, підвищити швидкодія та додати
користувальницькому інтерфейсу якості професійного рівня.
Задачею нашої роботи, буде розробка
простої ігрової програми “О счасливчик” з використанням дано мови програмування
(Borland C++ Builder). В теоретичній частині наведемо основні відомості про
нструмент розробки ігрового проекту.
Теорія
Застосування BORLAND C++ BUILDER
для створення ігрових програм
Borland C++ Builder - випущене
недавно компанією Borland засіб швидкої розробки проектів, що дозволя
створювати проекту мовою C++, використовуючи при цьому середовище розробки та
бібліотеку компонентів Delphi. У даній частині роботи розглядається середовище
розробки C++ Builder та основні прийоми, застосовувані при проектуванн
користувальницького інтерфейсу.
Середовище
розробки C++ Builder
C++ Builder являє собою SDI-додаток, головне вікно якого
містить інструментальну панель, що набудоване (ліворуч) і палітру компонентів
(праворуч). Крім цього, при запуску C++ Builder з'являються вікно інспектора
об'єктів (ліворуч) і форма нового проекту (праворуч). Під вікном форми проекту
перебуває вікно редактора коду.
Рис.1. Середовище розробки C++ Builder
Форми є основою
проектів C++ Builder. Створення користувальницького інтерфейсу проекту поляга
в додаванні у вікно форми елементів об'єктів C++ Builder, називаних
компонентами. Компоненти C++ Builder розташовуються на палітрі компонентів,
виконаної у вигляді многостранічного блокнота. Важлива особливість C++ Builder
полягає в тому, що він дозволяє створювати власні компоненти та набудовувати
палітру компонентів, а також створювати різні версії палітри компонентів для
різних проектів.
Компоненти
C++ Builder
Компоненти розділяються на видимі (візуальні) і невидим
(невізуальні). Візуальні компоненти з'являються під час виконання точно так
само, як і під час проектування. Прикладами є кнопки та редагують поля, що.
Невізуальні компоненти з'являються під час проектування як піктограми на формі.
Вони ніколи не видні під час виконання, але мають певну функціональність
(наприклад, забезпечують доступ до даних, викликають стандартні діалоги Windows
95та ін.)
Рис. 2. Приклад використання видимих і невидимих компонентів
Для додавання
компонента у форму можна вибрати мишею потрібний компонент у палітрі та
клацнути лівою клавішею миші в потрібнім місці проектованої форми. Компонент
з'явиться на формі, і далі його можна переміщати, міняти розміри та інш
характеристики.
Кожен компонент C++
Builder має три різновиди характеристик: властивості, події та методи.
Якщо вибрати компонент
з палітри та додати його до форми, інспектор об'єктів автоматично покаже
властивості та події, які можуть бути використані з тім компонентом. У верхній
частині інспектора об'єктів є список, що випадає, що дозволяє вибирати
потрібний об'єкт із наявних на формі.
Рис.3. Інспектор об'єктів
Властивост
компонентів
Властивості є атрибутами компонента, що визначають його
зовнішній вигляд і поводження. Багато властивостей компонента в колонку
властивостей мають значення, яке встановлюється за замовчуванням (наприклад,
висота кнопок). Властивості компонента відображаються а сторінці властивостей
(Properties). Інспектор об'єктів відображає опубліковані (published)
властивості компонентів. Крім published-властивостей, компоненти можуть
найчастіше мають загальні (public), опубліковані властивості, які доступн
тільки під час виконання проекту. Інспектор об'єктів використається для
установки властивостей під час проектування. Список властивостей розташовується
на сторінці властивостей інспектори об'єктів. Можна визначити властивості під
час проектування або написати код для видозміни властивостей компонента під час
виконання проекту.
При визначенн
властивостей компонента під час проектування потрібно вибрати компонент на
формі, відкрити сторінку властивостей в інспекторі об'єктів, вибрати обумовлена
властивість і змінити його за допомогою редактора властивостей (це може бути
пусте поле для уведення тексту або числа, що випадає список, що розкривається
список, діалогова панель і т.д.).
Події
Сторінка подій (Events) інспектори об'єктів показує список
подій, розпізнаваних компонентом (програмування для операційних систем із
графічним користувальницьким інтерфейсом, зокрема, для Windows 95 або Windows
NT пре думає опис реакції проекту на ті або інші події, а сама операційна
система займається постійним опитуванням комп'ютера з метою виявлення настання
якої-небудь події). Кожен компонент має свій власний набір оброблювачів подій.
В C++ Builder варто писати функції, називані оброблювачами подій, і зв'язувати
події із цими функціями. Створюючи оброблювач тої чи іншої події, ви доручаєте
програмі виконати написану функцію, якщо ця подія відбудеться.
Для того, щоб додати
оброблювач подій, потрібно вибрати на формі за допомогою миші компонент, якому
необхідний оброблювач подій, потім відкрити сторінку подій інспектори об'єктів
двічі клацнути лівою клавішею миші на колонку з поруч із подією, щоб змусити
C++ Builder згенерувати прототип оброблювача подій і показати його в редактор
коду. При цьому автоматично генерується текст порожньої функції, і редактор
відкривається в тім місці, де варто вводити код. Курсор позиціюється усередин
операторних дужок { ... }. Далі потрібно ввести код, що повинен виконуватися
при настанні події. Оброблювач подій може мати параметри, які вказуються після
мені функції в круглих дужках.
Рис.4. Прототип оброблювача подій.
Методи
Метод є функцією, що пов'язана з компонентом, і яка
оголошується як частина об'єкта. Створюючи оброблювачі подій, можна викликати
методи, використовуючи наступну нотацію: ->, наприклад:
Edit1->Show();
Відзначимо, що при створенні форми пов'язані з нею модуль
заголовний файл із розширенням *.h генеруються обов'язково, тоді як при
створенні нового модуля він не зобов'язаний бути пов'язаний з формою
(наприклад, якщо в ньому втримуються процедури розрахунків). Імена форми та
модуля можна змінити, причому бажано зробити це відразу після створення, поки
на них не з'явилося багато посилань в інших формах і модулях.
Менеджер
проектів
Файли, що утворять додаток – форми та модулі - зібрані в
проект. Менеджер проектів показує списки файлів і модулів проекту та дозволя
створювати навігацію між ними. Можна викликати менеджер проектів , вибравши
пункт меню View/Project Manager. За замовчуванням знову створений проект
одержує ім'я Project1.cpp.
Рис.5. Менеджер проектів
За замовчуванням проект
спочатку містить файли для однієї форми та вихідного коду одного модуля. Однак
більшість проектів містять кілька форм і модулів. Щоб додати модуль або форму
до проекту, потрібно клацнути правою кнопкою миші та вибрати пункт New Form з
контекстного меню. Можна також додавати існуючі форми та модулі до проекту,
використовуючи кнопку Add контекстного меню менеджера проектів і вибираючи
модуль або форму, яку потрібно додати. Форми та модулі можна видалити в
будь-який момент протягом розробки проекту. Однак, через те, що форма зв'язан
завжди з модулем, не можна видалити одне без видалення іншого, за винятком
случаючи, коли модуль не має зв'язку з формою. Видалити модуль із проекту
можна, використовуючи кнопку Remove менеджера проектів.
Якщо вибрати кнопку
Options у менеджері проектів, відкриється діалогова панель опцій проекту, у
якій можна вибрати головну форму проекту, визначити, які форми будуть
створюватися динамічно, які параметри компіляції модулів (у тому числ
створених в Delphi 2.0, тому що C++ Builder може включати їх у проекти)
компонування.
Рис. 6. Установка опцій проекту
Важливим елементом
середовища розробки C++ Builder є контекстне меню, яке з‘являється при
натисканні на праву клавішу миші та дозволяє швидкий доступ до найбільше часто
використовуваних команд.
Зрозуміло, C++ Builder
має убудовану систему контекстно-контекстно-залежної допомоги, доступної для
будь-якого елемента інтерфейсу та довідкової інформації, що є великим джерелом,
про C++ Builder.
Створення
проектів у З++ Builder
Першим кроком у розробці проекту C++ Builder є створення
проекту. Файли проекту містять згенерований автоматично вихідний текст, що ста
частиною проекту, коли воно скомпільовано та підготовлене до виконання. Щоб
створити новий проект, потрібно вибрати пункт меню File/New Application.
C++ Builder створю
файл проекту з ім'ям за замовчуванням Project1.cpp, а також make-файл із ім'ям
за замовчуванням Project1.mak. При внесенні змін у проект, таких, як додавання
нової форми, C++ Builder обновляє файл проекту.
Рис.7 Файл проекту
Проект або додаток
звичайно мають кілька форм. Додавання форми до проекту створює наступн
додаткові файли:
·
Файл
форми з розширеням.DFM, що містить інформацію про ресурси вікон для
конструювання форми
·
Файл
модуля з розширеням.CPP, що містить код на C++.
·
Заголовний
файл із розширенням .H, що містить опис класу форми.
Коли ви додаєте нову форму, файл проекту автоматично
обновляється.
Для того щоб додати
одну або більше форм до проекту , виберіть пункт меню File/New Form. З'явиться
порожня форма, що буде додана до проекту. Можна скористатися пунктом меню
File/New, вибрати сторінку Forms і вибрати підходящий шаблон з репозиторія
об'єктів.
Рис.8 Шаблони форм
Для того, щоб просто
відкомпілювати поточний проект, з меню Compile потрібно вибрати пункт меню
Compile. Для того, щоб відкомпілювати проект і створити виконує файл, що, для
поточного проекту, з меню Run потрібно вибрати пункт меню Run. Компонування
проекту є інкрементним (перекомпілюються тільки модулі, що змінилися).
Якщо при виконанн
проекту виникає помилка часу виконання, C++ Builder робить паузу у виконанн
програми та показує редактор коду з курсором, установленим на операторі, що
джерелом помилки. Перш ніж робити необхідну корекцію, варто запустити знову
додаток, вибираючи пункт меню Run з контекстного меню або з меню Run, закрити
додаток і лише потім вносити зміни в проект. У цьому випадку зменшиться
ймовірність втрати ресурсів Windows.
Приклад:
створення найпростішого проекту
Тепер спробуємо створити найпростіший додаток, що дозволя
вводити текст у редагує поле, що, і додавати цей текст до списку при натисканн
мишею на кнопку. Виберемо пункт меню File/New Application для створення
проектутазбережемо його головну форму під ім'ям samp1.cpp, а сам проект під
м'ям samp.mak. Помістимо на форму компонента Button, EditтаListBox зі сторінки
Standard палітри компонентів.
Рис. 9. Розміщення компонентів на формі
Після цього виберемо на
формі компонентів Edit і видалимо поточне значення властивості Text. Потім
установимо властивість Caption для Button1 рівним "Додати".
Щоб додати оброблювач
події OnClick для кнопки Додати, потрібно вибрати цю кнопку на формі, відкрити
сторінку подій в інспекторі об'єктів і двічі клацнути мишею на колонку праворуч
від події OnClick. У відповідному рядку уведення з'явиться ім'я функції. C++
Builder згенерує прототип оброблювача подій і покаже його в редакторі коду.
Після цього варто ввести наступний код в операторні дужки { ... } тіла функції:
Для компіляції проекту в меню Run виберемо пункт Run. Тепер
можна що-небудь увести в редагує поле, що, нажати мишею на кнопку Додати та
переконатися, що вводять строки, що, додаються до списку.
Рис.10. Так виглядає готовий додаток.
Тепер модифікуємо
додаток, додавши кнопки Видалити та Вихід. Для цього додамо ще дві кнопки,
змінимо їхню властивість Caption і створимо оброблювачі подій, пов'язаних з
натисканням на ці кнопки:
Збережемо та скомпілюємо додаток, а потім протестуємо його.
Отже, ми познайомилися
з середовищем розробки Borland C++ Builder і створили простий додаток.
Практична частина
Результатом нашої роботи є ігровий проект програми “О
счасливчик”. Зауважимо лише, що для спрощення робити нами був реалізований лише
текстовий інтерфейс взаємодії з користувачем (це було зроблено для економ
часу). Впринципі загальна схема та алгоритм роботи програми достатньо простий
не потребує особливих коментарів.
Вся програма містиця в одному текстовому блоці prg.txt
[дивись дискету] (лістинг 1).
Лістинг 1.
#include<stdio.h>
#include<conio.h>// Header Files
#include<graphics.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
// Inputs:void game()
void menu()
int question()
void contend()
void rules()
#include<stdio.h>
#include<conio.h>// Header Files
#include<graphics.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
#define n 10
#define NULL 0
int flag, take, choice;
char name[20][50];
void menu()
{
clrscr();
printf("\n\n WELCOME TO WHO'LL BE A
MILLIONAIRE "
"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"
"\n\n\t $$$$$$$$$$$$$$$$$$$$$ MAIN
MENU $$$$$$$$$$$$$$$$$$$$ "
"\n$ $ "
"\n$ $ "
"\n\t $ Choice 1 : READ THE RULES OF
THE GAME$ "
"\n$ $ "
"\n\t $ Choice 2 : ENTER THE NAME'S
OF 10 CONTENDERS $ "
Скрін 1. Загальний текстовий інтерфейс ігрової програми
Скрін 2. Початок гри
Скрін 3. Етапи гри (варіанти відповідей)
Висновки
В роботі були проаналізовані питання відносно теоретично
основи побудови програм з простим інтерфейсом користувача а також проблеми, як
виникають при цьому. Результатом цього є програма (ігрова) яка реалізує просту текстову
нтерфейсну гру “О счасливчик”.
Програма відрізняється від існуючих на ринку простотою
нтерфейсу і настроювань.
Література
[1] Касаткин А.И., Вальвачев А.Н.
Профессиональное прогрпммирование на языке Си. Мн., 1992. 240 С.
[2] Бруно Бабэ. Просто и ясно о
Borland C++. М., 1996. 400 С.
[3] Справочник по классам Borland
C++ 4.0. К., 1994. 256 С.