Цитата:
Сообщение от BerGmaN
Ну да без вставок примерно выходит что то такое.
program kvadrat;
uses graph;
begin
InitGraph(9, 2, 'D:\tp7\bgi');
SetColor(3);
Rectangle(100,100,200,200);
repeat until keypressed;
CloseGraph;
end.
|
Ну уж, положим, не так просто! А, например, так (за запуск графического режима - не отвечаю, это уж Вы сами):
Код:
Uses CRT, Graph;
Var
C:Char;
Color,X1,Y1,X2,Y2:Word;
Procedure Sq(Xc,Yc:Word; Clr:Word);
begin
SetColor(Clr);
Rectangle(Xc-50,Yc-50,Xc+50,Yc+50);
end;
Procedure ReDraw(Xold,Yold,Xnew,Ynew:Word);
var Col:Word;
begin
Col:=GetBkColor;
Sq(Xold,Yold,Col);
Col:=14;
Sq(Xnew,Ynew,Col);
end;
Begin
InitGraph(9, 2, 'D:\tp7\bgi');
SetTextJustify(CenterText,BottomText);
OutTextXY((GetMaxX div 2),GetMaxY-6,'Press "Esc" to stop the action');
SetLineStyle(SolidLn,0,ThickWidth);
X1:=GetMaxX div 2;
Y1:=GetMaxY div 2;
Color:=14;
Sq(X1,Y1,Color);
Repeat
Repeat Until KeyPressed;
C:=ReadKey;
Case C of
#72: begin
if Y1>54 then
begin
X2:=X1;
Y2:=Y1-5;
end else
begin
X2:=X1;
Y2:=Y1;
end;
Redraw(X1,Y1,X2,Y2);
X1:=X2;
Y1:=Y2;
end;
#75: begin
if X1>54 then
begin
X2:=X1-5;
Y2:=Y1;
end else
begin
X2:=X1;
Y2:=Y1;
end;
Redraw(X1,Y1,X2,Y2);
X1:=X2;
Y1:=Y2;
end;
#77: begin
if X1<GetMaxX-54 then
begin
X2:=X1+5;
Y2:=Y1;
end else
begin
X2:=X1;
Y2:=Y1;
end;
Redraw(X1,Y1,X2,Y2);
X1:=X2;
Y1:=Y2;
end;
#80: begin
if Y1<GetMaxY-74 then
begin
X2:=X1;
Y2:=Y1+5;
end else
begin
X2:=X1;
Y2:=Y1;
end;
Redraw(X1,Y1,X2,Y2);
X1:=X2;
Y1:=Y2;
end;
end;
Until C=#27;
CloseGraph;
End.