все процедуры переделал, но не могу разобраться с флагами( устанавливают последовательность )
uses crt,graph;
var gd,gm,i,x,y:integer;
fl:boolean;
procedure die_down(var x,y:integer);
begin
if fl=true then
repeat
setcolor(black);
circle(x,y,10);
inc(x);dec(y);
setcolor(white);
circle(x,y,10);
delay(1000);
fl:=true;
until ((x=32)or(x=610))or(y=11)
else
repeat
setcolor(black);
circle(x,y,10);
dec(x);dec(y);
setcolor(white);
circle(x,y,10);
delay(1000);
fl:=false;
until ((x=32)or(x=610))or(y=11);
end;
procedure die_up(var x,y:integer);
begin
if fl=true then
repeat
setcolor(black);
circle(x,y,10);
inc(x);inc(y);
setcolor(white);
circle(x,y,10);
delay(1000);
fl:=true;
until ((x=32)or(x=610))or(y=229)
else
repeat
setcolor(black);
circle(x,y,10);
dec(x);inc(y);
setcolor(white);
circle(x,y,10);
delay(1000);
fl:=false;
until ((x=32)or(x=610))or(y=229);
end;
procedure die_left(var x,y:integer);
begin
if fl=true then
repeat
setcolor(black);
circle(x,y,10);
inc(x);dec(y);
setcolor(white);
circle(x,y,10);
delay(1000);
fl:=true;
until (y=229)or(y=11)
else
repeat
setcolor(black);
circle(x,y,10);
dec(x);dec(y);
setcolor(white);
circle(x,y,10);
delay(1000);
fl:=false;
until (y=229)or(y=11);
end;
procedure die_right(var x,y:integer);
begin
if fl=true then
repeat
fl:=true;
setcolor(black);
circle(x,y,10);
dec(x);inc(y);
setcolor(white);
circle(x,y,10);
delay(1000);
fl:=true;
until (y=229)or(y=11)
else
repeat
setcolor(black);
circle(x,y,10);
dec(x);dec(y);
setcolor(white);
circle(x,y,10);
delay(1000);
fl:=false;
until (y=229)or(y=11);
end;
procedure die_go(var x,y:integer);
begin
while y<>229 do
begin
setcolor(black);
circle(x,y,10);
inc(x);inc(y);
setcolor(white);
circle(x,y,10);
delay(1000);
end;
end;
begin
clrscr;
gd:=detect;
initgraph(gd,gm,'..\bgi');
if graphresult=grok then
begin
x:=220;
y:=140;
setcolor(white);
line(0,240,640,240);
circle(x,y,10);
die_go(x,y);
while true do
begin
if y=229 then die_down(x,y);
if y=11 then die_up(x,y);
if x=610 then die_right(x,y);
if x=32 then die_left(x,y);
end;
end;
readkey;
closegraph;
end.
Сообщение отредактировано: kr3v3tkus -