program d;
uses crt,graph;
const n=11;
var kosta:boolean;
type
Point=record
x,y:integer;
end;
mas=array[1..n] of Point;
procedure Z(x,y:integer;var m:mas;c:byte);
var i:byte;
begin
Setcolor(c);
m[1].x:=x;m[1].y:=y;
m[2].x:=x+50;m[2].y:=y;
m[3].x:=x+50;m[3].y:=y+5;
m[4].x:=x+7;m[4].y:=y+45;
m[5].x:=x+50;m[5].y:=y+45;
m[6].x:=x+50;m[6].y:=y+50;
m[7].x:=x;m[7].y:=y+50;
m[8].x:=x;m[8].y:=y+45;
m[9].x:=x+43;m[9].y:=y+5;
m[10].x:=x;m[10].y:=y+5;
m[11].x:=x;m[11].y:=y;
moveto(m[1].x,m[1].y);
for i:=1 to n do
lineto(m[i].x,m[i].y);
Setfillstyle(1,c);
Floodfill((m[1].x+m[2].x) div 2,(m[1].y+m[10].y) div 2,c);
end;
var gd,gm:integer;
x,y,x1,y1:integer;
p:mas;
c1,c2:byte;
k:char;
move:boolean;
begin
gd:=detect;
Initgraph(gd,gm,'');
Setbkcolor(13);
x:=340;y:=240;
c1:=7;c2:=13;
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=true then
begin
Z(x1,y1,p,c2);
Z(x,y,p,c1);
move:=false;
end;
until kosta=true;
closegraph
end.
cHJvZ3JhbSBkOwp1c2VzIGNydCxncmFwaDsKY29uc3Qgbj0xMTsKdmFyIGtvc3RhOmJvb2xlYW47CnR5cGUKUG9pbnQ9cmVjb3JkCiAgICAgICAgICAgeCx5OmludGVnZXI7CiAgICAgICAgICAgZW5kOwptYXM9YXJyYXlbMS4ubl0gb2YgUG9pbnQ7CnByb2NlZHVyZSBaKHgseTppbnRlZ2VyO3ZhciBtOm1hcztjOmJ5dGUpOwp2YXIgaTpieXRlOwpiZWdpbgpTZXRjb2xvcihjKTsKbVsxXS54Oj14O21bMV0ueTo9eTsKbVsyXS54Oj14KzUwO21bMl0ueTo9eTsKbVszXS54Oj14KzUwO21bM10ueTo9eSs1OwptWzRdLng6PXgrNzttWzRdLnk6PXkrNDU7Cm1bNV0ueDo9eCs1MDttWzVdLnk6PXkrNDU7Cm1bNl0ueDo9eCs1MDttWzZdLnk6PXkrNTA7Cm1bN10ueDo9eDttWzddLnk6PXkrNTA7Cm1bOF0ueDo9eDttWzhdLnk6PXkrNDU7Cm1bOV0ueDo9eCs0MzttWzldLnk6PXkrNTsKbVsxMF0ueDo9eDttWzEwXS55Oj15KzU7Cm1bMTFdLng6PXg7bVsxMV0ueTo9eTsKbW92ZXRvKG1bMV0ueCxtWzFdLnkpOwpmb3IgaTo9MSB0byBuIGRvCmxpbmV0byhtW2ldLngsbVtpXS55KTsKU2V0ZmlsbHN0eWxlKDEsYyk7CkZsb29kZmlsbCgobVsxXS54K21bMl0ueCkgZGl2IDIsKG1bMV0ueSttWzEwXS55KSBkaXYgMixjKTsKZW5kOwp2YXIgZ2QsZ206aW50ZWdlcjsKICAgIHgseSx4MSx5MTppbnRlZ2VyOwogICAgcDptYXM7CiAgICBjMSxjMjpieXRlOwogICAgazpjaGFyOwogICAgbW92ZTpib29sZWFuOwpiZWdpbgpnZDo9ZGV0ZWN0OwpJbml0Z3JhcGgoZ2QsZ20sJycpOwpTZXRia2NvbG9yKDEzKTsKeDo9MzQwO3k6PTI0MDsKYzE6PTc7YzI6PTEzOwptb3ZlOj10cnVlOwpyZXBlYXQKaWYga2V5cHJlc3NlZCB0aGVuCiAgYmVnaW4KICAgIGs6PXJlYWRrZXk7CiAgICBpZiBrPSM4MCB0aGVuCiAgICAgIGJlZ2luCiAgICAgICAgeTE6PXk7CiAgICAgICAgeDE6PXg7CiAgICAgICAgeTo9eSs1OwogICAgICAgIG1vdmU6PXRydWU7CiAgICAgIGVuZDsKICAgIGlmIGs9IzcyIHRoZW4KICAgICAgYmVnaW4KICAgICAgICB5MTo9eTsKICAgICAgICB4MTo9eDsKICAgICAgICB5Oj15LTU7CiAgICAgICAgbW92ZTo9dHJ1ZTsKICAgICAgZW5kOwogICAgaWYgaz0jNzcgdGhlbgogICAgICBiZWdpbgogICAgICAgIHkxOj15OwogICAgICAgIHgxOj14OwogICAgICAgIHg6PXgrNTsKICAgICAgICBtb3ZlOj10cnVlOwogICAgICBlbmQ7CiAgICBpZiBrPSM3NSB0aGVuCiAgICAgIGJlZ2luCiAgICAgICAgeTE6PXk7CiAgICAgICAgeDE6PXg7CiAgICAgICAgeDo9eC01OwogICAgICAgIG1vdmU6PXRydWU7CiAgICAgIGVuZDsKICBlbmQ7CmlmIG1vdmU9dHJ1ZSB0aGVuCiAgYmVnaW4KICAgWih4MSx5MSxwLGMyKTsKICAgWih4LHkscCxjMSk7CiAgIG1vdmU6PWZhbHNlOwogIGVuZDsKdW50aWwga29zdGE9dHJ1ZTsKY2xvc2VncmFwaAplbmQu