Міністерство освіти України
Національний університет «Львівська політехніка»
Кафедра автоматизованих систем управління
Розрахункова робота
з курсу
«Об'єктно-орієнтоване програмування»
Створити проект Delphi для побудови рухомих графічних зображень. Основні елементи зображення розглядати як об’єкти класів, які необхідно ввести та описати. Рух або зміну об’єктів реалізувати за допомогою відповідних методів класів. Рух більшості об’єктів здійснюється зліва направо, а тоді повторюється або змінює напрямок. Програма має реагувати на керуючі клавіші: 1) для видачі підказки; 2) для зупинки (паузи) та продовження руху; 3) старт із початкового стану; 4) збільшення-зменшення об’єкта; 5) уповільнення-прискорення руху; 6) завершення програми.
Примітка. Опис класів та реалізацію методів виконати в окремому програмному модулі.
Індивідуальне завдання
Дерево росте
Текст програми:
unit lb3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,unit1;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
three1:Tthree;
implementation
uses lb3_1;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
with Canvas do { ïðàöþºìî ç âëàñòèâ³ñòþ Canvas êëàñó TForm } begin
//ochushchennya
PatBlt(Form1.Canvas.Handle, 0, 0,
Form1.ClientWidth, Form1.ClientHeight, WHITENESS);
Pen.Color := clBlack; { ñòâîðèòè ñèíº ïåðî }
Brush.Color := clBlack; { ñòâîðèòè æîâòèé ïåíçåëü }
three1:=Tthree.Create;
three1.up(Form1.Canvas);
end;
end;
end.
unit unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls;
type Tthree = class(TObject)
xr,yr:integer;
xs,ys,yr1,yz:integer;
procedure up(c:tcanvas);
end;
implementation
procedure Tthree.up(c:Tcanvas);
begin
with c do begin
xr:=0;
yr:=0;
xs:=0;
ys:=0;
yz:=0;
while (xr<100) do
begin
sleep(45);
yr:=yr+20;
xr:=xr+3;
yr1:=yr1+18;
xs:=xs+6;
ys:=ys+3;
yz:=yz+4;
brush.Color := RGB(128,64,0);
rectangle(255-xr,600-yz,265+xr,650);
brush.Color := clgreen;
ellipse(245-xs,590-yr1,275+xs,610-ys);
end;
end;
end;
end.
Висновок: я створив проект Delphi для побудови рухомих графічних зображень. Рух і зміну об’єктів реалізував за допомогою відповідних методів класу.