Показать сообщение отдельно
Старый 12.05.2015, 17:07   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070