Создать объект «линия» рисующий на экране линию с заданными координатами, цветом и толщиной. От объекта «линия» создать дочерний объект «квадрат» рисующий на экране квадрат. От объекта «квадрат» создать дочерний объект «движущийся квадрат». Позволяющий двигать квадрат по экрану в соответствии с нажатыми клавишами — Pascal(Паскаль)

uses crt,graph;
var gd,gm:integer;
 
procedure MoveRect;
var x,y,x1,y1:integer;
    c1,c2:byte;
    k:char;
    move:boolean;
begin
x:=280;y:=200;
c1:=12;c2:=0;
move:=true;
repeat
if keypressed then
  begin
    k:=readkey;
    if k=#80 then
      begin
        y1:=y;
        x1:=x;
        y:=y+5;
        move:=true;
      end;
    if k=#72 then
      begin
        y1:=y;
        x1:=x;
        y:=y-5;
        move:=true;
      end;
    if k=#77 then
      begin
        y1:=y;
        x1:=x;
        x:=x+5;
        move:=true;
      end;
    if k=#75 then
      begin
        y1:=y;
        x1:=x;
        x:=x-5;
        move:=true;
      end;
  end;
if move then
  begin
   Setcolor(c2);
   Rectangle(x1,y1,x1+80,y1+80);
   Setcolor(c1);
   Rectangle(x,y,x+80,y+80);
   move:=false;
  end;
until k=#27;
end;
begin
gd:=detect;
Initgraph(gd,gm,'');
OutTextXY(100,20,'Uprawlenye strelkami,  Vyhod-Esc;');
MoveRect;
closegraph
end.

Leave a Comment

79 + = 86