Практична робота №3
Тема: Пуля (Рух одного об`єкту на зустріч іншому та відозміни останнього)
Мета:Створити програму, у якій по Вашій команді зі стволу буде вилітати пуля, попадати у кулю, яка буде розлітатися на багато маленьких частин
Теоретичні відомості
У процесі виконання лабораторної роботи потрібно створити форму, на якій розташувати синю кулю та частину стволу з якого буде вилітати пуля. У середині кулі розташуйте вісім маленьких кульок різного кольору. Також на формі потрібно розташувати кнопку Пуск, за допомогою якої користувач може повторити дії та кнопку Вогонь, при натисканні на яку пуля буде вилітати зі стволу. На формі потрібні ще два таймери. По першому таймеру пуля буде вилітати, а коли вона до кулі долетить, то вона повинна щезнути. Другий таймер керує рухом маленьких кульок. Кульки повинні розлітатись від того місця, у якому вони знаходились, у різні сторони. Для обох таймерів потрібно написати процедури. Також процедура потрібна для кнопок “Пуск” та “Вогонь”. На форму потрібно ще помістити мітку “Бажаєш іще? Жми сюди!”.
У даній лабораторній роботі описано приклад використання навичків організації руху об`єктів на формі для створення програми, було використано демонструючий вистріл, політ пулі та взрив кульки, у яку попадає пуля. У даній лабораторній роботи потрібно використати навички роботи з умовними реченнями.
Звіт по роботі повинний містити теоретичні відомості зі створення проекту, розміщення на формі кнопок, двох таймерів, також написання процедур для таймерів та обробку дій кнопок. У даній лабораторній роботі користувач повинен використати навички роботи з умовним реченням та навички з роботи з розмалювання графічних фігур.
Звіт також повинен утримувати у собі декілька малюнків форм цієї програми – до виконання вистрілу та після нього
Необхідні теоретичні відомості для практичної роботи:
У цій вправі Ви використаєте навички організації руху об`єктів на формі для створення програми, напишете процедури які б демонстрували вистріл, політ пулі та взрив кульки, у яку попадає пуля. У даній лабораторній роботи також потрібно використати навички роботи з умовними реченнями.
По вашій команді зі стовбура вилітає пуля, попадає в кульку, яка розлітається на безліч маленьких частин.
Створіть папку «Пуля». Створіть проект. У Рядку заголовка форми запишіть: “Пуля” (властивість Caption). Дайте формі ім'я: FormPulya (властивість Name). Збережіть модуль і проект під іменами UnitPulya і ProjectPulya у папці «Пуля».
На формі розташуйте велику синю кулю і частину стовбура, з якого буде вилітати пуля. У цьому Вам допоможуть компоненти TShape (фігура). Помістіть на форму велику синю кулю так, щоб горизонтально летюча куля (вона буде вилітати зі стовбура) потрапила в середину кулі рис. 2. Пуля буде летіти ліворуч або праворуч, тому стовбур повинний примикати до лівої границі форми. У середині кулі помістіть вісім маленьких кульок різного кольору. Це будуть маленькі шматочки, на які розлетиться велика куля. У початковий момент на формі будуть видні тільки стовбур і велика куля. Для маленьких кульок у властивості Visible (видимий) виберіть: False (неправда).
Рис. 2. Вікно форми «Пуля»
Щоб створити пулю виконайте наступні дії: Відкрийте текстовий редактор Microsoft Word. На панелі «Малювання» у «Автофігурах» виберіть одну з фігурних стрілок, найбільш схожу на пулю, і помістіть її в документ Word. Скопіюйте фігуру в Буфер обміну.
Поверніться до проекту у середовище програмування Delphi. У розділі меню Tools (Сервіс) знайдіть програму Image Editor (Графічний редактор) і запустіть її. У розділі меню File (Файл) цієї програми виберіть New - Bitmap File (.bmp) (Створити файл малюнка з розширенням.bmp). Коли відкриється вікно з порожньою заготівлею малюнка, у розділі меню Edit (Виправлення) виберіть команду Paste (Вставити). У заготівлі з'явиться зображення кулі, вставлене туди з Буфера обміну. Зафарбуйте саму кулю в сірий колір, а контур зробіть радикально чорним. Збережіть малюнок у папці «Пуля» під ім'ям «Пуля».
Помістіть на форму компонент TImage (Зображення). Зробивши подвійного щиглика на ньому, виберіть збережений у папці «Пуля» малюнок. У властивості Stretch (розтягання) для об'єкта Imagel виберіть значення: True (істина), для того щоб малюнок цілком розмістився в рамці. Розмістіть кулю і стовбур на формі так, щоб кулю не було видно за стовбуром. Для цього клацніть на об'єкті Imagel правою кнопкою миші і виберіть команду: Send to Back (на задній план). Запустіть проект і переконайтеся, що усе працює нормально.
Пуля по Вашій команді повинна вилетіти зі стовбура і долетіти до кулі. Коли пуля торкнеться кулі, вона повинна зникнути.
Кнопка з назвою «Вогонь» і 1-й таймер допоможуть Вам у цьому. Створіть кнопку і таймер, виключіть таймер. Додайте на форму кнопку «Пуск», ще один таймер і напис: «Хочеш ще? Жми сюди!».
Запишіть у тілі процедури кліка на кнопці «Вогонь» наступні оператори:
BitBtn2.Visible:=False; // кнопка зникає
Tiner.Enabled:=True; // включається 1-й таймер
Timerl.Interval:=10; // інтервал 1-го таймера; включений 1-й таймер працює відповідно до наступної процедури:
procedure TFormPulya.TimerITimer(Sender: TObject);
begin
if Imagel.Left>=Shapel.Left-Imagel.Width then
// перевірка умови
begin
Imagel.Visible:=False; // пуля зникає
Timer2.Enabled:=True; // включається 2-й таймер Timeг2.Interval:=10; // інтервал 2-го таймера Shapel.Visible:=False; // пуля зникає
Tirnerl .Enabled: =False; // виключається 1-й таймер
end
else
Imagel.Left:=Imagel.Left+10; //пуля рухається вправо
end;
Другий таймер керує рухом маленьких кульок. Кульки розлітаються від того місця, у якому вони знаходилися, у різні сторони. Коли вони досягають визначеної відстані від цього місця, вони стають невидимими і займають первісне положення. От як це описується в процедурі для 2-го таймера:
procedure TFormPulya.Timer2Timer(Sender: TObject);
begin
if Shape2.Left>=460 then
// перевірка умови для однієї з кульок
begin // щоб вона не полетіла дуже далеко
Shape2.Visible =False
Shape3.Visible =False
Shape4.Visible =False
Shape5.Visible =False // кульки зникають
Shape6.Visible =False
Shape7.Visible =False
Shape8.Visible=False
Shape.9.Visible =False
Labell.Visible =True; // з'являється запис Bbt_Pusk.
Visible:=True; // з'являється кнопка "Пуск"
Timer2.Enabled =False // виключається 2-й таймер
Shape2.left:=380;
Shape2.Top:=190;
Shape3.left:=380;
Shape3.Top:=190;
Shape4.1eft:=380;
// кульки повертаються на колишнє місце
Shape4.Тор:=190;
Shape5.left:=380;
Shape5.Top:=190;
Shape6.left:=380;
Shape6.Top:=190;
Shape7.left:=380;
Shape7.Top:=190;
Shape8.left:=380;
Shape8.Top:=190;
Shape9.1eft:=380;
Shape9.Top:=190;
end
else
//якщо умова не виконується (кулька полетіла далеко),:
begin
Shape2.Visible =True
Shape3.Visible =True
Shape4.Visible -True
Shape.5Visible =True
Shape6.Visible =True // кульки видимі
Shape7.Visible =True
Shape8.Visible =True
Shape9.Visible =True
Shape2.Left:=Shape2.Left + 7;
Shape3.Left:=Shape3.Left-7;
Shape4.Top:=Shape4.Top+7;
Shape5.Top:=Shape5.Top-7;
// кульки рухаються в різні сторони
Shape6.Left:=Shape6.Left-5;
Shape6.Top:=Shape6.Top+5;
Shape7.Left:=Shape7.Left+5;
Shape7.Top:=Shape7.Top+5;
Shape8.Left:=Shape8.Left-5;
Shape8.Top:=Shape8.Top-5;
Shape9.Left:=Shape9.Left+5;
Shape9.Top:=Shape9.Top-5;
end;
end;
Після закінчення «вибуху» стає видимим запис: «Хочеш ще? Жми сюди!» і кнопка «Пуск». Ця кнопка робить себе і запис невидимими, запускає 1-й таймер, робить видимимою пулю і кулю, і поміщає кулю в початкове положення:
procedure TFormPulya.bbtPuskClick(Sender: TObject);
begin
Labell.Visible:=False;
bbtPusk.Visible:=False;
Timerl.Enabled:=True;
Timer1.Interval:=l;
Image1.Visible:=True;
Shape1.Visible:=True;
Imagel.Left:=0;
end;
Усі процедури написані. Тіло форми зробіть чорним. Тепер можна і постріляти.
Контрольні питання:
1. Охарактеризуйте ідентифікатори мови Delphi.
2. Охарактеризуйте типи даних мови Delphi.
3. Опишіть процес використання процедур.
4. Опишіть процес використання функцій.
5. Охарактеризуйте керуючі структури мови Delphi.
6. Опишіть оператор шрифту відображення тексту в компонентах Font.
АУДИТОРНЕ ЗАНЯТТЯ
ЗМІСТОВИЙ МОДУЛЬ 3: МАСИВИ. ЗАПИСИ ТА МНОЖИНИ
ТЕМА 3.4: МНОЖИНИ
Дата добавления: 2014-12-01; просмотров: 897;