Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра автоматизованих систем управління

Інформація про роботу

Рік:
2011
Тип роботи:
Розрахункова робота
Предмет:
Об’єктно-орієнтоване програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти України Національний університет «Львівська політехніка» Кафедра автоматизованих систем управління  Розрахункова робота з курсу «Об'єктно-орієнтоване програмування» Завдання Створити проект Delphi для побудови рухомих графічних зображень. Основні елементи зображення розглядати як об’єкти класів, які необхідно ввести та описати. Рух або зміну об’єктів реалізувати за допомогою відповідних методів класів. Рух більшості об’єктів здійснюється зліва направо, а тоді повторюється або змінює напрямок. Програма має реагувати на керуючі клавіші: 1) для видачі підказки; 2) для зупинки (паузи) та продовження руху; 3) старт із початкового стану; 4) збільшення-зменшення об’єкта; 5) уповільнення-прискорення руху; 6) завершення програми. Примітка. Опис класів та реалізацію методів виконати в окремому програмному модулі. Індивідуальне завдання Стрибок із трампліна. Текст програми: Lb3.pas unit lb3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Car; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; car1:TCar; implementation uses lb3_1; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var n, x, y,g1,yp:integer; Fi:real; t,r,g,yzz: double; xr,yr:integer; xz,yz,k: integer; m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12:integer; n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12:integer; k1,k2,k3,k4,l1,l2,l3,l4:integer; x0,y0:integer; mn1,mn2,mn3,mn4,mn5,mn6,mn7,mn8,mn9,mn10,mn11,mn12:integer; nn1,nn2,nn3,nn4,nn5,nn6,nn7,nn8,nn9,nn10,nn11,nn12:integer; kn1,kn2,kn3,kn4,ln1,ln2,ln3,ln4:integer; tk,yk:integer; 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; { створити жовтий пензель } car1:=Tcar.Create; car1.carbuild(Form1.Canvas); car1.track(Form1.Canvas); car1.move(Form1.Canvas); // tramplin //mashuna //ruh //do trampliny end; end; end. Car.pas unit Car; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls; type Tcar = class(TObject) n, x, y,g1,yp:integer; Fi:real; t,r,g,yzz: double; xr,yr:integer; xz,yz,k: integer; m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12:integer; n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12:integer; k1,k2,k3,k4,l1,l2,l3,l4:integer; x0,y0:integer; mn1,mn2,mn3,mn4,mn5,mn6,mn7,mn8,mn9,mn10,mn11,mn12:integer; nn1,nn2,nn3,nn4,nn5,nn6,nn7,nn8,nn9,nn10,nn11,nn12:integer; kn1,kn2,kn3,kn4,ln1,ln2,ln3,ln4:integer; tk,yk:integer; procedure track(c:TCanvas); procedure carbuild(c:TCanvas); procedure move(c:TCanvas); end; implementation procedure TCar.track(c:Tcanvas); begin with c do begin Pen.Color := clBlack; moveto(0,400); lineto(330,400); lineto(520,335); lineto(520,400); lineto(1100,400); end; end; procedure Tcar.carbuild(c:Tcanvas); begin with c do begin xr:=0; yr:=0; Pen.Color := clred; Ellipse(10+xr,380+yr,30+xr,400+yr); Ellipse(60+xr,380+yr,80+xr,400+yr); moveto(30+xr,390+yr); lineto(60+xr,390+yr); moveto(80+xr,390+yr); lineto(90+xr,390+yr); lineto(90+xr,370+yr); lineto(65+xr,370+yr); lineto(55+xr,360+yr); lineto(35+xr,360+yr); lineto(20+xr,370+yr); lineto(10+xr,370+yr); lineto(10+xr,390+yr); Pen.Color := clred; end; end; procedure Tcar.move(c:Tcanvas); begin with c do begin while (xr<260) do begin Sleep(1); //sturannya mashunu Pen.Color := clwhite; Brush.Color := clwhite; Ellipse(10+xr,380+yr,30+xr,400+yr); Ellipse(60+xr,380+yr,80+xr,400+yr); moveto(30+xr,390+yr); lineto(60+xr,390+yr); moveto(80+xr,390+yr); lineto(90+xr,390+yr); lineto(90+xr,370+yr); lineto(65+xr,370+yr); lineto(55+xr,360+yr); lineto(35+xr,360+yr); lineto(20+xr,370+yr); lineto(10+xr,370+yr); lineto(10+xr,390+yr); //malyvannya za novumu koot=rdunatamu xr:=xr+1; Pen.Color := clred; Brush.Color := clblack; Ellipse(10+xr,380+yr,30+xr,400+yr); Ellipse(60+xr,380+yr,80+xr,400+yr); moveto(30+xr,390+yr); lineto(60+xr,390+yr); moveto(80+xr,390+yr); lineto(90+xr,390+yr); lineto(90+xr,370+yr); lineto(65+xr,370+yr); lineto(55+xr,360+yr); lineto(35+xr,360+yr); lineto(20+xr,370+yr); lineto(10+xr,370+yr); lineto(10+xr,390+yr); end; //znovy sturannya //sturannya mashunu Pen.Color := clwhite; Brush.Color := clwhite; Ellipse(10+xr,380+yr,30+xr,400+yr); Ellipse(60+xr,380+yr,80+xr,400+yr); moveto(30+xr,390+yr); lineto(60+xr,390+yr); moveto(80+xr,390+yr); lineto(90+xr,390+yr); lineto(90+xr,370+yr); lineto(65+xr,370+yr); lineto(55+xr,360+yr); lineto(35+xr,360+yr); lineto(20+xr,370+yr); lineto(10+xr,370+yr); lineto(10+xr,390+yr); //ruh po tramplinu fi:=-24; x0:=0 ; y0:=0; Fi := fi* Pi / 180; yr:=400; xr:=280; m1:=30; m2:=60; m3:=80; m4:=90; m5:=90; m6:=65; m7:=55; m8:=35; m9:=20; m10:=10; m11:=10; n1:=390; n2:=390; n3:=390; n4:=390; n5:=370; n6:=370; n7:=360; n8:=360; n9:=370; n10:=370; n11:=390; k1:=10; k2:=30; k3:=60; k4:=80; l1:=380; l2:=400; l3:=380; l4:=400; x0:=40+xr; y0:=yr-15; mn1:= x0 + round((cos(fi) * (m1 - x0)) - (sin(fi) * (n1 - y0))); nn1:= y0 + round((sin(fi) * (m1 - x0)) + (cos(fi) * (n1 - y0))); mn2:= x0 + round((cos(fi) * (m2 - x0)) - (sin(fi) * (n2 - y0))); nn2:= y0 + round((sin(fi) * (m2 - x0)) + (cos(fi) * (n2 - y0))); mn3:= x0 + round((cos(fi) * (m3 - x0)) - (sin(fi) * (n3 - y0))); nn3:= y0 + round((sin(fi) * (m3 - x0)) + (cos(fi) * (n3 - y0))); mn4:= x0 + round((cos(fi) * (m4 - x0)) - (sin(fi) * (n4 - y0))); nn4:= y0 + round((sin(fi) * (m4 - x0)) + (cos(fi) * (n4 - y0))); mn5:= x0 + round((cos(fi) * (m5 - x0)) - (sin(fi) * (n5 - y0))); nn5:= y0 + round((sin(fi) * (m5 - x0)) + (cos(fi) * (n5 - y0))); mn6:= x0 + round((cos(fi) * (m6 - x0)) - (sin(fi) * (n6 - y0))); nn6:= y0 + round((sin(fi) * (m6 - x0)) + (cos(fi) * (n6 - y0))); mn7:= x0 + round((cos(fi) * (m7 - x0)) - (sin(fi) * (n7 - y0))); nn7:= y0 + round((sin(fi) * (m7 - x0)) + (cos(fi) * (n7 - y0))); mn8:= x0 + round((cos(fi) * (m8 - x0)) - (sin(fi) * (n8 - y0))); nn8:= y0 + round((sin(fi) * (m8 - x0)) + (cos(fi) * (n8 - y0))); mn9:= x0 + round((cos(fi) * (m9 - x0)) - (sin(fi) * (n9 - y0))); nn9:= y0 + round((sin(fi) * (m9 - x0)) + (cos(fi) * (n9 - y0))); mn10:= x0 + round((cos(fi) * (m10 - x0)) - (sin(fi) * (n10 - y0))); nn10:= y0 + round((sin(fi) * (m10 - x0)) + (cos(fi) * (n10 - y0))); mn11:= x0 + round((cos(fi) * (m11 - x0)) - (sin(fi) * (n11 - y0))); nn11:= y0 + round((sin(fi) * (m11 - x0)) + (cos(fi) * (n11 - y0))); kn1:= x0 + round((cos(fi) * (k1 - x0)) - (sin(fi) * (l1 - y0))); ln1:= y0 + round((sin(fi) * (k1 - x0)) + (cos(fi) * (l1 - y0))); kn2:= x0 + round((cos(fi) * (k2 - x0)) - (sin(fi) * (l2 - y0))); ln2:= y0 + round((sin(fi) * (k2 - x0)) + (cos(fi) * (l2 - y0))); kn3:= x0 + round((cos(fi) * (k3 - x0)) - (sin(fi) * (l3 - y0))); ln3:= y0 + round((sin(fi) * (k3 - x0)) + (cos(fi) * (l3 - y0))); kn4:= x0 + round((cos(fi) * (k4 - x0)) - (sin(fi) * (l4 - y0))); ln4:= y0 + round((sin(fi) * (k4 - x0)) + (cos(fi) * (l4 - y0))); //malyvannya za novumu koordunatamu // xr:=xr+1; Pen.Color := clred; Brush.Color := clblack; //Ellipse(kn1+xr,ln1-120,kn2+xr,ln2-120); //Ellipse(kn3+xr,ln3-120,kn4+xr,ln4-120); Ellipse(320,380,340,400); Ellipse(360,360,380,380); moveto(mn1+xr,nn1-120); lineto(mn2+xr,nn2-120); moveto(mn3+xr,nn3-120); lineto(mn4+xr,nn4-120); lineto(mn5+xr,nn5-120); lineto(mn6+xr,nn6-120); lineto(mn7+xr,nn7-120); lineto(mn8+xr,nn8-120); lineto(mn9+xr,nn9-120); lineto(mn10+xr,nn1-120); lineto(mn11+xr,nn11-120); yp:=0; tk:=0; yk:=0; while (xr<460) do begin Sleep(20); // sturannya mashunu Pen.Color := clwhite; Brush.Color := clwhite; Ellipse(320+tk,380-yk,340+tk,400-yk); Ellipse(360+tk,360-yk,380+tk,380-yk); moveto(mn1+xr,nn1-120-yp); lineto(mn2+xr,nn2-120-yp); moveto(mn3+xr,nn3-120-yp); lineto(mn4+xr,nn4-120-yp); lineto(mn5+xr,nn5-120-yp); lineto(mn6+xr,nn6-120-yp); lineto(mn7+xr,nn7-120-yp); lineto(mn8+xr,nn8-120-yp); lineto(mn9+xr,nn9-120-yp); lineto(mn10+xr,nn1-120-yp); lineto(mn11+xr,nn11-120-yp); //maluvannya Pen.Color := clred; Brush.Color := clblack; xr:=xr+3; yp:=yp+1; tk:=tk+3; yk:=yk+1; Ellipse(320+tk,380-yk,340+tk,400-yk); Ellipse(360+tk,360-yk,380+tk,380-yk); moveto(mn1+xr,nn1-120-yp); lineto(mn2+xr,nn2-120-yp); moveto(mn3+xr,nn3-120-yp); lineto(mn4+xr,nn4-120-yp); lineto(mn5+xr,nn5-120-yp); lineto(mn6+xr,nn6-120-yp); lineto(mn7+xr,nn7-120-yp); lineto(mn8+xr,nn8-120-yp); lineto(mn9+xr,nn9-120-yp); lineto(mn10+xr,nn1-120-yp); lineto(mn11+xr,nn11-120-yp); Pen.Color := clblack; moveto(330,400); lineto(520,335); end; //polit mashunu // sturannya mashunu Pen.Color := clwhite; Brush.Color := clwhite; Ellipse(320+tk,380-yk,340+tk,400-yk); Ellipse(360+tk,360-yk,380+tk,380-yk); moveto(mn1+xr,nn1-120-yp); lineto(mn2+xr,nn2-120-yp); moveto(mn3+xr,nn3-120-yp); lineto(mn4+xr,nn4-120-yp); lineto(mn5+xr,nn5-120-yp); lineto(mn6+xr,nn6-120-yp); lineto(mn7+xr,nn7-120-yp); lineto(mn8+xr,nn8-120-yp); lineto(mn9+xr,nn9-120-yp); lineto(mn10+xr,nn1-120-yp); lineto(mn11+xr,nn11-120-yp); k:=0; xr:=500; yr:=-75; while (xr<1000) do begin Sleep(1); //sturannya mashunu Pen.Color := clwhite; Brush.Color := clwhite; Ellipse(10+xr,380+yr,30+xr,400+yr); Ellipse(60+xr,380+yr,80+xr,400+yr); moveto(30+xr,390+yr); lineto(60+xr,390+yr); moveto(80+xr,390+yr); lineto(90+xr,390+yr); lineto(90+xr,370+yr); lineto(65+xr,370+yr); lineto(55+xr,360+yr); lineto(35+xr,360+yr); lineto(20+xr,370+yr); lineto(10+xr,370+yr); lineto(10+xr,390+yr); //malyvannya za novumu koot=rdunatamu xr:=xr+2; k:=k+1; if yr=0 then k:=-100000; if k=3 then begin yr:=yr+1; k:=0; end; Pen.Color := clred; Brush.Color := clblack; Ellipse(10+xr,380+yr,30+xr,400+yr); Ellipse(60+xr,380+yr,80+xr,400+yr); moveto(30+xr,390+yr); lineto(60+xr,390+yr); moveto(80+xr,390+yr); lineto(90+xr,390+yr); lineto(90+xr,370+yr); lineto(65+xr,370+yr); lineto(55+xr,360+yr); lineto(35+xr,360+yr); lineto(20+xr,370+yr); lineto(10+xr,370+yr); lineto(10+xr,390+yr); end; end; end; end. Результати  Висновок: я створив проект Delphi для побудови рухомих графічних зображень. Рух і зміну об’єктів реалізував за допомогою відповідних методів класу.
Антиботан аватар за замовчуванням

31.03.2013 00:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!