Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2010, 18:02   #1
СветланаRerum
Пользователь
 
Регистрация: 07.12.2009
Сообщений: 10
По умолчанию Паскаль.ООП.Графика.

СКажите ,пожалуйста ,как сделать ,чтобы и объект и его наследник одновременно появились на экране???
со своими методами движения.. По отдельности в программах они очень даже и ничего выглядят,а так и не хотят..1й только появляется,главный.
Помогите,пожалуйста,этой ночью уже добить прогу..
Program Examp_37;
Uses crt, graph;
type
Shape1=object
a,b:real;
constructor init(x,y:real);
procedure show;virtual;
destructor done;
end;
shape2=object(shape1)
m,n:real;
constructor Init(z,h:real);
procedure show;virtual;
end;
constructor shape1.init;
begin a:=x; b:=y;
end;
procedure shape1.show;
var t:real;f:integer; p :real;
begin
setcolor(1);
setbkcolor(20);
t:=0;
repeat t:=t+0.15;
for f:=0 to 628 do begin
p:=120*cos(0.3*f);
a:=p*cos(f/10+t)+320; b:=p*sin(f/10)+170;
putpixel(round(a),round(b),15); end;

for f:=0 to 628 do begin p:=120*cos(0.3*f);
a:=p*cos(f/10+t)+320; b:=p*sin(f/10)+170;
putpixel(round(a),round(b),black);
end;

delay(10);
until keypressed;
end;
destructor shape1.done;
begin
end;
constructor shape2.init;
begin
m:=z;n:=h;
end;
procedure shape2.show;
var t1:real; f1: integer;
begin
t1:=0;
repeat t1:=t1+0.05;
for f1:=93 downto -93
do begin m:=(2*f1-40*sin(f1/10))*cos(f1)+320;
n:=-20+40*cos(f1/10)+430;
putpixel(round(m),round(n),red);
end;
for f1:=93 downto -93
do begin m:=(2*f1-40*sin(f1/10))*cos(f1)+320;
n:=-20+40*cos(f1/10)+430;
putpixel(round(m),round(n),black);
end;
until keypressed;
end;

Var
s1:shape1; s2:shape2;
f:Integer;
driver, mode, error:Integer;
s:string;
Begin
driver:=detect;
s:='';
Initgraph(driver,mode,s);
error:=GraphResult;
if error<>GrOk then
begin
writeln(GraphErrorMsg(Error));
Halt(error) end;
Begin
s1.init(2,3);
s1.show;
s1.done;
s2.init(5,8);
s2.show; s2.done;
end;
closegraph;End.
СветланаRerum вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Такое дело..:\ графика с элементами ООП.. СветланаRerum Паскаль, Turbo Pascal, PascalABC.NET 0 04.10.2010 01:08
ООП, Паскаль, графика random7 Помощь студентам 10 24.11.2009 15:37
Паскаль ООП. Примеры программ с использованием ООП SeЯgey Помощь студентам 5 13.05.2009 21:55
графика, паскаль, ООП HoOpe Помощь студентам 18 25.03.2009 12:38
2 задачки по ООП Паскаль. по цене договоримся thebestneo Фриланс 1 21.12.2008 19:32