Нарисовать дом и заставить его двигаться в произвольном направлении - Turbo Pascal

Формулировка задачи:

Привет всем. Помогите разобраться с движением объектов в турбо паскаль. Необходимо нарисовать дом и заставить его двигаться в произвольном направлении. Дом нарисовал, но перемещать его не получается. Заранее благодарю! Собственно код:
program L10;
uses crt,graph;
var gd,gm,dr,m:integer;
x,y,dx,dy:integer;
ptr:pointer;
size:integer;
leftX, leftY,rightX,rightY:integer;
i:integer;
 
Procedure Dom;
begin
gd := detect;
initgraph(gd,gm,'c:\tp7\BGI');
line(100,100,100,200);
line(100,200,200,200);
line(200,200,200,100);
line(100,100,200,100);
line(100,100,150,50);
line(150,50,200,100);
readln;
end;
 
procedure Move;
begin
x:=leftX; y:=leftY;
dx:=10; dy:=10;
repeat
x:=x+dx;
y:=y+dy;
putimage(X,Y,ptr^,xorput);
delay(2000);
putimage(X,Y,ptr^,xorput);
if (x>640) or (x<0)
then dx:=-dx
else
if(y<0) or (y>480) then dy:=-dy;
until keypressed;
end;
begin
Dom;
Move;
end.


textual

Код к задаче: «Нарисовать дом и заставить его двигаться в произвольном направлении - Turbo Pascal»

program L10;
uses crt,graph;
var gd,gm:integer;
    x,y,dx,dy:integer;
    ptr:pointer;
    size:integer;
begin
gd := detect;
initgraph(gd,gm,'c:\tp7\BGI');
line(100,100,100,200);
line(100,200,200,200);
line(200,200,200,100);
line(100,100,200,100);
line(100,100,150,50);
line(150,50,200,100);
size:=imagesize(100,50,200,200);
getmem(ptr,size);
getimage(100,50,200,200,ptr^);
putimage(100,50,ptr^,xorput);
x:=10;
y:=10;
dx:=10;dy:=10;
repeat
x:=x+dx;
y:=y+dy;
putimage(X,Y,ptr^,xorput);
delay(100);
putimage(X,Y,ptr^,xorput);
if (x>520) or (x<10)then dx:=-dx
else
if(y<10) or (y>310) then dy:=-dy;
until keypressed;
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

11   голосов, оценка 4.364 из 5

Источник
Похожие ответы