Программа Клон

Тип работы:
Реферат
Предмет:
Информатика, программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Министерство образования

Російської Федерации

Володимирський політехнічний колледж

Курсової проект предмету

«Объектно-Ориентированное программирование»

Пояснювальна записка

КП ПО-399. 16. 02 ПЗ

Отчет составил:

Рачків Р.В. студент грн. ПО-399

10. 04. 02

Отчет прийняв: викладач Серкин С. Г.

15. 04. 02

Загальноприйнято за оценкой:

Володимир 2002 г.

Запровадження. 1. Общая часть.

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

1.1.1. Название задачи.

1.1.2. Математическое опис задачи.

1.1.3. Требования запропоновані модели.

1.2. Описание мови программирования.

1.2.1. Выбор мови программирования.

2. Специальная часть.

2.1. Описание алгоритмічної модели.

2.1.1. Входные данные.

2.1.2. Выходные данные.

2.2. Цільове призначення процедур і функций.

2.3. Інструкція з виконання программы.

2.4. Повідомлення программы.

3. Список використовуваної литературы.

Заключение.

4. Приложение.

4.1. Схема алгоритма.

4.2. Текст программы.

У двадцять першому столітті широкого розповсюдження набули автоматизація та комп’ютеризація виробництва. Ці процеси полегшують користування та експлуатацію різних технічних наукових і виробничих даних. Комп’ютер полегшує пошук, збереження і експлуатацію різної документації. Зараз кожному виробництві можна зустріти відділи обчислювальних центрів. Вони спеціально навчені люди займаються вивченням і нових програм, які полегшують працю працівникам виробництва. Комп’ютери стали настільки впроваджено у життя й діяльність людини, що використовуються як на виробництві, але й навчання дітей і розвитку людини. Багато навчальні програми носять ігровий характер. Це дає можливість людині не утруднюючи себе придбати ті чи інші навички які в нагоді то жизни.

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

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

Сенс цієї курсового проекту у тому, щоб зробити програму ігрового типу «Клон». Після запуску файла гри з’являється вікно у якому розміщено ігрове полі є клітинне полі (сітку) десять до 10, якого за натисканні на кнопку «Нова гра» чотири кутках з’являються фішки як «мордашек», дві синіх і ще дві червоних, які розташовуються хрест на хрест. У грі беруть участь двоє гравця, кожен гравець повинен зробити за одним ходу. Суть гри у тому, щоб одне із гравців зміг перефарбувати якнайбільше чужих фішок, або у середині гри, або за закінчення гри. Гра закінчується по тому, як у ігровому полі не залишиться фішок одного кольору, або всі полі буде заповнене, тоді з’являється вікно з рахунком червоних, і синіх фішок. Також метою гравця є просчитование кожного ходу у тому, аби дати можливість противнику перефарбувати свої фішки, і тим самим перемогти у цю гру і набрати більше очок, ніж його противник, якщо полі вже заповнене. Ця гра дозволяє користувачеві поліпшити свої розумові здібності, розвинути логічне мислення. Граючи у цю гру може висловити своє перевага над противником, цим довести свою цілеспрямованість. Навчає її швидкої реакцію изменяющиеся умови гри. Гра повністю написана мовою Delphi 6. Delphi-это середовище розробки програм, орієнтованих роботу у Windows. У основі ідеології Delphi лежать технологія візуального проектування й методологія объектно-ориентированного програмування. Для уявлення програми Delphi використовується мову Object Pascal. Середовище Delphi — це складний механізм, який би високоефективну роботу програміста. Delphi — чудовий інструмент, з допомогою якого програміст може створити прекрасний інтерфейс користувача до прикладним програмам найрізноманітніших класів. З іншого боку, Delphi дозволяє працювати із будь-якими базами даних, створювати прикладні програми до роботи з Інтернет, і багато іншого. Delphi — постійно розвиваючись система. Вона надає користувачеві великий спектр можливостей. Скориставшись ними, програміст може створювати різноманітних програми. Навіть такі як игры.

1. Общая часть.

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

1.1.1. Название задачи.

Потрібно створити програму ігрового типу. Ігрова полі є клітинне полі (сітку) десять до 10 (Рис. 1), якого за натисканні на кнопку «Нова гра» чотири кутках з’являються фішки як «мордашек», дві синіх і ще дві червоних, які розташовуються хрест на крест.

Рис. 1 Ігрова поле.

У грі беруть участь двоє гравця, кожен гравець повинен зробити за одним ходу (за умовчанням на початку гри ходять сині фішки, починаючи з другий, всі наступні гри ходи чергуються). Суть гри у тому, щоб одне із гравців зміг перефарбувати якнайбільше чужих фішок, або у середині гри, або за закінчення гри. Кожен гравець може або стрибнути через одну осередок, цим зробивши свій хід, або клацнувши в соседнею осередок він збільшує свої власні шанси перемогти (вставляє у цю осередок свою фішку). Гравці мали бути зацікавленими уважніше у діях та прораховувати свої ходи до дрібниць, інакше його суперник може скористатися його помилкою. Перш ніж ходити фішка спочатку виділяється, та був гравець клацає мишею у тій осередку до якої він хоче, або копіювати, або піднятися (Рис. 2).

Рис. 2 Вигляд гри акторів-професіоналів у начале.

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

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

На розробку гри ми використовували середу розробки Delphi 6, т.к. Україна всі ресурси, методи лікування й об'єкти до створення 32-х розрядних додатків, зокрема та для ігор. На думку для написання програм подібних нашої грі найкраще використати Object Pascal.

1.1.2. Математическое опис задачи.

На початку програми ми оголосили глобальні перемінні Vi, Vj, V2i, V2j типу byte, red і blue целочисленные. Потім рушає опис двох масивів «a» і «b», «а» -целочисленный, який є для записи чисел 0,1 і 2, визначальних порожню клітину, сині і червоні фішки з порядковими номерами і і j, які паралельно застосовують у масиві b типу TRECT, унаслідок чого досягається паралельна робота двох масивів. Перший масив, припустимо записує 1 в осередок а[i, j], а другий масив одночасно записує в ігрове полі малюнок відповідний цьому осередку. Оскільки масив «b» повністю «натягається» на полі, і є квадрат чи прямокутник розбитий на кубики. До кубикам можна звертатися по координатам верхнього лівого кута й нижнього правого кута кубика.

У нашій програмі створено чимало циклів і умов, опишемо лише основні. На початку основний процедури Formmousup описуємо зміну HOD логічного типу, яка служить для реалізації по ходового режиму гри. HOD на початку гри (під час створення форми) істина. Для синіх істина для червоних лож. Отже процедура розбита на два блоку: роботу з синіми і із червоними. Тому опис математичних дій програми можна зробити з першому блоку, т.к. другий идентичный.

Отже, опис першого блоку. Перевіримо якщо HOD істина, то дозволяється ходити синім (для червоних лож), після цього починається вирішення всього блоку, який у часи чергу розбитий на частини. Перша частина робить виділення обраної фішки жовтим кольором (у синіх і червоних однаково). Перевіримо синя ця фішка через масив, тобто. елемент a[i, j] має дорівнювати 1, відразу ж перевіримо ліва чи клавіша натиснута, якщо так, то через масив «b» копіюється на полі жовта фішка і зберігає координати початковій фішки в Vi і Vj для подальшого опрацювання. Якщо натиснута інша клавіша, то назад синяя.

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

Друга частина блоку починається з перевірки на наявність порожній осередки, тобто. якщо a[i, j] одно нулю, вона порожня. Але тут перевіримо ліва чи клавіша натиснута, якщо так, то розпочинаємо розрахунку відстані яким ходитиме фішка. Перевіряємо обрано чи осередок (порожня), до якої ходимо дивитися відстань не далі 3-х осередків, якщо так, ми фішку просто перенесемо, якщо цей період одно 2-му осередків, тобто. початкова стане порожній (a[i, j] одно 0). А обрана синьої (a[i, j] одно 1). І на масивах записуються відповідні значення, після чого Vi і Vj привласнюємо 255-и, що означає, що ні обрано жодна осередок, тобто. завершено хід. Але Якщо ж відстань менша 3-х і 2, то йде копіювання в обрану ячейку.

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

1.1.3. Требования запропоновані модели.

Мінімальні вимоги: будь-яку систему під управління Windows 95 і 16 Кб на диску (exe-файл 528 байт). Рекомендовані вимоги представлені у таблиці 1.

Таблиця 1. Рекомендовані требования.

|Параметри |Значення | |Процесор |Intel Pentium 100 | |Оперативна пам’ять |8 МБ + пам’ять під ОС | |ОС |Windows | |Відео карта |Будь-яка відео карта |

Програма може бути будь-якою дисковом носії, і займатиме різне кількість пам’яті (16 Кб).

Для компіляції програми необхідний пакет Borland Delphi версії 3 і від. Вихідна програма компилировалась на Borland Delphi 6.

1.2. Описание мови программирования.

1.2.1. Выбор мови программирования.

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

Серед користувачів персональних комп’ютерів нині найпопулярніше сімейство операційними системами Windows і, природно, що той, хто хоче програмувати, прагне писати програми, що працюватимуть у тих системах.

Кілька років тому пересічному програмісту залишалося тільки мріяти з приводу створення власних програм, що працюють у середовищі Windows, т.к. єдиним способом розробки був Borland З++ for Windows, явно орієнтований професіонала, які мають серйозними знаннями й опытом.

Бурхливий розвиток обчислювальної техніки, потреба у ефективних засобах розробки програмного забезпечення призвели до появи систем програмування, орієнтованих так звану «швидку розробку», серед яких можна назвати Borland Delphi і MS Visual Basic. У основі систем швидкої розробки (RAD-систем, Rapid Application Development- середовище швидкої розробки додатків) лежить технологія візуального проектування й подієвого програмування, суть якої у цьому, що навколишнє середовище розробки перебирає більшу частину генерації коду програми, залишаючи програмісту роботу з конструювання діалогових вікон та функцій обробки подій. Продуктивність програміста під час використання RAD-систем — фантастическая!

Delphi — це середовище швидкої розробки, у якій як мовою програмування використовується Object Pascal. У основі ідеології Delphi лежить технологія візуального проектування й методологія объектно- орієнтованого подієвого программирования.

Для написання програми ігрового типу «Клон» використана середовище програмування Delphi. Відомо, що найкращим мовою вивчення та освоєння програмування є Паскаль, а кращої у світі системою програмування для MS-DOS — Turbo Pascal. Середовище програмування Delphi продовжила серію Паскаль-ориентированных коштів програмування і з моєму глибоке переконання, є найзручнішим інструментом для Windows-программирования.

Середовище програмування Delphi — це складний механізм, який би високоефективну роботу программиста.

Еволюція технічних засобів персональних комп’ютерів призвела до повсюдному витіснення старої «доброї» ОС MS-DOS значно більше потужними системами Windows, програмування котрим суттєво складніша, ніж програмування для MS-DOS. Розробники систем програмування, і такі корпорації, як Microsoft і Borland, не забарилися випустити відповідні кошти: вже у 1991 року, т. е. відразу після появи Windows 3. 1, Borland випускає Turbo Pascal for Windows, а 1992 — удосконалену версію цією системою програмування — Borland Pascal with Objects 7.0. Ці перші спеціалізовані інструменти вимагали ґрунтовнішого знання Windows і було складні лідера в освоєнні. Та ось 1993 року Microsoft випустила першу візуальну середу програмування Visual Basic, і програмування для Windows стало навіть простіше, ніж програмування для MS-DOS. У відповідь Borland в 1995 року випустила першу версію Delphi, та був, з інтервалом один рік, — ще чотири версії: 2, 3, 4, і п’яти. Нарешті, у середині 2001року чинності випускається версія 6, т. е. майже через 2 року після виходу 5-ї версії. Цю затримку можна пояснити тим, що з роботою над версією Delphi йшла розробка варіанта Delphi для ОС Linux — цю систему програмування вийшла лютому 2001 року й отримав назву Kylix. Через війну 6-та версія Delphi має унікальну особливість: вона може створювати звані межплатформенные докладання, т. е. програми, які однаково успішно можуть працюватиме, як під керівництвом Windows 32, і під Linux.

До появи Kylix єдиними засобами програмування для Linux були системи мовами C/C++, Basic, Fortran. Kylix, а далі - Delphi 6, відкриваються багатющі можливості VCL (варіант якій під Linux/Windows називається CLX — Borland Component Library for Cross- Platform Application) і розробити прикладних програм для Linux, що дозволяє говорити про цю ОС як «про потенційному і дуже небезпечному конкурента Windows.

Дві інші особливості Delphi 6 також гідні особливу увагу: у ній зроблено подальші кроки на підтримку Web-программирования (архітектура WebSnap) і розроблено драйвери і компоненти для максимально швидкої зв’язку клієнтських місць із деякими популярними промисловими серверами баз даних без BDE (компоненти сторінки dbExpress).

Отже, основою ідей Delphi 6 є забезпечення переходу на дорогі патентованих рішень корпорацииMicrosoft до безплатним (чи вводити майже безплатним) рішенням з урахуванням Linux.

2. Специальная часть.

2.1. Описание алгоритмічної модели.

2.1.1. Входные данные.

Ця програма ігрового типу «Клон» не потребує вхідних даних. Гравець просто запускає *. exe-файл й одразу проти нього з’являється вікно у якому розташовується ігрове полі. Спочатку гри потрібно натиснути кнопку «Нова гра». Щоб завершити гру потрібно натиснути кнопку «Q» чи натисканням мишкою на хрестик окна.

2.1.2 Вихідні данные.

Вихідними даними є вікно «Результат» (Рис. 3), що під час заповнення всього поля фішками, як у малюнку представленому ниже.

Рис. 3 Вікно «Результат»

Рис. 4 Повністю забите поле.

2.2 Цільове призначення процедур і функций.

|Название процедури |Параметри |Призначення процедури | | |процедури | | |formmouseup |(Sender: TObject; |Процедура виконує більшість | | |Button: |всіх операцій, перевірок і умов| | |TMouseButton; |в усій програмі, вона є | | |Shift: |основної всієї програми, | | |TShiftState; X, |виконує перевірку натискань лівої | | |Y: Integer) |і правої клавіш миші, в | | | |відповідність до ніж виконує ті | | | |чи операцій, зокрема | | | |копіювання потрібних малюнків | | | |(*. bmp) у потрібний осередок, після | | | |установки потрібного малюнка | | | |виконує перевірку сусідніх | | | |осередків близько встановленого | | | |малюнка, і навіть перевіряє все | | | |поле, на наявність тій чи іншій | | | |ситуації на всьому ігровому полі. | |TForm1. Button1Click |(Sender: TObject)|описывает кнопку «Нова гра», | | | |при натисканні яку, все полі| | | |заповнюється порожніми осередками | | | |(порожніми елементами поля) і з | | | |кутках встановлюються 2-синих і | | | |2-красных фішки, щодо | | | |один одного варті по-діагоналі. | |TForm1. FormCreate |(Sender: TObject)|присваивает елементам масиву | | | |(b: byte) координати осередків поля і | | | |адресу осередки в масиві | | | |сопоставлен осередку на полі. | | | |procedure | | | |TForm1. Button2Click (Sender: | | | |TObject) — при натисканні на кнопку | | | |[?] виводиться інформацію про | | | |програмі на Form2. | |TForm1. Button2Click |(Sender: TObject)|при натисканні на кнопку [?] | | | |виводиться інформацію про програмі | | | |на Form2. | | | | | |TForm2. Button1Click |(Sender: TObject)|на Form2 розташована кнопка | | | |[зрозумів], що закриває вікно | | | |довідки про програму. | |TForm3. BitBtn1Click |(Sender: TObject)|описывает графічну кнопку | | | |[перемога] та на малюнку, яка | | | |закриває Form3. | |TForm4. BitBtn1Click |(Sender: TObject)|описывает графічну кнопку | | | |[перемога] та на малюнку, яка | | | |закриває Form4. | |TForm5. Button1Click |(Sender: TObject)|описывает кнопку, яка | | | |закриває форму повідомлення у тому, | | | |що полі повністю заповнене | | | |(Form5). |

В усіх життєвих названих вище процедурах використовується параметр Sender, який передається в усі оброблювачі подій компонентів Delphi як об'єкт — джерело події та має тип TObject.

2.3 Інструкція з виконання программы.

Для запуску програми необхідно знайти й подвійним клацанням миші натиснути exe-файл. Після запуску програми з’явиться вікно у якому розташовуються клітинне полі десять до 10, кнопка «Нова гра», кнопка «?» — допомогу дітям і кнопка «Q» — вихід. Щоб розпочати гру необхідно натиснути кнопку «Нова гра», після чого на полі чотирьох кутках з’являться фішки дві червоних, і дві синіх друг проти друга, хрест на хрест. Рух фішок полем здійснюється шляхом натискання на ліву праву кнопки миші. Сині фішки пересуваються лівої кнопкою, а червоні правої кнопкою миші. Перш ніж ходити, фішка виділяється жовтим кольором, це що означає, що вона сьогодні ходить, а скасувати виділення можна шляхом натискання на протилежну кнопку миші. Гра «Клон» означає клонування чи розмноження фішок. Фішки можуть ходити тільки у межах двох осередків, в соседнею осередок вони копіюються, а ще через осередок вони стрибають. Перефарбовування відбувається то якщо ми не більше двох осередків навколо фішки стоять чужі, всі вони перефарбовуються. Гра закінчиться тоді, коли на полі залишаться фішки одного кольору або всі полі буде заповнене і тоді видається рахунок червоних, і синіх фішок. Кнопко «?» при натисканні яку з’являється вікно у якому коротенько описано у чому гра. Кнопко «Q» закриває ігрове окно.

2.4 Повідомлення программы.

У процесі роботи програми можлива активізація окон-сообщений:

1. Дане діалогове вікно активізується, коли сині фішки справили «перефарбовування» всіх червоних фішок, усі фінансові операції необхідних цього описаны

2. Дане діалогове вікно активізується, коли червоні фішки справили «перефарбовування» всіх синіх фішок, усі фінансові операції необхідних цього описаны

3. Дане діалогове вікно активізується, коли всі полі заповнене, і нікуди ходити, то виводиться рахунок червоних, і синіх фишек

4. Вікно активізується при натисканні на кнопку [?] - про программе

3. Список використаної литературы.

1. Архангельський А. Я. Delphi 5: «Довідкове пособие»;

2. Фаронов У. У. «Delphi 5: навчальний курс» М: Видавництво «Нолидж»,

1999;

3. В. В. Фаронов «Delphi 6»;

4. М. Культин «Програмування в Turbo Pascal 7.0 і Delphi «;

5. М. Культин «Delphi. Програмування на Object Pascal» — видавництво «БВХ-Петербург», 2001.

Заключение.

Під час створення гри «Клон» ми зазнали додаткових можливостей Delphi. Попри наші сумніви, програма вийшла оригінальної, із гарним користувальницьким інтерфейсом. Звісно, вони можуть допрацьовуватися і поліпшуватися. Ця гра у майбутньому може дуже популярна. Ми подумуємо над мережними можливостями на цю гру, у якому зможуть витрачати час на обідня перерва бухгалтери різних фирм.

Отже, програмування з допомогою середовища Delphi, дало змогу скласти гру «Клон» досить це й швидко. Гра вийшла досить компактній, не вимоглива до ресурсів машини, проста у спілкуванні й розвиває розумові здібності человека.

Середовище програмування Delphi — це складний механізм, який би високоефективну роботу программиста.

Додаток. 4.1 Схема алгоритма.

4.2 Текст программы.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Grids, ExtCtrls, Buttons, Menus, StdCtrls;

type

TForm1 = class (TForm)

Image1: TImage; image3: TImage;

Image2: TImage;

Button1: TButton;

Image4: TImage;

Image5: TImage;

Button2: TButton;

Button3: TButton; procedure formmouseup (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer); procedure Button1Click (Sender: TObject); procedure FormCreate (Sender: TObject); procedure Button2Click (Sender: TObject); procedure Button3Click (Sender: TObject); private

{ Private declarations } public

{ Public declarations } end;

var

Form1: TForm1; a: array [0. 9,0. 9] of byte; b: array [0. 9,0. 9] of trect; vi, vj, v2i, v2j: byte; red, blue: integer; hod: boolean;

implementation

uses Unit2, Unit3, Unit4, Unit5;

{$R *. DFM}

procedure TForm1. formmouseup (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var i, j: byte; ai, aj, a2i, a2j: integer; kol, m, n: integer; begin blue: =0; red: =0; kol: =0; i: =x divx (image1. height); j: =y divx (image1. height);

//---------------------------------------------------------------------- ---------

//При натисканні активна синя фішка (лівої клавіш) if hod=true then

BEGIN if (a[i, j]=1) then begin if button=mbLeft then begin image2. Canvas. StretchDraw (b[i, j], image4. picture. bitmap);

Vi: =i;

Vj: =j; end else begin image2. Canvas. StretchDraw (b[i, j], image1. picture. bitmap); end; end;

//---------------------------------------------------------------------- -------

//Повернення малюнка для синіх фішок if (a[i, j]=0) then if button=mbLeft then begin if (abs (i-vi)=0)and (ai=0)and (m

ПоказатьСвернуть
Заполнить форму текущей работой