Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Разработка ігровий програми Морський бой

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Донедавна середовище Windows використовувалася переважно як платформа до створення ігор, спочатку розроблених для Macintosh. Це здійснювалося з урахуванням пакета QuickTime фірми Apple. Прикладами таких ігор може бути Mysl (Broderbund/Cyan), Wrath of the Gods (Maxis/Luminaria) і деяких інших. Нерідко використовувався пакет Video for Windows, дозволяє відображати оцифроване відео. Потім з’явилися… Читати ще >

Разработка ігровий програми Морський бой (реферат, курсова, диплом, контрольна)

" ГРА — вид непродуктивною діяльності, мотив якої над його результати, а процесі. У історії людського суспільства перепліталась з магією, культовим поведінкою та інших. … Властива також вищим тваринам " .

Радянський енциклопедичний словарь.

Усі, хто оперує комп’ютером, однак зіштовхувалися з комп’ютерними іграми, і переважна більшість може одразу ж назвати кілька ігор, що їм особливо сподобалися. Ті, хто вже зовсім награвся, майже награвся чи який ще не награвся, але у процесі спілкування з комп’ютером вже почав поєднувати ігри робилися із чимось кориснішим, можливо, хотів би придумати якісь свої, схожі на які інші гри (1).

Багато чого захоплює у тому творчості. Не процес гри, а розробка ігровий всесвіту, її проектування реалізація. Коли злити воєдино сценарій, графіку, музику, майстерно задуманий й уміло запрограмований алгоритм — створити єдиний фантастичний світ, живе за законами, які ти для нього та його придумал.

У цьому курсової роботі йдеться про створенні нескладної ігровий програми «Морський бій», котра бути об'єктом исследования.

У першій главі даної курсової роботи розглядаються аспекти програмування ігор з допомогою візуальних компонентів, у пункті 1.1. наводиться аналітичний огляд ігрового програмного забезпечення, класифікація ігор. У пункті 1.2. наводиться опис компонентів, використовуваних при реалізації практичної частини курсової роботи. У пункті 1.3. демонструються можливості використання візуальних компонентов.

У другій главі наведено етапи розробки програми, такі як завдання, алгоритм реалізації і опис користувальницького интерфейса.

Наприкінці наведено висновки з курсової роботі, гідності й недоліки візуальних методів программирования.

Список використаних джерел містить повний перелік технічної літератури, використаної для написання даної курсової работы.

Додатка містять блок-схемы всіх процедур програми, і текст самої программы.

1. ПРОГРАМУВАННЯ ІГОР З ВИКОРИСТАННЯМ ВІЗУАЛЬНИХ КОМПОНЕНТОВ.

1. Аналітичний обзор

Останнім часом продажу програмного забезпечення збільшуються незначно, тоді як продажу ігрових програм зростають експоненціально. Ігри для платформи Windows становлять переважна більшість. Ігрова програмне забезпечення — це третя за величиною доходів галузь індустрії програмного забезпечення після текстових процесорів і електронних таблиць (1).

Донедавна середовище Windows використовувалася переважно як платформа до створення ігор, спочатку розроблених для Macintosh. Це здійснювалося з урахуванням пакета QuickTime фірми Apple. Прикладами таких ігор може бути Mysl (Broderbund/Cyan), Wrath of the Gods (Maxis/Luminaria) і деяких інших. Нерідко використовувався пакет Video for Windows, дозволяє відображати оцифроване відео. Потім з’явилися бібліотеки WinG і WinToon, з урахуванням яких фірма Sierra створила гру King «p.s Quest VII. Це були перші спроби використовувати Windows як платформу до створення ігрових програм. Переваги такий підхід досить очевидні — єдиний інтерфейс, наявність стандартних драйверів більшість мультимедійних пристроїв і можливість управління ними стандартними способами. Потім з’явилася нова версія — Windows 95, до складу якої було включено бібліотека WinG (як підсистема GDI), і для розробниками відкрилися ширші возможности.

Вказати точну цифру ігор дуже важко. Можна тільки приблизно оцінити число різних найменувань ігор, що є над ринком в час (2).

Класифікація ігор то, можливо наступна: 1. Пригодницькі гри. Ігри може бути чудовим засобом оповідання історії. Ці гри є мультиплицированный розповідь, у якому можна й контролювати основний персонаж (котрий іноді більше) в дуже детальному розповіді. Це — комп’ютерні версії звичайних оповідань, починаючи з жалісливих оповідань до технотриллеров, науково-фантастичних пригод, фантазій і оповідань, вкрай наповнених різними обманами і шахрайствами. Пригодницькі гри розвиваються навколо різних загадок і створення перешкод, потрібно подолати з розвитком оповідання. 2. Фантастичні гри, у яких потрібно грати деяку роль (рольові гри). Їх найкраще з’ясувати, як компьютеризованную версію оповідання Dungeons and Dragons («Підземелля і дракони»), але дію який завжди відбувається у населеному варварами середньовічному світі. Часто воно відбувається у космосі чи будь-яких областях майбутнього. У ці ігри зазвичай потрібно управляти групою персонажів, стаючи з розвитком гри сильніше й розумнішими, і робити деяких інших речі. Також змінюються і вороги. Самі оповідання у іграх цього зазвичай менш докладні, ніж у пригодницьких іграх, з великим упором на завдання побити чудовгщ, ніж вирішити загадки. 3. Імітатори повітряних і космічних боїв. Не військові гри, в яких може бути необмежена кількість над озброєннями й ворогів, ці ігри намагаються бути точними імітаторами польотів і боїв на реальних бойових літаках. Ці гри призначені тим, хто не хоче літати в великих грошей і дуже потужних машинах. Кабіни пілотів виглядають як справжні, інструменти працюють як у справжньому бою, зброю є імітацією реально існуючого, а польотні характеристики літака (і літака ворога) відповідають дійсним. Імітатори космічних боїв вигадані, але вони розроблені з метою точно повторити реальні маневри у космосі. 4. Імітатори наземних і морських боїв. Ігри розроблено для військового устаткування й військових машин. Ця категорія ігор включає у собі симулятори справжніх підводних човнів, кораблів танків, і дозволяє гравцям випробувати реальні сценарії боїв, і вижити у тому, аби зрозуміти, як використовувати правильну тактику у наступному грі. 5. Літаки, потяги та автомобілі. На відміну з посади цих імітаторів, всі інші є імітаторами військового типу або мають дуже сильний упор зроблено на бій. Ці самі гри не ставляться до таких імітаторам. Звісно, можна проїхати автомобілем по берегової дорозі у Каліфорнії зі швидкістю, вдвічі перевищує дозволену, і потанцювати усім чотирьох колесах. Але і можна використовувати ці ігри, щоб навчитися безпечно літати серед хмар, і реально отримувати задоволення волі польоту. Навіть можна зробити такі речі, як на будівництво і управління власної залізницею. 6. Спортивні імітатори. Тут слід навчати професіоналів і управлятимуть. Ці гри — щось більше, аніж простий зображення бейсбольних ігор картинках, деякі з на них можна навіть контролювати реальне дію. Спортивні імітатори дають можливість вести ризиковану гру у потрібний час, довести, що можна виграти з допомогою швидкості, мати у команді Генрі Аарона і Теда Вільямса, чи переграти Томмі Лазорду. 7. Аркадні игры/игры дії. Це класичні «гри дії» — все залежить від цього, як швидко руки можуть смикати джойстик. Зазвичай про неї говорять про безглуздих, нерідко буває. З іншого боку, бувають часи, коли з’явиться потреба дати відпочити мізкам. У частина з цих ігор можна буде гратися з допомогою клавіатури чи миші, і джойстики який завжди необхідні. У чому необ-хідно, то це у швидких рефлексах. 8. Настільні гри, солітер і салонні гри. Багато старі улюблені гри з’явилися торік у комп’ютерному варіанті. Більше немає потрібно працювати пошуками партнера, щоб пограти у шахи, бэкграммон і зростає ризик. Деякі з цих ігор навіть навчать шахраювати віч-на-віч із монітором, і навіть вийде повертатися додому з порожнім кишенею після невдалої ночі. 9. Імітатори реальності («гри акторів-професіоналів у бога»). Це гри, що дозволяють створювати реальний світ із нічого. Це гри, які дозволять створити комп’ютерний світ із начерків, управляти містом, країною і навіть світом. 10. Ігри, у яких робляться гроші. Вони копіюють ігрову діяльність й вчать вищим формам азартних підприємств: фондової біржі, торгівля нерухомістю. Вони також дозволять спробувати управляти корпорацією. У ті гри можна буде гратися для задоволення, або використати бодай їх з тим, щоб навчитися дертися вгору сходами кар'єри. 11. Стратегічні та військові імітатори. Тут може приймати що у великих історичних подіях, прийняти командування німецької армії у Ленінграда чи армією Наполеона у Ватерлоо. Це військові стратегії минулого, справжнього чи майбутнього. 12. Ігри для дітей. Якщо є домашній комп’ютер, і щоб діти навчилися його використовувати, то ці ігри варті уваги. Реальність нашої музичної культури така, що, щойно малята стануть скоординовано настільки, щоб правильно користуватися клавіатурою чи мишею, хочуть відразу взятися за такі ігри, як Wing Commander, Populous чи Eye of the Beholder. Тоді як навколо є безліч ігор, у яких діти можуть грати просто щоб отримати задоволення, або ж навчитися чогось. 13. Ігри «On-line». Було хибним вважати, що це комп’ютерні ігри для IBM PC приходять до нас на дискетах чи CD-дисках, щільно упакованих в гарні пакети. Фактично, весь великий світ ігор доступний і телефоном. Ця категорія ігор відома як «он-лайн» і включає у собі різноманітні гри, які у великих комерційних «он-лайн» мережах та у багатьох локальних мережах типу «дошка оголошень» (bulletin board system — BBS). Для ігор «он-лайн», крім особистого комп’ютера, необхідні модем і кредитна картка. 14. Ігри Shareware. Буде помилкою припустити, що це комп’ютерні ігри майже остаточно дійшли гарних упаковках. Багато хороші гри приходять цілком упаковок, та Нью-Йорка коштують від 10 до 30 доларів. Зазвичай можна їх випробувати за дуже низьку плату чи взагалі безплатно протягом днів і, якщо захочеться отримати легальну копію, слід послати поштою чек компанії чи особі, які створили гру. 15. Класичні гри. Світ PC-игр багато в чому нагадує світ популярної музики і фільмів: створюється багато ігор різних найменувань, деякі стають хітами і тримають популярність у протягом певного часу, інші пропадають. Поступово ці хіти буває важко відшукати, і помалу вони замінюються іншими найкращими іграми. Дуже мало PC-игр живуть понад 2−3 років. З, що справді залишаються, багато настільки хороші, що стають вічними, і вони заслуговують здобуття права у яких грали. Деякі, як Flight Simulator чи King «p.s Quest, оновлюються раз у раз, так що можна розглядати, як практично нові гри. Інші залишаються незмінними, і культурний рівень продажів вони такий, що вони у спілкуванні, але не рекламуються активно їх виробниками. Це гри, які впадають правді в очі, «золоті» гри — класичні PC-игры.

Комп’ютерні гри — зовсім на нове винахід. Їх історія почалася ні з кінця 1970 років. Початок лежить набагато швидше, тоді, коли Джон Кеннеді вже пробув президентом Сполучених Штатів лише кілька місяців (2).

Насправді усе з моделі залізниці. Студенти Технологічного інституту, у Массачусетсі були чимало здивовані кількістю способів, з допомогою яких можна було розмістити керівні органи мініатюрною залізницею. Пізніше, що вони нарешті отримали можливість великих комп’ютерах інституту, їхньої роботи в бінарних обчисленнях — саме такі обчислення імітуються вимикачами залізниці — дозволили їм пройти хорошу підготовку в комп’ютерному деле.

Стів Рассел був однією з членів Клубу Моделей Залізних доріг Високої Технології в Технологічному інституті. Будучи хорошим програмістом, він влітку 1961 року працював у Статистичної лабораторії, коли його та її друзів виникла думка перенести «мильні» науково-фантастичні розповіді Е. Е. Смита на комп’ютери. У 1962 року Стів розробив програму для PDP-1. Ця ж таки машина тепер виставлено в комп’ютерному музеї Бостона в Массачусетському Технологічному институте.

У «Космічної Війні», як називалася цю програму, два синтезованих комп’ютером ракетних космічних корабля (один схожий на товсту сигару, а інший на довгу обтічну трубу) могли літати по екрану, у якому поміщалося зображення космосу. Гравці могли натискати на кнопки, щоб змусити ракети змінювати собі напрямок руху схоже ж, як пізніше у грі Asteroids власники ігрових машин Atari управляли своїми кораблями. Кожна ракета несла у собі 31 торпеду, й те час як вони летіли екраном, гравець міг вистрілити крапочку з носа своєї ракети в напрямі інший. Якщо точка справді пересекала обриси іншого корабля, програма визначала, що торпеда успішно вразила інший корабель і той корабель «вибухав». Підірваний корабель пропадав з екрану й замінявся нагромадженням точок, котрі зображали його остатки.

Звісно, суспільство програмістів і зломщиків програм неспроможна задовольнитися якістю будь-який програми, незалежно від цього, наскільки вона легка або є цікавою. Зміни були неминучими. Одне з друзів програміста, будучи незадоволеним випадково побудованої картою за зоряним небом, яку Рассел спочатку помістив до гри, взяв зоряний атлас примудрився запрограмувати нашу власну галактику, до зірок п’ятої величини. Інший додав гравітацію до гри, а третій ввів можливість втечі в гіперпростір, у своїй, щоб показати місце, де корабель залишив зоряну систему, на екрані залишався слід ускорения.

Навіть Рассел зробив певні зміни. Знаючи, що з справжніх торпед можливість ураження мети не 100%, а менше, вирішив надати зоряним торпедам можливість помилки, і додати випадковий елемент в траєкторії ракет та палестинці час вибуху. Його друзі терпіти було неможливо нова версія, оскільки вони хотіли б мати у грі той самий рівень впевненості, яка була в программировании.

Рассел повернув програму старої версії і зогледілися, як «Космічні війни» окупували комп’ютери коледжів у всій стране.

«Космічні війни» стали настільки популярні до середини шістдесятих, що Нолан Бушнелл, творець Atari, прикипів грі під час навчання в університеті штату Юти. До 1970 року Бушнелл побудував своє власне машину, використавши 185 вбудованих ланцюгів для під'єднання до телевізора і до виконання одній-єдиній функції. Ця функція була грою «Комп'ютерний Космос», варіант «Космічних Війн», у якому ракета боролася з літаючими тарілками замість іншого корабля.

«Космічні Війни» були єдиним попередником комерційних ігор, що з’явилися великих комп’ютерах в коледжах. Якийсь невідомий автор почав витрачати час на гру Star Trek («Зоряний шлях») в шістдесяті роки. Ніхто не знає, хто першим створив таку гру — він чи вона, мабуть, подали б судовий позов, аби авторка гри був точно визначено — але це гра також побачила колледжских комп’ютерах у всій країні до 1969 году.

Гра «Зоряний шлях» як така була дуже витонченої. У грі були лінії на кшталт решіток, що зоряним кораблям подорожувати від однієї точки в іншу, гра використовувала символи для ідентифікації кораблів, надавала чисельну інформацію у відсотках, і дозволяла літати швидше, ніж швидкість світла. На середину 1970;х років майже з кожної домашньої комп’ютерної системі була доступна та чи інша форма на цю гру. Існувала версія тієї ж гри для IBM під назвою Star Fleet («Зоряний Флот»).

Нарешті, варто згадати мабуть найважливішу гру, Adventure («Пригоди»). У грі використовувалися двухсловные команди, ім'я її розробника Вілл Краудер. Це була перша пригодницька комп’ютерна игра.

З іншого боку, наприкінці 70-х було створено гра під назвою Zork, яка стала проста до користувачів домашніх комп’ютерів в 1981 року. Цю гру досі можна. Гра Zork полягає в грі Adventure (2).

2. Опис компонентів, використовуваних при реалізації практичної частини курсової работы.

У практичній частини даної курсової роботи використовуються такі візуальні і невізуальні компоненти (3, 4, 5) середовища програмування Borland Delphi 6.0.

1.2.1. Компонент TMainMenu.

TMainMenu дозволяє помістити головне меню у програмі. При приміщенні TMainMenu на форму це відбувається, як просто іконка. Іконки такого типу називають невидимим (невизуальным) компонентом, оскільки вони невидимі у час виконання програми. Створення меню включає три кроку: 1) приміщення TMainMenu на форму, 2) виклик Дизайнера Меню через властивість Items в Інспектора Об'єктів, 3) визначення пунктів меню в Дизайнері Меню.

Цей компонент доступний з модуля MENUS, і залишається сторінка Палітри компонентів Standard.

Цей компонент представляє головне меню форми і успадковує все методи й властивості TMenu. Особливість у тому, що він реалізований складний механізм об'єднання меню. Це необхідно за такими причинам:

1. Якщо додатку є кілька форм відносини із своїми меню, то тут для спрощення роботи доцільно поєднати їхній за одну й управляти ними меню з головною формы.

2. Об'єднання меню потрібно під час роботи з інтерфейсом MDI та її подокнами.

3. Механізм об'єднання меню використовується серверами OLE, запускаемыми за місцем розташування об'єкта OLE. Загружаясь, сервер дописує здійснювані їм операції до меню іншого приложения.

Щоб реалізувати об'єднання меню, в тих форм, меню яких будуть приєднано до головного, необхідно встановити True властивість: (Рb) property AutoMerge: Boolean.

У цьому в головного меню він повинен залишатися рівним False, інакше головне меню пропускатимуть невидимим. Об'єднання відбуватиметься автоматично при активізації нових форм чи серверів OLE. Крім автоматичного режиму, об'єднання меню можна виконати при виклик методу: procedure Merge (Menu: TMainMenu).

Присоединяемое меню за необхідності то, можливо легко отсоединено викликом методу: procedure Unmerge (Menu: TMainMenu).

При встановленому в True властивості AutoMerge посилання приєднане меню зберігатиметься у спеціальній полі компонента і отсоединяться в потрібних випадках автоматично (наприклад, при закритті форми, якою вона принадлежит).

Об'єднання меню відбувається за спеціальними правилам, основу яких лежить використання групового індексу (властивості Group Index) кожного об'єкта TMenuItem.

У пунктів меню рівня, зокрема всіх підменю верхнього рівня у головному меню, властивість GroupIndex є неубывающим, т. е. у наступного пункту груповий індекс більше або рівний індексу попереднього. Це вимога відстежується як у етапі розробки, і на етапі виконання. Наприклад, нехай пункти меню мають індекси 0, 3, 4, 5, 6. Якщо включити пункт меню з індексом 5 між пунктами з індексами 0 і трьох, то 3 і 4 буде змінено п’ять. І це змінити великої ваги Х менше Y, якщо попереду є пункти з індексом, великим Y, неможливо. Якщо цього прикладі спробувати змінити індекс 6 на виборах 4, це призведе до виникнення виняткової ситуації EMenuError.

Для звичайних форм об'єднання відбувається на верхньому рівні у головному меню під час їхньої активізації. У об'єднаному меню все підменю будуть розташовуватися зі збільшення номери групового індексу, при этом:

1. тоді як присоединяемом меню є пункти з такою самою груповим індексом, що у вихідному, то ми все їх безліч заміняє все багато тих пунктів у вихідному меню;

2. усіх пунктів присоединяемого меню, груповий індекс яких немає є у вихідному, додаються його й вставляються на що відповідатимуть їхнім індексу места.

До вікнам інтерфейсу MDI все сказане стосується лише під час запуску докладання. Якщо формах докладання з дискурсом fsMDIChild є свої основні меню, то ту пору автоматично зіллються з головним меню форми fsMDIForm незалежно стану AutoMerge.

На рівні роботи з серверами OLE передбачені додаткові спроби з об'єднанню меню. Якщо компонент TOLEContainer завантажений об'єкт OLE, то кінець підменю Edit зазвичай додається підменю, з яких можна викликати функції відкриття і редагування цього об'єкта. Після активізації серверу може як вставляти свої підменю на головне, але і додавати нові пункти до існуючих подменю.

Три методу TMainMenu йдуть на роботи з меню OLE:

1. procedure PopulateOle2Menu (SharedMenu: HMenu; Groups: array of.

Integer; var Widths: array of Longint);

2. procedure GetOle2AcceleratorTable (var hAccel: THandle; var numAccels:

Word; Groups: array of Integer) ;

3. procedure Set01e2MenuHandle (Handle: HMENU); 1.2.2. Компонент TLabel.

TLabel служить для відображення тексту на екрані. Можна змінити шрифт і колір мітки, якщо двічі клацнути на властивість Font в Інспектора Об'єктів. Очевидно, що це легко зробити і під час виконання програми, написавши всього одну рядок кода.

Цей компонент доступний з модуля STDCTRLS, і залишається сторінка Палітри компонентів Standard.

Компонент є статичний текст. З допомогою цього компонента на робочої поверхні форми можна відобразити інформацію, зробити пояснення і обіцяв показати назви інших компонентів. Але воно і іншу важливу функцію — тоді як складі тексту TLabel є символиакселератори, інформація про їхнє натисканні може передаватися від TLabel іншому елементу управления.

Властивості компонента наведені у табл.1:

Таблиця 1.

Властивості компонента TLabel.

|Свойство |Опис | |(Pb) property Caption: TCaption; |Містить рядок із виведеним текстом. | |TCaption = string[255]; | | |(Pb) property Alignment: |Встановлює правило вирівнювання | |TAlignment; |тексту — по правому, лівому краю чи з| | |центру клієнтської області. | |(Pb) property AutoSize: Boolean; |Що стосується True відбувається автоматичне| | |приведення розмірів компонента до | | |розмірам тексту і висоті шрифту. | | | | | | | | |Продовження табл.1 | |(Pb) property ShowAccelChar: |Показує, відображається у TLabel | |Boolean; |акселератор (символ, якого | | |стоїть знак амперсанда — «& «). Якщо він | | |одно False, амперсанд неможливо | | |інтерпретується. Що стосується True | | |акселератор виділяється в рядку | | |підкресленням і натискання клавіш | | |+ призводить до передачі | | |фокусу вікна FocusControl (т.к. TLabel | | |сам він не є віконним компонентом). | |(Pb) property FocusControl: |Визначає віконний компонент, якому | |TWinControl; |посилаються повідомлення про введення | | |акселератора. | |(Pb) property Transparent: |Прозорість фону компонента. Якщо | |Boolean; |властивість встановлено в True, то, при | | |перемалюванні елемента управління не | | |відбувається зафарбування клієнтської | | |області. Інакше — | | |відбувається зафарбування пензлем bsSolid | | |і Color. | |(Pb) property WordMrap: Boolean; |Визначає можливість розриву слів в | | |разі, якщо довжина виведеного тексту | | |перевищує ширину компонента. |.

1.2.3. Компонент TPanel.

TPanel — управляючий елемент, схожий на TGroupBox, використовують у декоративних цілях. Щоб використовувати TPanel, просто помістіть його за форму і далі покладіть інші компоненти нею. Тепер при переміщенні TPanel пересуватимуться й інші компоненти. TPanel застосовується також для створення панелі інструментів, і вікна статуса.

Цей компонент доступний з модуля EXTCTRLS, і залишається сторінка Палітри компонентів Standard.

Цей компонент — є несучою конструкцією розміщувати інших елементів управління. На відміну від простий рамки (TBevel) панель сама є віконним елементом управління і батьком всім розміщених на ній компонентів. Часто її використовують із створення панелей інструментів, рядків гніву й т. п.

За зовнішнє оформлення панелі відповідають свойства:

(Pb) property Bevel Inner: TPanelBevel;

(Рb) property BevelOuter: TPanelBevel;

TPanelBevel = (bvNone, bvLowered, bvRaised) ;

(Pb) property BevelWidth: TBevelWidth;

TBevelWidth = 1. Maxint;

(Pb) property BorderWidth: TBorderWidth;

TBorderWidth = 0. Maxint ;

На межах панелі розміщуються дві спеціальні які обмережують рамки (bevels): Bevellnner і BevelOuter. З допомогою комбінації білого і сірого квітів вони імітують тривимірність — піднесеність (bvRaised) чи утопнувленность (bvLowered). Обидві рамки мають ширину BevelWidth. Зовнішня — BevelOuter — міститься за периметром панелі, друга — Bevellnner — всередині з відривом BorderWidth від нього. Обидві може бути невидимими (bvNone), піднятими чи утопленными.

Комбінуючи поєднання bvLowered/bvRaised, можна створити навколо панелі «рів «чи «вал » .

Ілюзію тривимірності може підкреслити також стиль обрамлення компонента:

(Pb) property BorderStyle: TBorderStyle;

TBorderStyle = bsNone. bsSingle;

Значення bsSingle означає, що панель буде облямована чорної лінією одиничної товщини (за периметром, зовні від обох рамок).

Вирівнювання тексту заголовка панелі визначається з допомогою свойства:

(Pb) property Alignment: TAlignment;

Властивість (Pb) property Locked: boolean; призначено визначення способу взаємодії панелі з розміщеними у ньому об'єктами OLE. Якщо він одно True, останні при активізації серверу OLE «за місцем «» що неспроможні замістити панель.

У обработчике події: (Pb) property OnResize: TNotifyEvent; може бути передбачена реакція користувача зміну розмірів панели.

1.2.4. Компонент TBitBtn.

TBitBtn — кнопка на кшталт TButton, проте, попри ній можна розмістити картинку (glyph). TBitBtn має низку визначених типів (bkClose, bkOK і ін), під час виборів яких кнопка приймає відповідний вид. З іншого боку, натискання кнопки на модальном вікні (Form2.ShowModal) призводить до закриттю вікна з певним модальним результатом (Form2.ModalResult).

Цей компонент доступний з модуля BUTTONS, і залишається сторінка Палітри компонентів Additional.

Ця кнопка, будучи нащадком TButton, може нести у собі піктограму і має радий додаткових зручностей використання. У Delphi вже визначено стандартні види кнопок:

(Pb) property Kind: TBitBtnKind;

TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bklgnore, bkAll);

Для кожної їх визначено: рухаючись формі результат (ModalResult):

BitBtnModalResults: array[TBitBtnKind] of TModalResult = (0, mrOk, mrCancel, 0, mrYes, mrNo, 0, mrAbort, mrRetry, mrlgnore, inrAll); і навіть назва й малюнки до різних станів. Досить встановити значення властивості Kind, і кнопка відразу придбає потрібний вид. Понад те, що з видів кнопок при натисканні відразу роблять певні дії. Так, bkHelp здійснює ініціалізацію системи допомоги з своїм (чи найближчим ненульовим батьківським) контекстом. Кнопка виду bkClose закриває форму, якої вона належить, викликаючи її метод Close.

Кнопко буде віднесена до виду bkCustom, якщо она:

1. призначена Default, та заодно не належить безлічі [bkOk, bkYes];

2. призначена Cancel, але з належить безлічі [bkCancel, bkNo];

3. в неї змінена пиктограмма;

4. модальний результат досягнуто не відповідає певному при цьому виду кнопок.

За зовнішній вигляд цієї кнопки відповідають властивості, розглянуті нижче. Стиль зображення кнопок залежно від ОС задається свойством:

(Pb) property Style: TButtonStyle;

TButtonStyle = (bsAutoDetect, bsWin31, bsNew);

Стиль bsNew відповідає Windows 95. У кожному разі коректним буде застосування стилю bsAutoDetect, яка сама розпізнає версію системи. Піктограма кнопки, що із текстом видно їхньому поверхні, визначається свойством:

(Pb) property Glyph: TBitmap;

До сформування ефекту натискання картинка повинна трохи змінюватися в залежність від стану; ще, окрема картинка потрібна для неактивного стану (коли натискання не сприймається). У властивості Glyph мусить бути одна бітова карта, але вона може утримувати картинки відразу для кількох станів кнопки (максимум чотири). Вони інтерпретуються як відповідні нормальному (отжатому), забороненого (неактивному), нажатому і утопленному станам (останнє вживається лише для кнопок TSpeedButton). І тому картинки мають бути розташованими поспіль впритул за горизонталлю. Наприклад, при розмірі картинок 16×16 потрібна об'єднана бітова карта 64×16. Якщо кожна гілка картинок квадратна і ширина загальної картинки нацело ділиться на висоту, то, при присвоєння її властивості Glyph система зможе розпізнати їх і скоригувати кількість, обумовлений свойством:

(Pb) property NumGlyphs: TNumGlyphs ;

TNumGlyphs = 1.4;

При отрисовке залежно стану з великої битовой карти буде використано потрібна часть.

Три властивості визначають розташування тексту й малюнки лежить на поверхні кнопки:

(Pb) property Layout: TButtonLayout;

Спосіб вирівнювання піктограми щодо країв кнопки. Можливо однією з четырех:

TButtonLayout = (biGlyphLeft, biGlyphRight, biGlyphTop, biGlyphBottom);

Відстань від відповідного способу вирівнювання краю кнопки до піктограми описується свойством:

(Pb) property Margin: Integer;

Проміжок між піктограмою і текстом равен:

(Pb) property Spacing: Integer;

Якщо властивості Margin, Spacing чи обидва не задано (за умовчанням рівні -1), значення цих проміжків вибираються системою. Кнопка також має метод Click й властивості Caption, ModalResult, Default і Cancel. Статус Default отримують кнопки видів bkOk, bkYes, a Cancel — кнопки видів bkCancel, bkNo.

1.2.5. Компонент TSpeedButton.

TSpeedButton — кнопка до створення панелі швидкого доступу до командам (SpeedBar). Приклад — SpeedBar зліва Палітри Компонент серед Delphi. Зазвичай дану кнопку поміщається лише картинка (glyph).

Цей компонент доступний з модуля BUTTONS, і залишається сторінка Палітри компонентів Additional.

Ця кнопка із зображенням може мати як залежну, і незалежну фіксацію. Вона зручна до застосування у складі панелей інструментів. Поведінка цих кнопок багато чому визначається свойством:

(Pb) property Grouplndex: Integer;

Якщо Grouplndex нульовий, у кнопки взагалі немає фіксації в нажатом безпечному стані й вона залежить від інших кнопок, що належать до того ж батьківського елементу. Кнопки групи (тобто із однаковим ненульовим значенням Grouplndex) мають залежну фіксацію. Вона також залежить від свойства:

(Pb) property AllowAlIUp: Boolean; яке описує поведінка кнопок групи, саме: чи можуть все кнопки одночасно бути отжаты. Якщо AllowAlIUp одно False (за умовчанням), натиснуту кнопку групи можна відпустити, лише натиснувши іншу. Якщо AllowAlIUp одно True, кнопку можна відпустити повторним нажатием.

Якщо потрібно фіксувати одну кнопку TSpeedButton, їй потрібно привласнити унікальний груповий індекс, а AllowAlIUp встановити True.

Бо у групі що неспроможні одночасно перебувати кнопки з різними значенням цього властивості, при натисканні кнопки і зміні Grouplndex властивість AllowAlIUp «розсилається поважним «(присвоюється) іншим кнопок про те ж значенням Grouplndex. Серед опитаної може бути натиснуто більше кнопки. Визначає, натиснута чи кнопка, свойство:

(Pb) property Down: Boolean;

Це властивість може змінюватися як системою, і програмістом. Наприклад, якщо запуску програми необхідно, щоб одне з кнопок вже була натиснутою, її властивість Down встановлюють в True.

Текст кнопки визначає властивість Caption. Компонент має самі правил і властивості малювання картинки, як і TBitBtn. Вони описуються властивостями Glyph, NumGlyphs, Layout, Margin і Spacing.

Для імітації щиглика передбачено метод Click. Подвійний щиголь для TSpeedButton можлива лише на натиснутою кнопці — він інтерпретується як звичайний. Описується свойством:

(Pb) property OnDblClick;

1.2.6. Компонент TImage.

TImage — відображає графічне зображення на формі. Сприймає формати BMP, ISO, WMF. Якщо картинку підключити під час дизайну програми, вона прикомпилируется до EXE файлу.

Цей компонент доступний з модуля EXTCTRLS, і залишається сторінка Палітри компонентів Additional.

Цей компонент служить надбудовою над класом TPicture і замикає всю ієрархію графічних об'єктів VCL. Він призначений для показу на формі зображення: битовой карти (TBitmap), метафайла (TMetafile), значка (TIcon).

Властивість (Pb) property Picture: TPicture; служить контейнером для графічного об'єкта однієї з перелічених классов.

Як канви використовується канва об'єкта Picture. Graphic — лише якщо полі Graphic називає об'єкт класу TBitmap:

(Pb) property Canvas: TCanvas;

Якщо тут інше, то спроба звернення до властивості викликає виняткову ситуацію EInvalidOperation, оскільки малювати на метафайле чи значку нельзя.

Три наступні властивості визначають, як саме Tpicture міститься у робочої області компонента:

(Pb) property AutoSize: Boolean; — означає, що розміри компонента настроюється за величиною що міститься у ньому графічного об'єкта. Встановлювати їх у True потрібно перед завантаженням зображення з файла чи буфера обмена;

(Pb) property Stretch: Boolean; — якщо це властивість встановлено в True, то зображення «натягається «на робочу область, за необхідності зменшуючи чи збільшуючи свої розміри. Якщо він встановлено в False, то ж виконує функцію таке свойство;

(Pb) property Center: Boolean; — якщо це властивість встановлено в True, зображення центрируется не більше робочої області. Інакше — розташований у її верхньому лівому углу.

1.2.7. Компонент TTimer.

TTimer — таймер, подія OnTimer періодично викликається через проміжок часу, вказаний у властивості Interval. Період часу їх може становити від 1 до 65 535 мс.

Цей компонент доступний з модуля EXTCTRLS, і залишається сторінка Палітри компонентів System.

Цей невизуальный компонент призначений для повідомлення програми про закінченні певних проміжків часу. Компонент инкапсулирует системний таймер Windows й працює через посилку повідомлень WM_TIMER.

Властивість (Pb) property Enabled: Boolean; включает/выключает таймер, впливаючи на генерацію їм подій. Будучи встановлено у Enabled, таймер починає генерувати події OnTimer через інтервал времени.

(Рb) property Interval: Word; який вимірюється в миллисекундах. Після кожного закінчення такого інтервалу ініціюється оброблювач, пов’язані з событием:

(Pb) property OnTimer: TNotifyEvent; У цьому програміст отримує черговий квант времени.

При активізації і деактивизации таймера або зміну інтервалу в системі може вільних таймерів. І тут генерується виняткова ситуація EOutOfResources.

1.2.8. Компонент TStatusBar.

TStatusBar — рядок стану. Призначена розміщувати різноманітних службової інформацією вікнах редагування, зазвичай міститься у нижньої частини основний форми. Компонент може мати кілька секцій, і навіть кнопку зміни розмірів вікна, у якому він поміщений. З компонентом пов’язується об'єкт класу TStatusPanel, що визначає панелі компонента.

Цей компонент перебуває в сторінці Палітри компонентів Win32.

2. РОЗРОБКА ПРОГРАММЫ.

2.1. Постановка задачи.

Розробити ігрову програму «Морський бій», що включає ігрову панель, що складається з цих двох полів в людини і комп’ютера. Поле розставляються 10 кораблів різного класу. Чотири корабля площею одну осередок, три корабля площею дві осередки, два корабля площею три осередки, і тільки корабля площею чотири осередки. По черзі противникам дають можливість пострілу по чужому полю, результати якого відбиваються у ньому. Влучаючи в корабель дають можливість додаткового пострілу. Перемога присуджується гравцю, потопившему все кораблі противника.

Довідкова інформація містить правил гри, версію програми, і автора работы.

2.2. Алгоритм реалізації работы.

2.2.1. Алгоритм реалізації ігровий программы.

Запуск програми здійснюється так: необхідно відкрити папку, що містить цю гру, і знайти виконуваний файл morboy.exe. У цьому файлі слід виконати подвійний щиголь лівої клавіш маніпулятора мышь.

Проект програми складається з файла проекту, що містить необхідні конструкції виспівати, і двох модулів Unit1 і Unit2 (6, 7, 8).

Модуль Unit2 містить форму AboutBox, і призначено висновку вікна, що містить інформацію про й про автора (рис.1).

[pic].

Мал.1. Інформації про программе.

Модуль Unit1 є основним модулем проекту, що містить все необхідних роботи програми процедуры.

Після запуску програми на екран виводиться основна форма Form1 (мал.2), де розташовані такі объекты:

1. Головне меню.

2. Ігрова полі компьютера.

3. Ігрова полі человека.

4. Кнопки підтвердження / скасування хода.

5. Рядок состояния.

[pic].

Рис. 2. Вигляд програми після запуска.

Гра, тобто. робота програми, починається з вибору головному меню пункту «Гра», де міститься підпункт «Нова». Після вибору цього підпункту, чи натискання клавіші F2, відбувається виконання процедури N11Click. Цю процедуру варта розстановки кораблів на ігрових полях випадково (Додаток 1).

Спочатку на форму виводиться повідомлення «Ваш хід» (блок 2). Далі змінним P і t1 присвоюються значення True, і инициализируется генератор випадкових чисел (блок 3). Потім організується цикл з заданим кількістю повторень по перемінної U від 1 до 2 (блок 4). У цьому вся циклі, своєю чергою організуються два вкладених циклу з заданим кількістю повторень, в яких обнуління елементів масиву записи (блоки 5, 6 і аналогічних сім). Після цього виконується операція присвоювання m[u]. k:=20 (блок 8). Це — загальна кількість осередків, яке обіймають усі кораблі одного ігрового поля.

Далі організуються два вкладених циклу, перший із параметром I від 4 до 1 з кроком -1, другий з параметром j від 1 до 5-I з кроком 1 (блоки 9 і десяти). У цих циклах виконується розстановка кораблів випадково. Усередині цих циклів організується іще одна цикл типу «До» з вимогою закінчення циклу t=True (блок 32). У тілі циклу відбувається операція присвоювання t:=true (блок 11), та перевіряється різноманітне умова, чому одно значення висловлювання random (2), сгенерированное випадкове число, нулю чи одиниці. Якщо цей вислів рано нулю (блок 12), відбуватиметься установка корабля за горизонталлю і будуть виконані такі дії: генеруються випадковим чином координати X1 і Y1 (блок 13), організується цикл з заданим числом повторень по перемінної X (блок 14), у якому перевіряється умова нерівності нулю осередки з координатами X, Y1 (блок 15), і якщо це, то перемінної t присвоюється значення False (блок 16).

І, у тому ж циклі перевіряється умова істинності перемінної t. Якщо змінна t=True (блок 17), це відбувається перепустку деяких осередків (блок 18), і установка осередків корабля (значення осередки одно 2) циклічно (блоки 19 і 20). Після цього знову відбувається перепустку деяких осередків (значення їх одно 1) (блок 21). У цьому цикл завершується (блок 14), та перевіряється таке значення висловлювання random (2). Якщо цей вислів одно одиниці (блок 22), це відбувається установка корабля за вертикаллю. Усі що їх дії цієї гілки алгоритму аналогічні вищеописаним, із застосуванням циклів по перемінної Y (блоки 23 — 31).

По виконанні цих дій перевіряється умова закінчення циклу «До» (блок 32), і завершуються два вкладених циклу по змінним I і J (блоки 9 і 10).

Далі, відбувається візуальна розстановка кораблів на ігровому полі людини. І тому організуються два вкладених циклу по змінним I і J зі значеннями від 1 до 10 (блоки 33 і 34). У циклах перевіряється умова заповнення осередки поля клітиною корабля m[1]. a[i, j]=2 (блок 35), і якщо це логічне вираз істинно, то перемінної r присвоюється назва файла, що містить картинку корабля (блок 37), інакше — порожню картинку (блок 36). Далі, з допомогою двох процедур Case1 відбувається промальовування осередків на ігровому полі (блоки 38 і 39).

Останні дії цій процедурі - висновок на панель рядки стану значень кількості пострілів і влучень (блок 40), і навіть відбувається присвоювання змінним наступних значень: tm1:=Time і new:=True.

Процедура Case1, про яку було вказано вище, виконує такі дії (Додаток 2): при зверненні до визначеної осередки ігрового поля людини чи комп’ютера відбувається промальовування осередки спеціальної картинкою, залежно від значення перемінної r. Процедури відбувається множинний вибір, за двозначним номером осередки, і виконується дію завантаження растрового файла в компонент TSpeedButton (блоки 2 — 401).

Потому, й усе корабели були розставлено на ігровому полі, програма очікує спрацьовування кількох событий:

. щиглика лівої клавіш маніпулятора миша по осередки ігрового поля компьютера;

. вибрати з пункту «Гра» головного меню підпункту «Выход»;

. вибрати з пункту «Допомога» головного меню підпункту «Про программе»;

. вибрати з пункту «Допомога» головного меню підпункту «Правила игры».

При описаному першим подію відбувається звернення процедури SpeedButton101Click (Додаток 3). У тілі процедури відразу перевіряється змінна t1. Якщо t1 не дорівнює значенням True (блок 2), то процедура завершує своєї роботи, інакше відбувається присвоєння перемінної P. S імені об'єкта ігрового поля, яким виробляється щиголь, з імені об'єкта видаляється подстрока «SpeedButton», що залишилося номер об'єкта перетворюється на число (блок 3). Після цього перевіряється умова, ділиться це число на 10 із залишком (блок 4). Якщо це, то перемінної J присвоюється значення I- 90 (блок 6), інакше J=I-100 (блок 5). Далі, перевіряється подільність числа J на 10 на всі сто (блок 7). Якщо ця умова виконується, то перемінної U присвоюється значення 10 (блок 9), інакше обчислюється залишок від розподілу перемінної J на 10 (блок 8). Отримане значення перемінної U перевіряється з використанням багатоваріантного вибору, і згідно багатозначно перемінної P. S присвоюється одне з літер російського алфавіту, від До До (блоки 10 — 29). Потім перевіряється умова, був чи щиголь на даної осередку (блок 30), якщо щиглика був, то здійснюється перехід на позитивну гілку алгоритму, у якій, по-перше, здійснюється висновок в осередок картинки, яка б показала зроблений хід (блок 31), по-друге, відбувається висновок над ігровим полем людини коду виробленого ходу (блок 32), і він, перемінної t1 присвоюється значення False, і кнопки підтвердження / скасування ходу стають доступними (блок 33). У цьому процедура завершує свою роботу (блок 34).

При підтвердженні зробленого ходу, тобто. при щиглику на кнопці OK, відбувається виклик процедури BitBtn1Click (Додаток 4), яка виробляє так званий постріл, і згідно з цим, зазначає необхідні осередки ігрових полей.

Після виклику процедури відбувається прирощення перемінної KL на одиницю (блок 2), та перевіряється осередок ігрового поля (блок 3). Якщо осередку є клітина корабля, то виводиться відповідна картинка з допомогою процедури Case1 (блок 4), зменшується лічильник кількості клітин кораблів, і відповідна клітина позначається як використана (значення одно 3) (блок 5). Далі, відбувається перевірка кількості «живих» клітин кораблів. Якщо на цю кількість одно нулю (блок 6), то виводиться повідомлення «Перемога!» (блок 7), змінним P і t1 присвоюється значення False, кнопки підтвердження / скасування ходу стають неактивними (блок 8), і процедуру завершує своєї роботи (блок 19).

Якщо «живих» клітин кораблів не одно нулю (блок 6), то виводиться повідомлення «Потрапив!» (блок 9), і перемінної P присвоюється логічне значення False (блок 10). У цьому відбувається об'єднання цієї гілки алгоритму з гілкою «Ні» блоку умови 3 (порожня клітина), у якій виводиться повідомлення «Промах» (блок 11), відповідна осередок заповнюється необхідним зображенням з допомогою процедури Case1 (блок 12), осередок позначається, як використана (значення одно 3), і перемінної P присвоюється логічне значення True (блок 13).

Далі, перемінної t1 присвоюється логічне значення True, обчислюється результативність P. S (блок 14). На панель 2 рядки стану виводяться значення кількості пострілів, кількості влучень і результативність гравця (блок 15), кнопки підтвердження / скасування ходу стають неактивними (блок 16), та перевіряється значення перемінної p (блок 17). Якщо це значення одно True, це відбувається виклик процедури Komp (блок 18), яка виробляє хід компьютера.

Процедура Komp (Додаток 5) починається із двох вкладених циклів типу «До», у яких обчислюються координати пострілу випадково (блок 2). Після цього перевіряється умова завершення внутрішнього циклу (блок 3). Далі відбувається многовариантная перевірка координати за вертикаллю В1 від 1 до 10, у яких перемінної P. S присвоюється певне значення, лежаче між тим від До До (блоки 4 — 23).

Виводиться код ходу комп’ютера ігрове полем (блок 24), і відповідним чином заповнюється осередок ігрового поля, перемінної PK присвоюється необхідне логічне значення (блоки 25 — 29).

Далі, відбувається прирощення кількості пострілів, обчислюється результативність (P.S) (блок 30), і панель 0 рядки стану виводяться значення кількості пострілів, кількості влучень, і результативність (блок 31).

Потім, перевіряється умова завершення зовнішнього циклу «До» (блок 32), і якщо умова виконується, то процедура завершує своє роботу (блок 33).

При скасування зробленого користувачем ходу, тобто. при щиглику на кнопку NO, відбувається виклик процедури BitBtn2Click (Додаток 6). У цьому процедурі очищається осередок ігрового половіючі жита із допомогою процедури Case1 (блок 2), перемінної t1 присвоюється логічне значення True, і кнопки підтвердження / скасування ходу стають неактивними (блок 3).

У цьому додатку приведено процедура Timer1Timer (Додаток 6), засновану на невізуальному компоненті Timer, і розраховує час гри. Тут, якщо виконується умова new=True (блок 2), то, на панель 1 рядки стану виводиться значення часу гри (блок 3).

Усі процедури перебуває у модулі Unit1, текст якого приведено у додатку 7.

2.2.2. Реалізація довідкової информации.

Довідкова інформація (правил гри) реалізована з допомогою програми Help Development Studio. Ця програма дозволяє створити файл довідкової інформації для Windows, використовуючи текст формату Rich Edit Text. У процесі роботи програмних засобів створюється файл проекту довідки *.hmp, який згодом то, можливо откомпилирован в файл довідки (*.hlp).

У цьому курсової роботі створили файл проекту довідки morboy. hmp, який був откомпилирован з допомогою програми Help Development Studio, Microsoft Help WorkShop, входить до складу Borland Delphi 6.0, і компілятора HcRtf. exe в файл morboy. hlp (рис.6).

2.3. Опис користувальницького интерфейса.

Після запуску програми на екран виводиться основне вікно програми (мал.2). Необхідно викликати головне меню і вибрати із «Гра» підпункт «Нова» (рис.3).

[pic].

Рис. 3. Програма з відкритою головним меню.

Після вибору відбувається розстановка кораблів, і гра починається (рис.4).

[pic].

Рис. 4. Игра.

Гравцеві надається право першого ходу. Хід здійснюється шляхом щиглика лівої кнопкою миші на ігровому полі. Після щиглика клітиною поля на ній з’являється зображення міни (рис.4), і гравцю надається право підтвердити чи скасувати хід з допомогою кнопок OK і No. Після підтвердження в осередку з’являється зображення результату ходу, а нижньої лівої частини вікна з’являється повідомлення про результат: «Потрапив» (рис.4) чи «Промах!». Якщо було зроблено результативний постріл, то гравцю дається право позачергового ходу. Інакше право ходу передається комп’ютера. Перемога присуджується на потоплені кораблі, на цьому гра закінчується (рис.5).

Гарячі клавіші, застосовувані під час роботи программы:

1. Alt+И — Виклик пункту «Гра» головного меню.

2. F2 — Нова игра.

3. F10 — Вихід в систему.

4. Alt+N — Скасування хода.

[pic].

Див. Мал.5. Перемога в игре.

Якщо у процесі гри користувачеві необхідно звернутися до правил, то з допомогою пункту «Допомога» головного меню можна викликати підпункт «Правила гри». Через війну з’явиться вікно довідки, показане на рис. 6.

[pic].

Див. Мал.6. Вікно справки.

ЗАКЛЮЧЕНИЕ

.

У виконання даної курсової роботи було отримано ігровий програмний продукт, під назвою «Морський бій». Було здійснив дослідження компонентів програмної середовища Borland Delphi 6.0, що були під час створення игры.

Через війну дослідження виявлено такі недоліки отриманого програмного продукта:

1. Низький исскуственный інтелект, тобто. хід комп’ютера здійснюється випадково, що робить малоймовірним перемогу компьютера;

2. За повної затопленні корабля це зовсім не отражается;

3. Неможливість повернення сталася на кілька ходів назад;

4. Працездатність докладання лише серед Windows;

5. Неможливість ручний розстановки кораблів игрока.

Проте, крім недоліків, є й світло гідності від цього програмного продукта:

1. Є можливість скасувати не так зроблений хід з допомогою кнопок підтвердження / отмены;

2. Створено інтерактивна довідка правила игры;

3. Програмний продукт малотребователен до системним ресурсів компьютера.

Мінімальна конфігурація: процесор — не нижче Pentium, оперативна пам’ять — не нижче 16 Mb, операційна система — Windows 95 / 98/ Me /.

NT / 2000 / XP.

Через війну обліку всіх зроблених вище зауважень можливе поліпшення створеного програмного продукту, що обійдеться мінімум змін вихідного коду программы.

СПИСОК ВИКОРИСТАНИХ ИСТОЧНИКОВ.

1. Журнал Комп’ютер Пресс, N1, 1996.

2. Дворак Дж. 350 ігор для IBM PC. -С-Пб.:Пергамент, 1994, -318с.

3. Фаронов В. В. Delphi 4. Навчальний курс. -М.: Нолидж, 1999. -447с.

4. Дарахвелидзе П. Г., Марков Е. П. Delphi — середовище візуального програмування. -СПб.:BHV-Санкт-Петербург, 1996. -352с.

5. Епанешников А., Епанешников У. Програмування серед Delphi 2.0.

Навчальний посібник. В. 4-х частинах. Ч.1. Опис середовища. -М.:ДИАЛОГ-МИФИ,.

1997. -235с.

6. Епанешников А., Епанешников У. Програмування серед Delphi 2.0.

Навчальний посібник. В. 4-х частинах. Ч.2. Мова Object Pascal 9.0. -М.:ДИАЛОГ;

МІФІ, 1997. -319с.

7. Фаронов В. В. Турбо Паскаль 7.0. Початковий курс. Навчальне пособие.

-М.:Нолидж, 1997. -616с.

8. Фаронов В. В. Турбо Паскаль 7.0. Практика програмування. Навчальний посібник. -М.:Нолидж, 1997. -432с.

———————————- [pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

Показати весь текст
Заповнити форму поточною роботою